Передача переменных в переполнение стека

Я пытался решить эту проблему и мне нужна помощь. У меня есть пользователь, который входит в систему, и я передаю эту переменную через сеансы. Основными страницами являются шаблоны, которые заполняются на основе поиска по ключевым словам (я передаю переменную как POST) и заполняем на основе информации в базе данных. Теперь я создаю способ для комментариев пользователей. Ниже моя основная форма. Я застреваю, когда хочу передать одно из значений базы данных. Я назову это $ место для этого объяснения.

while($row = mysqli_fetch_array($result)) {
$place=$row['place'];}
<form action="post_comment.php" method="POST">
<textarea name="comment" cols="50" rows="6" placeholder="Give Your Review!"></textarea><br/>
<input type="submit" value="Comment" class="btn  btn-custom" role="button"/>
</form>

в post_comment.php у меня есть следующее
$ query = «ВЫБЕРИТЕ отображаемое имя из пользователей, ГДЕ id = ‘». $ _ SESSION [‘ id ‘]. «‘ LIMIT 1»;

$result2 = mysqli_query($link,$query);
$row = mysqli_fetch_array($result2);
$name=$row['name'];

$query="INSERT INTO `comments` (`comment`, `user`, `place`) VALUES ('".mysqli_real_escape_string($link, $_POST['comment'])."', '".mysqli_real_escape_string($link, $name)."', '".mysqli_real_escape_string($link, $place)."'";

mysqli_query($link, $query);

Может кто-нибудь объяснить, как перенести $ place на post_comment?

Спасибо!

1

Решение

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

Таким образом, вы бы написали свою форму так:

<form action="post_comment.php" method="POST">
<input type="hidden" name="place" value="<? echo $place; ?>" />
<textarea name="comment" cols="50" rows="6" placeholder="Give Your Review!"></textarea><br/>
<input type="submit" value="Comment" class="btn  btn-custom" role="button"/>
</form>
0

Другие решения

Там нет проблем с вашим $name переменная.

Однако для $placeВы можете использовать сессию PHP. Использование PHP-сессии более безопасно, чем использование скрытого поля, если у вас есть конфиденциальная информация. Наличие скрытого поля позволит пользователям вручную редактировать информацию с помощью Inspect Element.

1st PHP File

while($row = mysqli_fetch_array($result)) {
$place=$row['place'];}

session_start();
$_SESSION["place"] = $place;

post_comment.php

session_start(); //include at the start of your PHP Script

$comment = mysqli_real_escape_string($link, $_POST['comment']);
$name = mysqli_real_escape_string($link, $_POST["name"]);
$place = mysqli_real_escape_string($link, $_SESSION["place"]);

$query="INSERT INTO `comments` (`comment`, `user`, `place`) VALUES ('$comment', '$name', '$place')";
0

По вопросам рекламы [email protected]