Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > значение переменной через форму


Автор: harley 15.7.2009, 20:08
Здравствуйете. 
написал такой код, чтобы в ввод имени пользователя в форме сохранялся в переменной
Код

<?php
 session_start();
 if(session_start())
  {
   print("OK");
  }
 $user=$UserName;
 session_register("$user");
?>

...
Код

<form action="register.php" method="get">
User Name: <input name="UserName">
<input type="submit" name="reg" value="Go">
</form>
<a href="register.php">registartation</a>

Когда перехожу по ссылке register.php не видит пременную $user, код для register.php
Код

<?php
 session_start();
?>
...
<?php
 if(!isset($user))
  {
   die("Требуется авторизация");
  }
  print("здраствуйте: $user<br>");
?>

В итоге когда я ввожу имя на первой странице, затем перехожу на страницу register.php 
не выводит имя пользователя, а пишет : "Требуется авторизация"
В чем проблема ? спасибо !

Автор: skyboy 15.7.2009, 20:21
Цитата(harley @  15.7.2009,  19:08 Найти цитируемый пост)
 $user=$UserName;
 session_register("$user");

не так:
Код

$_SESSION['user']= $_GET['UserName'];

http://phpfaq.ru/sessions ты используешь устаревший.
и полагаешься на включенный http://www.phpfaq.ru/globals, который обычно отключен как раз.

Автор: enof 15.7.2009, 20:24
Цитата(harley @  15.7.2009,  21:08 Найти цитируемый пост)
 if(session_start())
  {
   print("OK");
  }

А это зачем?

Автор: harley 15.7.2009, 20:27
спасибо так работает, но register_globals= On в php.ini у меня включен, но все равно при той записи  не видит
2 enof это я для себя проверял работает сессия или нет

Автор: enof 15.7.2009, 20:37
harley,  Включите вывод ошибок, включая E_NOTICE.

Автор: Ипатьев 16.7.2009, 08:42
Цитата(harley @  15.7.2009,  20:27 Найти цитируемый пост)
register_globals= On в php.ini у меня включен

это очень вредно и особенно - при работе с сессиями. код не смотрел, но ваолне возможно, что из-за этого и проблема.

Цитата(skyboy @  15.7.2009,  20:21 Найти цитируемый пост)
синткасис работы с сессиями ты используешь устаревший.

да и тот неправильно smile
в чем, собственно, и заключалась проблема.

Судя по тому, что вопрос помечен, как решенный, автор теперь работает с сессиями как положено, и проблемы больше нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)