sql >> データベース >  >> Database Tools >> phpMyAdmin

PHP、MySQL検証の誤動作と検索が機能しませんか?

    $fname $lname $gender $age $email $courseのような変数 isset($_POST['register'])のif条件の後にif条件が設定されます 。これで、検証が機能する場合でも、データはデータベースに入力されます。条件を入れたから

    if($fname&&$lname&&$gender&&$age&&$email&&$course)

    これらの変数すべてに値が1つでもある場合、コントロールはそのブロックに入ります。何が起こっているのかというと、間違った値を入力すると、それらは検証され、メッセージが表示されますが、最初にブロックが終了すると、$ _ POST変数は無効であるかどうかに関係なく、まだいくつかの値を持っているため、2番目にブロックが入力されますクエリが実行されます。

    あなたができることは、エラーメッセージをエコーし​​ているところならどこでも、そのそれぞれの変数を空白にすることです。このようなもの:

    if (preg_match("/[a-zA-Z ]+$/", $_POST['fname']))  {
        $fname = trim($_POST['fname']);
    }
    else 
    {
        echo '<p>The First name is empty or has illegal characters! To edit please go the link Display Data Information</p>';
        $fname = "";
    }
    


    1. PHPでXMLファイルを作成/書き込みますか?

    2. PhpMyAdminを使用してデータベースからテーブルを削除する

    3. SQL Server Management Studioに代わるMac?

    4. System.OutOfMemoryExceptionは、SQLServer2016をバージョン13.0.15700.28にアップグレードした後に頻繁に発生します