猿问

setcookie 在从一个页面到另一个页面的 PHP 中不起作用

早上好,我是一名大学生,我正在尝试做一个关于 PHP 的基本练习,特别是我正在尝试设置一个值为 IT 的 cookie(国家/地区)。任务是打开页面 a,然后单击链接“pagina successiva”(英文下一页)。浏览器将打开页面 b,该页面应读取 cookie Country 的值并可视化(如果存在)。在教授的要求中写道,我不必设置过期时间。这是我的页面a的代码:


<?php

    $value = 'IT';

    setcookie('Country',$value, 0, "", "", TRUE);

?>

<!doctype html>

<html>

    <head>

        <meta charset="utf-8">

        <title>Esercizio 10.1 pagina A</title>

        <meta name="author" content="Pippo Baudo" >

        <link rel="stylesheet" type="text/css" href="../sol10_css/lab10_style.css"> 

    </head>

    <body>

        <h1>Esercizio 10.1a</h1>

        <p>Italia!</p>

        <p><a href='10_1b.php'>Pagina successiva</a></p>

    </body>

</html>

这是我的页面b代码:


<!doctype html>

<html>

    <head>

        <meta charset="utf-8">

        <title>Esercizio 10.1b</title>

        <meta name="author" content="Pippo Baudo" >

        <link rel="stylesheet" type="text/css" href="../sol10_css/lab10_style.css">

    </head>

    <body>

        <h1>Esercizio 10.1 pagina B</h1>

        <?php

            if(isset($_COOKIE["Country"])){

                $nazione = $_COOKIE["Country"];

                echo"<p>Il valore del cookie COUNTRY &egrave; $nazione </p>";}

            else{

                 echo"<p class='err'> ERRORE: Cookie \"Country\" assente</p>";

                 echo"<p><a href='10_1a.php'>Pagina precedente</a></p>";}

        ?>

</body>

</html>

页面 b 上的输出说 cookie 没有设置,所以它不存在。


我不知道我做错了什么。谁能阻止我?


编辑:当我打开页面 a 时出现的错误是:解析错误:语法错误,第 3 行 /app/lab10/10_1/10_1a.php 中的意外“setcookie”(T_STRING)


三国纷争
浏览 138回答 1
1回答

Helenr

我假设您尝试使用不安全的 ( http) 连接访问您的网页,但TRUE作为最后一个参数提供,这意味着:secure:表示 cookie应该只从客户端通过安全的 HTTPS 连接传输。设置为 时TRUE,只有存在安全连接时才会设置 cookie。在服务器端,程序员只能在安全连接上发送这种 cookie(例如关于$_SERVER["HTTPS"])。如果您尝试setcookie('Country', $value, 0, '', '', FALSE);或只是setcookie('Country', $value, 0);保留默认值,它应该可以工作。或者,您可以使用 访问您的页面https。
随时随地看视频慕课网APP
我要回答