PHP - 在表格数组中输入表格
我遇到了表格内部的一个问题。我创建了一张表格,显示了用户关注帖子的最近状态列表。我在表格内创建了一个表单,这样社区可以“喜欢”或“不同”。PHP - 在表格数组中输入表格
每次我尝试提交表单,帖子被张贴在URL,并在我的按钮名称停止“likestatus =” URL的
例如返回:
account.php likesid? = 5 & likerid = 117个& likestatus =
形式作品的输入,因为每个按钮会显示相应的URL“likesid”和“likerid”
我只是不明白为什么它”失败。
这里是我的代码 “$ _ POST [ 'likestatus']”
<?php
if(isset($_POST['likestatus']))
{
//inputs from the form
$likesid =mysqli_real_escape_string($conn, $_POST['likesid']);
$likerid =mysqli_real_escape_string($conn, $_POST['likerid']);
//query to check if already likes status
$sql = "SELECT likesid, likerid FROM user_likes WHERE (likesid='$likesid') AND (likerid='$likerid')";
$result = mysqli_query($conn, $sql);
$alreadylike = mysqli_num_rows($result);
if ($alreadylike > 0) {
echo "You already liked this status";
}
else {
$hostname = "localhost";
$username = "root";
$password = "changed for post";
$databaseName = "changed for post";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
//inputs from the form
$likesid =mysqli_real_escape_string($connect, $_POST['likesid']);
$likerid =mysqli_real_escape_string($connect, $_POST['likerid']);
//query to insert into table
$query = "INSERT INTO `user_likes` SET `likesid`='".$likesid."', `likerid`='".$likerid."'";
$result = mysqli_query($connect, $query);
if($result)
{
echo 'updated';
}
else
{
echo 'not updated';
}
mysqli_close($connect);
}
}
?>
形式代码:
<td style="width: 100px;">
<p align="center">
<form action="account.php" method="post">
<input type="hidden" name="likesid" value="<?php echo $statusid; ?>">
<input type="hidden" name="likerid" value="<?php echo $_SESSION['id']; ?>">
<button style="color: #FFFFFF; width: 50%; margin-left: 35px; background-color: transparent; cursor: pointer; text-shadow: 1px 1px 4px #2F3A85" type="submit" name="likestatus">
<label class="myLabel"><span class="w3-xlarge" style="font-family: 'Righteous'; border: 1px; border-radius: 5px; border-color: #FFFFFF;">like</span></label>
</button>
</form></p>
</td>
的页面不返回,可能任何错误在任何方向指向我,它只是简单地重新加载网页中的发布信息。
我假设并发症的事实是表单是在一个表数组中,并且表单提交值在所有表中都保持不变?
显然,我试图运行的形式,这就解释了为什么这一职位只是挂在URL和内部的一种形式不提交到我的数据库。
我删除了我试图提交的表单外部的表单标签,并且它都按需要工作。
由于尴尬,因为它是,我想我会张贴在希望的答案,以节省别人我花的时间......
因为您的提交按钮是button
而不是input
。
更改此:
<button style="color: #FFFFFF; width: 50%; margin-left: 35px; background-color: transparent; cursor: pointer; text-shadow: 1px 1px 4px #2F3A85" type="submit" name="likestatus">
这样:
<input style="color: #FFFFFF; width: 50%; margin-left: 35px; background-color: transparent; cursor: pointer; text-shadow: 1px 1px 4px #2F3A85" type="submit" name="likestatus">
该按钮已经有'type = submit'。检查https://www.w3schools.com/tags/att_button_type.asp –
@AgamBanga也许?:http://*.com/questions/1800709/button-element-with-type-submit-php-challenges – Edward
Ahhh !你是对的。 OP正在检查按钮名称。感谢的人 –
什么是不工作?您的数据已正确保存在数据库中,不是吗? 此外,您的代码易受用户输入操作的影响;任何人都可以改变形式中的likerid来强迫其他人喜欢某物。 – NaeiKinDus
此时数据并未保存在数据库中,这要归功于操作提示,我会做出这个简单的修复 – sicksixstrings