|
|
|
| Доброго времени суток!
Прошу прощения за излишнее беспокойство опять же по довольно банальным вопросам (и вот так набирается опыт).
Сегодняшний мой вопрос такой: как можно с одной страницы передать две-три переменные на все страницы сайта?
Пример и то что есть в реальности- делаю вручную регистрацию на сайте и собственно получается так: пользователь регится (логин, пароль, подтверждение пароля, мэйл). данные заносятся в таблицу в БД. Потом пользователь может зайти на сайт уже под имеющимся своим аккаунтом- то есть вводит логин и пароль. После того как он нажимает кнопку "ОК" сверху страницы в шапке показывается его логин. Дальше пользователь может ходить по страничкам сайта и везде вверху будет выводится его логин.
И вот что бы мне очень хотелось узнать- как передать данные об его логине на все страницы? На первой, где он входит, вот такой скрипт:
это форма где вводится логин и пароль
<table>
<form action="Index.php" method="POST">
<tr>
<td>Введите имя</td>
<td><input type="text" name="login" ></td>
</tr>
<tr>
<td>Введите пароль</td>
<td><input type="password" name="password" ></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="OK" name="submit" ></td>
</tr>
</form>
</table>
|
И дальше - обработка
<?php
$log = mysql_real_escape_string($_POST['login']);
$pas = mysql_real_escape_string($_POST['password']);
$result1 =mysql_query("SELECT * FROM `users` WHERE login = '$log'",$gb);
while ($myrow1 = mysql_fetch_array ($result1)) {
printf("
<tr>
<td>%s</td>
</tr>
",$myrow1['login']);
}
?>
|
Это всё на странице Index.php , а нужно каким-то волшебным образом передать данные на другие страницы, без повторных вводов логина и пароля.
Заранее огромнейшее спасибо за помощь!! | |
|
|
|
|
|
|
|
для: Blondy
(17.05.2010 в 17:47)
| | а сессии для кого придумали? | |
|
|
|
|
|
|
|
для: Blondy
(17.05.2010 в 17:47)
| | Сори если что не так, я не читал весь пост, используй сессии $_SESSION['some_var'] = $var, или куки | |
|
|
|
|
|
|
|
для: ШИМ
(17.05.2010 в 17:51)
| | Признаюсь- совершенно не умею пользоваться сессиями. Прочитала пример и попробовала, но совершенно ничего не вышло. Не могли бы подсказать что я напутала и не так?
это из Index.ru
<?php
$log = mysql_real_escape_string($_POST['login']);
$pas = mysql_real_escape_string($_POST['password']);
$result1 =mysql_query("SELECT * FROM `users` WHERE login = '$log'",$gb);
while ($myrow1 = mysql_fetch_array ($result1)) {
printf("
<tr>
<td>%s</td>
</tr>
<tr>
<td>%s</td>
</tr>
",$myrow1['login'],$myrow1['password']);
}
session_start();
$_SESSION['i']=$log;
?>
|
а вот из следующего файла куда хочу передать свою переменную $log
<?php
session_start();
?>
|
и дальше в нём же
<?php
$log1=$_SESSION['i'];
echo $log1;
?>
|
| |
|
|
|
|
|
|
|
для: Blondy
(17.05.2010 в 18:24)
| | session_start() должен выполняться перед любым выводом html'a. | |
|
|
|
|
|
|
|
для: root
(17.05.2010 в 18:42)
| | Спасибо за совет) а не подскажите куда именно надо вставлять session_start(); ?
я попробовала перед самим html документом, в начало body -ничего не получилось пока что | |
|
|
|
|
|
|
|
для: Blondy
(17.05.2010 в 19:52)
| | ставьте сразу после открывающего <?php тега
<?php
session_start();
...
|
[edit]
также поставьте
error_reporting(E_ALL); | |
|
|
|
|
|
|
|
для: root
(17.05.2010 в 19:59)
| | Спасибо огромнейшее за терпение с моим незнанием что и куда ставить.
Я сделала как вы сказали но всё равно выдаётся ошибка:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\mysite\www\Index.php:11) in Z:\home\mysite\www\Index.php on line 124
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\mysite\www\Index.php:11) in Z:\home\mysite\www\Index.php on line 124
<?php
session_start(); <-------------------------------------------------------------это строка 124
$log = mysql_real_escape_string($_POST['login']);
$pas = mysql_real_escape_string($_POST['password']);
$result1 =mysql_query("SELECT * FROM `users` WHERE login = '$log'",$gb);
while ($myrow1 = mysql_fetch_array ($result1)) {
printf("
<tr>
<td>%s</td>
</tr>
<tr>
<td>%s</td>
</tr>
",$myrow1['login'],$myrow1['password']);
}
$_SESSION['i']=$log;
error_reporting(E_ALL);
?>
|
| |
|
|
|
|
|
|
|
для: Blondy
(17.05.2010 в 20:33)
| | Первыми двумя строками вашего файла сделайте
перед session_start не должно быть никакого вывода | |
|
|
|
|
|
|
|
для: root
(17.05.2010 в 20:38)
| | О чудо, получилось всё!!!)
Огромнейшее вам спасибо за терпение и советы!!!!! | |
|
|
|