2012-03-26 5 views
1

Я пытаюсь создать сообщения с идентификатором userid = для пользователя, который в настоящее время вошел в систему. На странице 1 Я использую $ _SESSION, чтобы установить переменную

$_SESSION['Userid'] = $row_getUserStuff['userid']; 

Я могу назвать $ _SESSION [ 'Userid'] как на странице 1 и стр.2 с

echo($_SESSION['Userid']); 

который выводит пользователей идентификатор, моя проблема в том, когда я пытаюсь вытолкнуть эти данные в базу данных. В форме я поставил

<input type="hidden" name="userid" value="<?php $_SESSION['Userid']?>" /> 

Но когда я пытаюсь отправить его, я получаю ошибку

Column 'идентификатор пользователя' не может быть пустым

+0

Указав очевидное, но вы проверили, пустое ли значение? Проверьте его, просмотрев источник HTML и посмотрев, что написано в поле значений. – Gigi

ответ

1

попробовать это:

<input type="hidden" name="userid" value="<?php echo $_SESSION['Userid']?>" /> 

Вы на самом деле не говоря PHP для вывода переменной сеанса, вы просто ссылаясь на него. Но поскольку это переменная сеанса, она не обязательно должна быть в форме вообще, я предполагаю, что в вашем коде есть $_POST['userid'], чтобы обрабатывать форму, просто замените ее на $_SESSION['Userid'].

+0

Спасибо, это сработало отлично. – Aaronrobeson

0

попробовать

<input type="hidden" name="userid" value="<?php echo $_SESSION['Userid']; ?>" /> 

Я добавил заявление echo и ;, чтобы не генерировалась ошибка php, и $_SESSION['Userid'] правильно отправлен в браузер.

7

Не помещайте данные сеанса в форму. Для браузера бессмысленно отправлять сервер, который уже знает сервер, и любой может изменить его при атаке на инъекции.

Вместо этого просто введите $_SESSION['Userid'] при вводе значения в базу данных.

+0

+1 Собирался опубликовать то же самое. –

+0

+1 Удивительный ответ Я бы никогда не подумал об этом, но су правда. – 19greg96

+0

Спасибо, между этим и сообщением Дж. Кирчарца я его исправил. Я действительно новичок в PHP, поэтому его было легче понять. – Aaronrobeson

0

Заменить строку:

<input type="hidden" name="userid" value="<?php $_SESSION['Userid']?>" /> 

к

<input type="hidden" name="userid" value="<?php echo $_SESSION['Userid']?>" /> 
Смежные вопросы