在PHP中传递变量

时间:2016-03-13 02:03:08

标签: php variables multiple-files

我一直在努力解决这个问题并需要一些帮助。我有一个用户登录,我通过Sessions传递该变量。主要页面是基于关键词搜索填充的模板(我将变量作为POST传递)并根据数据库中的信息填写。现在我正在为用户创建一种评论方式。以下是我的基本表格。当我想要通过数据库的一个值时,我会陷入困境。我会称之为$ place来解释这个问题。

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 =&#34; SELECT displayname FROM Users WHERE id =&#39;&#34;。$ _ SESSION [&#39; id&#39;]。&#34;&#39;限制1&#34 ;;

$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吗?

谢谢!

2 个答案:

答案 0 :(得分: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')";

答案 1 :(得分:0)

猜测$place是一个id,我会把它作为隐藏字段写在表单中,然后你也可以在你的帖子中读它。

所以你会写这样的表格:

<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>