1

フォーム データを送信して、データベースに新しいエントリを作成しようとしています。エラーなしでコード全体を実行しますが、データベースに新しい要素は表示されません。

何が起こっているのか誰にも分かりませんか?

}elseif(isset($_GET["new"])){//add new 
        if($_GET['changeme']=="yes") //if user pressed save, then update table
    {
        $name = $_POST["name"];
        $active = $_POST["active"];
        $email = $_POST["email"];
        $training = $_POST["training"];
        $trials = $_POST["trials"];
        $BHV = $_POST["BHV"];
        $tours = $_POST["tours"];
        $pasnr = $_POST["pasnr"];
        $pasactivated = $_POST["pasactivated"];
        $pastested = $_POST["pastested"];   

        mysql_query("INSERT INTO Members (name, active, email, training, trials, BHV, tours, pasnr, pasactivates, pastested) VALUES
                    ('$name', '$active', '$email', '$training', '$trials', '$BHV', '$tours', '$pasnr', '$pasactivates', '$pastested')"); 
        //show end text
        echo "Edit complete!<br />
        <form><input type='button' onClick=\"parent.location='users.php'\" value='OK'></form>";
    }else{//user didn't press save

    ?>
    <!--Edit form-->
    <form action="users.php?new=1&changeme=yes" method="post">
    Name:<br>
    <input name="name" type="text" value="name" size="79"><br>
    <input type="checkbox" name="active" value="1" />Active 
    <input type="checkbox" name="BHV" value="1"  />BHV 
    <input type="checkbox" name="pasactivated" value="1"  />Pas activated 
    <input type="checkbox" name="pastested" value="1"  />Pas Tested <br>
    E-mail: <br>
    <input name="email" type="text" value="email" size="79"><br>
    Training Dates: <br>
    <input name="training" type="text" value="training" size="79"><br>
    Trial Dates: <br>
    <input name="trials" type="text" value="trials" size="79"><br>
    # Tours: <br>
    <input name="tours" type="text" value="tours" size="79"><br>
    Pas Nummer: <br>
    <input name="pasnr" type="text" value="pasnr" size="79"><br>
    <input type="submit" name="Submit" value="Create">
    <input type='button' onClick="parent.location='users.php'" value='Back to list'>
    </form>

    <?
}}
4

2 に答える 2

0

代わりに次の行を使用してください。

mysql_query("INSERT INTO Members (name, active, email, training, trials, BHV, tours, pasnr, pasactivates, pastested) VALUES
                    ('$name', '$active', '$email', '$training', '$trials', '$BHV', '$tours', '$pasnr', '$pasactivates', '$pastested')");

この方法で変数を挿入する前に、変数をサニタイズすることを忘れないでください。代わりに、準備済みステートメントを使用することもできます。

また、可能であれば、mysql の代わりに mysqli 拡張機能を使用することをお勧めします。

mysql エラーの処理に役立つ次のリンクをお読みください。

http://php.net/manual/en/mysqli.error.php

于 2013-06-14T21:44:35.277 に答える