php表单标题和cookie问题

时间:2011-06-29 15:59:29

标签: php forms cookies

任何人都可以看到我的两个文件无效的原因吗?我将cookie数据放在顶部,所以我不确定为什么我仍然会收到标题错误。 (顺便说一句,我必须在这里使用cookies,而不是会话,所以我必须使用我拥有的东西)

    <?php
ob_start();
?>

<?php

$browser = get_browser();

$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
echo "<b>Welcome user. You ip is: ".$_SESSION['ip']." and your using ".$browser->browser." as your browser.</b>";

echo "<form action=\"form_data.php\" method=\"post\">";
echo "Your username:<input type=\"text\" name=\"username\" size=\"20\"><br/>";
echo "Your password:<input type=\"codeword\" name=\"codeword\" size=\"20\"><br/>";
echo "<input type=\"submit\" value=\"Submit data\" />";
echo "<br /><input type=\"hidden\" name=\"submitted\" value=\"true\" />";
?>

<?php
ob_end_flush();
?>

form_data.php

<?php
setcookie('username',$_POST['username']);
setcookie('password', $_POST['codeword']);
header("Location:form_data.php");

echo "<b>Thanks, </b>".$_COOKIE['username']. " <br />";
echo "Your codeword is ".$_COOKIE['codeword']."<br />";
echo "Started here: ".date("g:i a").", " .date("F j, Y");
echo "<br/>IP Address: ".$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
?>

2 个答案:

答案 0 :(得分:1)

    <?php
ob_start();
?>

请注意开启<?php之前的4个空格。因为那些出现在php开始标记之前,它们被认为是输出。如果你想要输出缓冲区和输出头文件,PHP的开始标记必须绝对是文件中的第一件事。这包括unicode BOM,空白等......

答案 1 :(得分:0)

删除此行:

header("Location:form_data.php");

该行将重定向到form_data.php。但你在form_data文件=&gt;重定向循环

我不会将密码保存为cookie。窃取这些密码真的很容易