2016-08-12 9 views
0

私はmysqlテーブルを作成し、データはPHPの入力タグでテーブルに挿入されます。 <input type="password">を使用して、テーブルのパスワード列にパスワード値を挿入したとき。文字列の末尾に自動的にamp;が追加されます。どのようにそれを削除するには?mysqlテーブルPaaswordカラムにアンプを追加。最後に

<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 
echo $username; 
echo $password; 
$connection = mysqli_connect("localhost", "root", "", "register"); 
if (!$connection) { 
    die("can not connect to database"); 
} 
$sql = "SELECT * FROM signupinfo WHERE username= '" . $username . "' AND password ='" . $password . "' "; 
$result = mysqli_query($connection, $sql); 
if (!$result) { 
    die(mysqli_error($connection)); 
} 
if (mysqli_num_rows($result) == 1) { 
    echo "login successfull"; 
} else { 
    echo "sorry incorrect password or username"; 
} 
+1

なぜパスワードをプレーンテキストとして保存していますか? – Magisch

答えて

-1

3つの可能性可能性があります:

1)あなたのパスワードフィールドの文字セットを確認し、それがutf8_general_ci

OR

2でなければなりませんが)のような不要なスペースを削除します

SELECT * FROM signupinfo WHERE username = '"。$ username。"' AND password = '"。$ password。"'

OR

3)のようなパスワードの変数デコード: ' "。がhtml_entity_decode($パスワード)"' ユーザー名= ' "。$ユーザー名"' ANDパスワード= signupinfo FROM

SELECT *を

-1

DBに提出するためにPHPコードを共有してください。 GETメソッドで送信していると思います。テスト=ユーザ名=テスト&パスワード

submitdemo.php &

またはPOSTメソッドでは、このようなものかもしれ - ? は、そして、それは次のように似ています。 &を最後のパラメータ文字列に送信していないことを確認してください。

関連する問題