【问题标题】:php form header and cookie problemsphp表单头和cookie问题
【发布时间】:2011-06-30 00:07:18
【问题描述】:

谁能看到为什么我的两个文件不起作用?我将 cookie 数据放在顶部,所以我不确定为什么我仍然会收到标题错误。 (顺便说一句,我必须在这里使用 cookie,而不是会话,所以我必须使用我所拥有的)

    <?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'];
?>

【问题讨论】:

  • 一般来说,错误信息会告诉错误发生在哪里。你的错误信息是什么意思?
  • 如果您不使用会话,为什么要设置 $_SESSION?另外,标题错误来自哪个文件和行?
  • 您的 php 标签

标签: php forms cookies


【解决方案1】:
    <?php
ob_start();
?>

请注意您打开 &lt;?php 之前的 4 个空格。由于这些出现在 php 开始标记之前,因此它们被视为输出。如果你想在整个过程中输出缓冲区和输出标题,PHP 的开始标记必须绝对是文件中的第一件事。这包括 unicode BOM、空格等...

【讨论】:

    【解决方案2】:

    删除这一行:

    header("Location:form_data.php");
    

    该行将重定向到 form_data.php。但您在 form_data 文件中 => 重定向循环

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多