0

何らかの理由で、このスクリプトはクエリに従ってデータベースを適切に更新していません。スクリプトが更新されない理由を知っている人はいますか? 私にお知らせください!

<?php
session_start();
include '../connect.php';
if(!isset($_SESSION['id'])){
    header("Location: ../index.php");
}
if(isset($_POST['submit'])){
    $id=$_POST['id'];
    $postid=$_POST['postid'];
    $content=$_POST['content'];
    $title=$_POST['title'];
    echo "<pre>";
    print_r($_POST);
if(!empty($content)){
    $content = mysql_real_escape_string($content);
} else {
    echo 'You need to write something in your comment!';
}

    $upd=mysql_query("UPDATE replies SET reply_content='$content' WHERE reply_id='$postid'");
    if(!$upd){
        echo 'Error: '.mysql_error();
    }
} else {
    if (isset($_GET['id'])){
      $postid = $_GET['id'];
      $id=$_SESSION['id'];
            $q = mysql_query("SELECT * FROM `replies` where `reply_id`='$postid'");
            if(!$q){
                    echo 'Error: '.mysql_error();
            }
        $res = mysql_fetch_assoc($q);
        $q2 = mysql_query("SELECT topic_subject FROM `topics` where `topic_id`='$postid'");
        $res2 = mysql_fetch_assoc($q2);
        if(!q2){
            echo 'Error: '.mysql_error();
        }
        if ($res['reply_by'] == $id){

        } else {
            header("Location: ../pagenotfound.html");
        }
}
?>

<form action="edit.php">
    <input type="text" name="title" value="<?php echo $res2['topic_subject'] ?>" disabled="disabled" />
    <br />
    <textarea rows="20" name="content" cols="50"><?php echo $res['reply_content']?></textarea>
    <input type="hidden" name="postid" value="<?php echo $postid ?>" />
    <br />
    <input type="submit" name="submit" value="Submit" />
</form>
<?php
}
?>

さらに情報が必要な場合はお知らせください。

更新: 問題は、[送信] をクリックすると、フォームがまだリストされているページに移動することです。print_r($_POST) を試みたときに、実際には $_POST を印刷しなかったため、この問題に気付きました。フォームまたは isset submit かどうかをチェックする場所に問題があると思います。

4

1 に答える 1