0

こんにちは皆さん、私はこのコードに問題があります

データベースにコメントとコメント挿入を追加し、同じページを更新すると、次の警告が表示されます。フィールドの1つがまだ空です。最初のコードに問題があると思います

    <?php 

    if ($_POST['add'] and $_POST['add']=='comm'){

    $comm_name      =strip_tags($_POST['comm_name']);
    $comm_country   =strip_tags(mysql_real_escape_string($_POST['comm_country']));
    $c              =strip_tags(mysql_real_escape_string($_POST['comm']));
    $comm_thread    =strip_tags(mysql_real_escape_string($_POST['comm_thread']));
    $status =$_POST['status'];
    $getidtopic=$_GET['id_topic'];
    $post_code=$_POST['post_code'];

    if ($comm_name=='' or $comm_country=='' or $c=='' or $post_code=='' ){
    echo "<script>alert(\"One of the fields are still empty
\");</script>";
    }else if ($_POST['post_code']==$_SESSION['code']) {

    $insertcomm=mysql_query("insert into comments values('','$comm_name','$comm_country','$comm','$comm_thread','$status') ")or die (mysql_error);
    echo "<script>alert(\"your comment has been adding\");</script>";

    }
    }


    ?>

これがコメントのフォームです

    <form action='' method='post' >
    <table  class='rightcol'  width='100%' cellpadding='0' cellspacing='5'>


    <tr>
    <td colspan='3' id='addcomm'>add comm</td>

    </tr>

    <tr>

    <td width='15%' ><div id='title_comm' value=''>name : </div></td>
    <td  ><input type='text' name='comm_name' value='<?if (!$insertcomm){
    echo $comm_name;
    }?>'/></td>
    </tr>

    <tr>
    <td width='15%' ><div id='title_comm'>country  </div></td>
    <td ><input type='text' name='comm_country' 
    value='<?if (!$insertcomm){echo $comm_country;}?>'/>
    </td>
    </tr>


    <tr>
    <td valign='top' width='15%'><div id='title_comm'>comment : </div></td>
    <td width='50%'>
    <textarea  cols='55' rows='12' name='comm'>
    <?if (!$insertcomm){echo $c;}?>
    </textarea></td>
    <td valign='top' ><div id='note_comm'>
  your comment will not insert if you try to use some thing bad
    </div></td>
    </tr>


    <tr>
    <td width='15%' ><div id='title_comm'><span style='color:red'>code : <br/>write these codes </span></div></td>
    <td ><input type='text' name='post_code'/></td>
    </tr>

    <tr>
    <td ><div id='code'>
    <?php 
    $text=rand(400,80000);
    echo $_SESSION['code']=$text;
    ?>


    </div></td>
    </tr>




    <td colspan='4' ><input type='submit' name='addcomm' id='add' value='add comm'/></td>

    </table>
    <input type='hidden' name='comm_thread' value='<?php echo $getidtopic;?>' />
    <input type='hidden' name='add' value='comm'/>
    <input type='hidden' name='status' value='2'/>
    </form>
4

2 に答える 2

0

これは、ページを更新すると$_POSTフィールドがリセットされ、フィールドが空になるため、ページがPHP行を実行すると、フィールドが空であるif ($comm_name=='' or $comm_country=='' or $c=='' or $post_code=='' or $post_code=='' ){ことがわかります。

于 2012-10-19T18:09:51.350 に答える
0

問題が正確に何であるかをよりよく理解するために、テーブル定義を表示する必要があります。私の推測では、SQL ステートメントが適切に準備されていません。

于 2012-10-19T18:28:10.913 に答える