如果我有下面的功能,那么在你输入(必须)你的名字和姓后然后选择一个单选按钮但是我想设置一个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";
}
提前致谢
答案 0 :(得分: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']
来获取值。
希望这有帮助
答案 1 :(得分:1)
我确定您在此页面上有提交按钮。单击提交按钮使用javascript设置cookie,下次当用户进入此页面时,检查是否使用php设置了cookie,如果是,则闪烁欢迎回来的消息。