【发布时间】:2014-06-03 21:21:35
【问题描述】:
在我的应用程序中,我正在尝试发送加入群组的邀请。因此,我想获得您邀请的人的user_id。此时,我得到一个值,但始终是结果中最后一个人的user_id,而不是我选择的人。
打印出来
<div id="InviteGroupMembers">
<form action="<?php echo $_SERVER['PHP_SELF'] . "?group_id=" .$group_id; ?>" method="post">
<div >
<input type="text" name="btnSearch" placeholder="Add people to group"/>
</div>
<div>
<button type="submit" name="">Add</button>
</div>
</form>
<form action="<?php echo $_SERVER['PHP_SELF'] . "?group_id=" .$group_id; ?>" method="post">
<?php
if (is_object($searchresult))
while ($row = $searchresult -> fetch_array()) {
echo "<div><p class='searchresults'><img src='uploads/" . $row['avatar'] . " " . "' alt='' />" . $row['surname'] . " " . $row['name'] . " " . "<input type='submit' name='btnAddMember'class='addFriendToGroup' value='' /><input type='hidden' name='user_id' value='" . $row['user_id'] . "'/></p></div>"; }
?>
</form>
</div>
PHP
if (isset($_POST["btnSearch"])) {
try {
$searchinput = mysql_real_escape_string($_POST['btnSearch']);
$searchresult = $user -> Search($searchinput);
} catch(exception $e) {
$feedback = $e -> getMessage("no results");
}
}
if (isset($_POST["btnAddMember"])) {
try{
$group_receiver_id = mysql_real_escape_string($_POST['user_id']);
var_dump($group_receiver_id);
}
catch(exception $e) {
$feedback = $e -> getMessage("no results");
}
}
【问题讨论】:
-
嗯。 $searchresult 对象从何而来?它会返回超过 1 行吗?如果是这样,您在一种形式中有多个“user_id”输入,这是无效的。您发布的代码在很多方面似乎都是错误的;你需要先对编程逻辑有一个很好的理解......对不起
-
非常容易受到 sql 注入读取和搜索的攻击 :)
-
if (isset($_POST["btnSearch"])) { 尝试 { $searchinput = mysql_real_escape_string($_POST['btnSearch']); $searchresult = $user -> 搜索($searchinput); } catch(exception $e) { $feedback = $e -> getMessage("no results"); } }