任何人都可以看到我的两个文件无效的原因吗?我将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'];
?>
答案 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。窃取这些密码真的很容易