我正在尝试创建一个简单的表单/页面,它使用一些基本的cookie和会话内容来生成一些特定于用户的数据。我一直在努力,直到遇到一些我无法弄清楚的问题。在我的第一页上一切都很好,除了我只想要用户正在使用的浏览器的名称。 (例如,我只想要简单的标题:Firefox而不是浏览器的整个长版本。)我已经看到这样做了所以我认为这是可能的,我只是不知道该怎么做!
我真正的问题出现在这里,因为我不确定如何将IP地址,浏览器信息和当前日期/时间(我希望在第2页上显示)存储为会话变量。尝试了一些我找到的东西,但我不认为我做得对。
我还无休止地尝试将用户名和密码存储为两个单独的cookie,每个...建议?最后,我需要做什么才能使用输出缓冲来获得位置标头(用于调用form_data.php)?在我真正尝试使用它们之前,我觉得我正在关注cookie /会话!
正如你所知,我是PHP的新手(但不是一般的编程),所以当我对其中的一些有所了解时,我正在努力学习(并掌握)PHP的独特品质!我将非常感谢您提供的任何帮助!
代码时间! (不确定这会有用,考虑到我可能做错了什么!LOL)这是我的代码的完全精简版本。试图发布我最干净的版本,即使它没有太多的信息,所以你可以很容易地看到我想要做的事情。
主文件代码:
<?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!";
?>
答案 0 :(得分:0)
根据我在其他地方的评论,您绝不应将密码和用户名存储在Cookie中。
我只想要浏览器的NAME
请参阅get_browser() fn
不完全确定如何存储IP地址,....但我不认为我做得对
如果您告诉我们您期望看到的内容以及您实际看到的内容,那么这将是一个帮助。
您没有在代码中调用session_start()。
header('Location:form_data.php'); ... ?&GT;
除非您明确告诉PHP代码忽略用户中止,否则此页面上的其余代码可能无法执行。
为什么要尝试在会话中存储IP地址?
最后,我需要做些什么来获得带有输出缓冲的位置标头(用于调用form_data.php)?
虽然技术上可以包含带有重定向标头的内容,但通常浏览器会忽略它。如果您希望在用户操作系统发送到下一页之前在屏幕上显示内容,则返回200响应并通过javascript或元刷新指令进行重定向。