我的表格中存在表格问题。我创建了一个表格,其中显示了用户关注帖子的最近状态列表。我在表格中创建了一个表单,以便社区可以“喜欢”或“不像”。
每当我尝试提交表单时,帖子都会在网址中发布,并停在我的按钮名称“likestatus =”
返回的网址示例:
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中重新加载包含帖子信息的页面。
我假设并发症始于表格在表格数组内,并且表格提交值在所有表格中保持不变?
答案 0 :(得分:0)
因为您的提交按钮是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">
答案 1 :(得分:0)
显然我试图在表单中运行一个表单,这解释了为什么帖子只是挂在URL中而没有提交到我的数据库中。
我删除了我尝试提交的表单外部的表单标记,并且一切都按预期工作。
虽然很尴尬,但我想我会发布答案,希望能节省别人的时间......