php cookie和会话变量表单


php cookies and session variables form

我正在尝试创建一个简单的表单/页面,它使用一些基本的cookie和会话内容来生成一些特定于用户的数据。我一直过得很好,直到遇到了一些我无法解决的问题。在我的第一个页面上,除了我只想要用户正在使用的浏览器的名称之外,一切都很好。(例如,我只想要一个简单的标题:Firefox,而不是整个长版本的浏览器。)我见过这样做,所以我认为这是可能的,我只是不知道如何做到!

我真正的问题就出现在这里,因为我不确定如何将IP地址、浏览器信息和当前日期/时间(我希望在第2页显示)存储为会话变量。尝试了一些我发现的东西,但我认为我做得不对。

我还无休止地尝试将用户名和密码分别存储为两个独立的cookie。。。建议?最后,我需要做些什么才能有一个带有输出缓冲的位置头(用于调用form_data.php)?我觉得我一直在关注cookie/会话,直到我真正尝试使用它们!

正如你所知,我是PHP的新手(但不是一般的编程),所以虽然我对其中的一些有所了解,但我正在努力学习(并掌握)PHP的独特品质!我将非常感谢你能提供的任何帮助!

代码时间!(考虑到我可能做错了所有事情,我不确定这会有多大帮助!哈哈)这是我代码的一个完全精简的版本。尝试发布我最干净的版本,尽管它没有太多信息,这样你就可以很容易地看到我想做什么。

主文件代码:

<?php
header('Location: form_data.php');

 setcookie('username', $_POST['username']);
 setcookie('password', $_POST['password']);
 //I know this isn't working.
 //honestly I just left this in here as to show where I had been
 //trying to save the cookie data. Pretty obvious how bad my
 //trial and error with this went!
 }
 ?>

 <?php
 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
 echo " By the way, your IP address is: </b>".$_SESSION['ip']."<br />";
 echo " You already know this, but the browser you are currently using
 to view this page is:<br/>";  //What is the correct function that I should be using here?
 echo "<form action='"form_data.php'" method='"post'">";
 echo "username:<input type='"text'" name='"username'" size='"20'" value='"'"><br/>";
 echo "password:<input type='"password'" name='"password'" size='"20'" value='"'"><br/>";
 echo "<input type='"submit'" value='"Submit, please'" />";
 echo "<br /><input type='"hidden'" name='"submitted'" value='"true'" />";
 ?>

form_data.php:

    <?php
echo "Hello, ".$username;//I'm trying to get the cookie data for the username
echo "Your password is ".$password; //Samething here (want cookie data)
echo "The date and time you entered this form is: ".date("F j, Y")." -- ".date("g:i a");
echo "<br/>Your IP:".$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
echo "<br/>Your broswer:".;//I want full browser data here... don't know how to do it.
//Overall, was this the way to get the session variables for IP, date/time and browser?
echo  "Thank you for filling out this form!";
?>

根据我在其他地方的评论,您永远不应该将密码和用户名存储在cookie中。

我只想要浏览器的名称

请参阅get_browser()fn

不完全确定如何存储IP地址。。。。但我认为我做得不对

如果你告诉我们你期望看到的和你实际看到的,那将是一个帮助。

您没有在代码中调用session_start()。

标头("位置:form_data.php");。。。?>

除非您明确告诉PHP代码忽略用户中止,否则此页面上的其余代码可能不会执行。

为什么要在会话中存储IP地址?

最后,我需要做些什么才能有一个带有输出缓冲的位置头(用于调用form_data.php)?

虽然从技术上讲,使用重定向标头包含内容是可能的,但通常浏览器会忽略它。如果你想在用户操作系统发送到下一页之前将内容显示在屏幕上,那么返回200响应,并通过javascript或元刷新指令进行重定向。