0

php、form、mysqlデータベースを作成しました。パスワードはフォームを使用してデータベースに正常に書き込みますが、ユーザー名は書き込みません。私はこれに何時間も困惑しています(そしておそらく非常に簡単な修正です、誰かが洞察を提供できますか?ありがとう!

<?php

    echo "connected ";
    //get form data

    if( !isset( $user ) ) {
       $user = strtolower( mysql_real_escape_string( $_POST['user'] ) );
    }

    if( !isset( $user ) ) {
       $pass = md5( mysql_real_escape_string( $_POST['password'] ) );
    }

    //connect to MySQL
    $connect = mysql_connect( $dbhost, $dbuser, $dbpass )
    or die ("connection error");
    echo "connected ";

    //select databse
    mysql_select_db( $dbdb ) or die ("database selection error");

    //insert data
    $insert = mysql_query("INSERT INTO androidlogin (user, pass) VALUES           ('$user','$pass')");
    if( $insert ) {
       $arr2 = array("user" => $user, "pass" => $pass);
       echo json_encode( $arr2 );
    }

 ?> 

<html>
    <head>
    </head>
    <body>
     <title>PHP Register</title>
       <form action="registerBBD.php" method="POST">
        User: <input type="text" name="user" id="user" /><br /> 
        Pass: <input type="text" name="pass" id="pass" /><br /> 
              <input type="submit" name="submit" value="submit" />
       </form>
    </body>
 </html>
4

1 に答える 1

1

$passが設定されていない場合にのみ値を割り当てます$user…ただし、値をに設定した直後に$user割り当てます。

if(!isset($user)){あなたが二度目に書いたとき、あなたはおそらくを意味しif(!isset($pass)){ました。

$userどちらの場合もが設定されているかどうかを確認している理由がわかりません。フォームデータが送信されたかどうかをテストし、それを使用してデータを処理する必要があるかどうか、またはフォームを表示する必要があるかどうかを判断するのが通常です。

于 2013-01-19T17:12:21.847 に答える