0

我正在使用以下脚本来处理更新我网站上消息的表单,我遇到的问题是它正在清除行而不是出于某种原因更新它。我已经从 Phpmyadmin 复制了查询,所以我知道它是正确的,并且我也尝试过回显发布的值,它们也都回显得很好,但是由于某些未知原因,当我单击表单中的提交时,它只会擦除内容记录而不是更新它。

<?php
    include("connectmysqli.php");

    if (isset($_POST['OnOff'])) {$OnOff = $_POST['OnOff'];}else {$OnOff = '';}
    if (isset($_POST['title'])) {$title = $_POST['title'];}else {$title = '';}
    if (isset($_POST['message'])) {$message = $_POST['message'];}else {$message = '';}

    $stmt = $db->prepare("UPDATE `itsnb_chronoforms_data_urgentform` SET  `title` =  '$title',`message` =  '$message',`OnOff` =  '$OnOff' WHERE `cf_id` =1;");
    if (!$stmt) trigger_error($db->error);
    $stmt->execute(); 

    echo 'Message Updated !';
    echo '<p><a href="index.php?&key='.$key.'">Back To Main Menu</a></p>';
    ?> 

这是表格:

在此处输入图像描述

4

1 回答 1

1

您是否回显了生成的查询?

我认为这可能发生的方式有很多:

  1. 您的表单输入名称与您在三个 if 语句中检查的帖子键不匹配
  2. 您没有发送带有 method="post" 的表单

此外,如果所有三个帖子字段均已设置且有效,则应仅执行更新查询。像标题和消息不能是空白/空,并且 onOff 变量应该包含“on”或“off”。否则回显错误消息,以便用户知道他的输入有什么问题。

于 2013-06-24T09:05:08.977 回答