0

Cookie システムを作成していますが、機能しません。私はこのコードを持っています:

<?php
$cookie = $_GET['cookie'];

if(empty($cookie))
{
    $cookie = '';
}

if($cookie = 'ok') 
{  
    setcookie("terminos", "", time() + 60*60*24*365*10);
}
elseif($cookie = 'no')
{
    ?>
    <div id="pmyr_div">
        <center style="position: relative; top: 50%; margin-top: -23px;margin:auto 0;">
            <img src="cooltext1105916314.png" style="margin-top:20px;" />
            <br><br>
            <big><b>USTED TIENE EL ACCESO DENEGADO A ESTE SITIO POR DENEGAR NUESTROS TÉRMINOS LEGALES.</b></big>
            <br><br>
            <a href="index.php?state=test"><b>De acuerdo, seré un chico bueno.</b></a>
        </center>
    </div>
    <?
}
elseif($cookie = 'test')
{
    setcookie("user", "", time()-60*60*24*365*10);
    header('location: index.php?cookie=raw');
}
elseif($cookie = 'raw')
{
    ?>
    <div id="pmyr_div">
        <center>
            <br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
            <br><br><br><br>
            <a href="index.php?cookie=ok" style="color: #8e1a1a;font-weight:bold;text-decoration:none;cursor:pointer;">SOY MAYOR DE 18 AÑOS</a>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="index.php?cookie=no" style="color: #8e1a1a;font-weight:bold;text-decoration:none;">NO ENTRAR</a>
        </center>
    </div>
    <?
}
elseif(empty($cookie))
{
    ?>
    <div id="pmyr_div">
        <center>
            <br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
            <br><br><br><br>
            <a href="index.php?cookie=ok" style="color: #8e1a1a;font-weight:bold;text-decoration:none;cursor:pointer;">SOY MAYOR DE 18 AÑOS</a>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="index.php?cookie=no" style="color: #8e1a1a;font-weight:bold;text-decoration:none;">NO ENTRAR</a>
        </center>
    </div>
    <?
}

if(isset($_COOKIE["terminos"]))
{
    //page content here
}
elseif(!isset($_COOKIE["terminos"]))
{
    ?>
    <div id="pmyr_div">
        <center>
            <br><b>MUY IMPORTANTE!<br>ES NECESARIO QUE SE LEA NUESTROS TÉRMINOS LEGALES.</b><br><br>Sólo puede entrar en este sitio web <b>si es mayor de 18 años de edad</b>, o al menos la mayoría de edad en la jurisdicción donde usted reside o del que se accede a esta página web.<br><br>Si usted no cumple con estos requisitos, entonces usted NO ESTÁ AUTORIZADO, Y NO DEBE INGRESAR a este sitio web.
            <br><br><br><br>
            <a href="index.php?cookie=ok" style="color: #8e1a1a;font-weight:bold;text-decoration:none;cursor:pointer;">SOY MAYOR DE 18 AÑOS</a>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="index.php?cookie=no" style="color: #8e1a1a;font-weight:bold;text-decoration:none;">NO ENTRAR</a>
        </center>
    </div>
    <?
}
?>

リンクを押してSOY MAYOR DE 18 AÑOSもメッセージが消えません。Cookieが設定されていないと思います。

私に何ができる?

4

2 に答える 2

2

すべてのifandelseifステートメントには、次のようなものがあります。

($cookie = "ok")

そのはず:

($cookie == "ok")

=は代入用、==は比較用です。

Cookie を使用するには、スクリプトの先頭に次のコードを追加します。

$cookie_is_set = isset($_COOKIE['terminos']);

setcookie()呼び出しの後に、次を追加します。

$cookie_is_set = true;

次に、スクリプトの下部で、代わりに

if (isset($_COOKIE['terminos']))

使用する:

if ($cookie_is_set)
于 2013-07-07T18:21:11.370 に答える
1

空の Cookie を設定しています

setcookie("terminos", "/*here you have to put a value*/", time() + 60*60*24*365*10);

http://php.net/manual/en/function.setcookie.php

于 2013-07-07T18:13:38.950 に答える