0

Web サイトの管理部分があり、管理者がサインアップしてログインできるようにする機能が必要です。現在、サインアップフォームに取り組んでいます。ユーザー名とパスワードを送信すると、Web ブラウザーに空白の画面が表示されるだけで、データベースには何も追加されません。これが私のコードです。なぜこれが起こっていて、うまくいかないのですか?

<?
$con = mysql_connect("localhost", "root", "");
if(!$con)
    {
    die('Could not connect: ' .mysql_error());
    }
mysql_select_db("bics_place", $con);

$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
$encrypted_mypassword=md5($mypassword);

$sql = "INSERT INTO admin
            (username, password)
            VALUES
            ('myusername','encrypted_mypassword')";

if(!mysql_query($sql, $con))
    {
    die('Error: ' .mysql_Error());
    }
echo "1 record added";

mysql_close($con);

?>
4

2 に答える 2

2

コードをローカルでテストしましたが、動作します。確認すべき点がいくつかあります。

サーバーが短いタグを許可するように構成されていない可能性があります。'<?'行 1 を に変更してみてください'<?php'

短いタグを使用する必要がある場合 (それらを使用する他の誰かのコードで作業している場合)、それを許可するように php.ini ファイルを編集する必要があります。互換性の理由から、それらを避ける傾向があります。

short_open_tag=On

それでも問題が解決しない場合error_reporting(E_ALL);は、ファイルの先頭に追加すると、エラーが表示されます。コードが機能するようになったら、削除してください。

また、$sql 変数を編集する必要があります。変数名の前に $ を付けます。

$sql = "INSERT INTO admin
        (username, password)
        VALUES
        ('$myusername','$encrypted_mypassword')";

それ以外の場合、サーバー エラー ログには何が表示されますか?

于 2012-09-19T20:51:14.950 に答える
0

エラーが表示されない理由はわかりませんが、SQL が正しくありません。

あなたが持っている:

$sql = "INSERT INTO admin (username, password) VALUES ('myusername','encrypted_mypassword')";

次のようになります。

$sql = "INSERT INTO admin (username, password) VALUES ('$myusername','$encrypted_mypassword')";

$変数の前に がありません。

于 2012-09-19T20:35:17.787 に答える