PHP файлы cookie и переменные сессии - PullRequest
0 голосов
/ 27 июня 2011

Я пытаюсь создать простую форму / страницу, которая использует некоторые базовые файлы 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!";
?>

1 Ответ

0 голосов
/ 27 июня 2011

Согласно моему комментарию в другом месте, вы НИКОГДА не должны хранить пароли и имена пользователей в файлах cookie.

Я просто хочу НАИМЕНОВАНИЕ браузера

См. get_browser () fn

не совсем уверен, как сохранить IP-адрес, .... но я не думаю, что делал все правильно

Если бы вы сказали нам, что вы ожидали увидеть и что вы на самом деле видели, тогда это была бы помощь.

Вы не вызываете session_start () в своем коде.

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

Если вы явно не скажете коду PHP игнорировать прерывание пользователя, остальная часть кода на этой странице, вероятно, не будет выполнена.

Почему вы пытаетесь сохранить IP-адрес в сеансе?

Наконец, что мне нужно сделать, чтобы иметь заголовок местоположения (используемый для вызова form_data.php) с буферизацией вывода?

Хотя технически возможно включить контент с заголовком перенаправления, обычно браузеры просто игнорируют его. Если вы хотите, чтобы содержимое отображалось на экране до того, как пользователь отправит на следующую страницу, верните ответ 200 и выполните перенаправление с помощью javascript или директивы meta refresh.

...