PHP查询不在db throught形式中更新

时间:2018-04-13 12:27:36

标签: php html mysql

我正在开发一个包含minimail / chat功能的项目,该功能可以选择在您阅读并标记用户时勾选。

标志和勾选选项在我编辑之后不再起作用但我再也找不到问题了。

目前游戏并不支持较新版本的PHP。

  • $ M [ 'ID']; = 22
  • $ m ['read'] = 0

查询1 = array(3){[“id”] => string(2)“28”[“mark_read_x”] => string(2)“10”[“mark_read_y”] => string(2)“10”}

查询2 = array(3){[“id”] => string(2)“28”[“flag_user_x”] => string(1)“8”[“flag_user_y”] => string(1)“4”}

<?php
   $mid = $m['id'];

   if(isset($_POST['mark_read'])){
    $mid2 = $_POST['id'];
    $query2 = "UPDATE `user_messages` SET `read` = '1' WHERE `read` = '0' AND `user_messages`.`id` = '$mid2'";
    mysql_query($query2) or die(mysql_error());
    header("Refresh:0");
    }
?>

<?php if($m['read'] === '0'){ ?>

<form method="post">
   <input type="hidden" name="id" value="<?php echo $mid; ?>">
   <input src="tick.png" title="Mark as read" type="image" alt="submit" name="mark_read">
</form>

<?php } else { echo ''; } ?>

<?php
   if(isset($_POST['flag_user'])){
    $mid2 = $_POST['id'];
    $query3 = "UPDATE `user_messages` SET `flagged` = '1' WHERE `flagged` = '0' AND `user_messages`.`id` = '$mid2'";
    mysql_query($query3) or die(mysql_error());
    header("Refresh:0");
   }
?>

<form method="post">
   <input type="hidden" name="id" value="<?php echo $mid; ?>">
   <input src="exclamation.png" title="Flag message" type="image" alt="submit" name="flag_user">
</form>

2 个答案:

答案 0 :(得分:1)

很明显,即使您在同一页面上执行操作,也应始终在使用表单标记时使用action =""属性。您应始终在表单标记中提及action=""action="#",并使用mysqli_*函数,因为它是改进版本。

答案 1 :(得分:-1)

更改

<input src="tick.png" title="Mark as read" type="image" alt="submit" name="mark_read">

<button type="submit" name="mark_read" style="padding: 0; border: none;"><img title="Mark as read" src="tick.png" /></button>

由于图像类型,输入类型无法提交数据。现在工作正常。