2

如果我有下面的功能,在你输入(必须)你的名字和姓氏之后,就会选择一个单选按钮,但我想设置一个 cookie,让我们说一分钟或者如果那个人再次回来然后自动让'说那里'将是一条欢迎回复消息,而不是说输入您的姓名并选择一个单选按钮....我该怎么做?

我将此作为我的 1.php 用于询问姓名

echo "<form action='lab17a.php' method='get'>";
echo "First Name: ";
echo "<input type='text' name='fname' /><br/>";
echo "Last Name: ";
echo "<input type='text' name='lname' /><br/>";
echo "Red<input type='radio' name='bgcolor' value='red'><br/>";
echo "Blue<input type='radio' name='bgcolor' value='blue'><br/>";
echo "Yellow<input type='radio' name='bgcolor' value='yellow'><br/>";
echo "Green<input type='radio' name='bgcolor' value='green'><br/>";
echo "<input type='submit'/>";
echo "</form>";

这是提交后的2.php,将测试是否输入了字段...

if(empty($_GET["fname"]) || (empty($_GET["lname"])))
{
    echo "Press the browser's BACK button and enter both names.<br/>You must enter a first name last name";
}
elseif(!(empty($_GET["fname"])) && (!(empty($_GET["lname"]))) && (empty($_GET["bgcolor"])))
{
    echo "Hello " . $_GET["fname"] . " ". $_GET["lname"] . "!<br/>" . "Leaving the background color of the Web page default color (white)";
}
elseif(!(empty($_GET["fname"])) && (!(empty($_GET["lname"]))) && (!empty($_GET["bgcolor"])))
{
echo "<body bgcolor='" . $_GET["bgcolor"] . "'>" . "Hello " . $_GET["fname"] . " ". $_GET["lname"] . "!<br/>" . "Background color changed to the selected color";
}

提前致谢

4

2 回答 2

4

使用 setcookie 方法。它有一个属性,您可以在其中设置过期时间。

更多信息在这里:

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

所以说你的formcheck在2.php中完成并且你没有错误(我在这里使用带有formErrors的字符串,如果它是空的,我设置我的cookie)。

if ($formErrors == "") {
    setcookie("name", $nameValue, time() + 60); // Say you want the cookie to contain the filled in name and you want it to expire in 60 secs.
}

然后在您的 1.php 中检查是否设置了 cookie,如果是,则执行您想要的操作(在您的情况下,显示一条消息)。

if (isset($_COOKIE['name'])) {
    // show your message
}

在您的 if 语句中,您可以使用它$_COOKIE['name']来获取值。希望这可以帮助

于 2013-02-26T08:37:35.163 回答
1

我确定您在此页面上有提交按钮。在点击提交按钮时使用 javascript 设置 cookie,下次当用户访问此页面时检查是否使用 php 设置了该 cookie,如果是,则闪烁一条欢迎回来的消息。

于 2013-02-26T08:38:38.797 回答