2016-06-22 4 views
0

はい、私はmy_sqlを使用しています。はい、その使用は推奨されていません。私の目的は、フォームから電子メールとパスワードの文字列を取り込むことです。次に、まだ使用されていないことを確認します。それが通過すると、ユーザーのデータを16進IDトークンとともにSQLテーブルに書き込みます。現在、接続していますが、データは書きません。SQLデータベースへのユーザーの追加

$userEmail = htmlspecialchars($_GET['field0']); 
$userEmail = trim($userEmail); 
$userPassword=htmlspecialchars($_GET['field1']); 
$userPassword=trim($userPassword); 
$alreadyExist = 'The email' . $userEmail . 'is already in use.'; 
$preCheck = "SELECT * FROM logindb WHERE SQLemail LIKE $userEmail"; 
$queryResults = mysql_query($queryName); 
$queryList = mysql_fetch_array($queryResults); 
if ($queryList[0] === true) { 
    die("<script type='text/javascript'>alert('$alreadyExist');</script>"); 
} else { 
$idTokenBin = openssl_random_pseudo_bytes(5, $cstrong); 
    $idToken = bin2hex($idTokenBin); 

$SQLwrite = "INSERT INTO logindb (SQLemail , SQLpassword , idToken) VALUES ('$userEmail','$userPassword','$id')"; 
} 
+0

「mysql_fetch_array」は何を返しますか? 'Array'! –

+0

ここで '==='が何であるかを学ぶときです –

+0

条件付きループでは、キー0に格納されている値が存在しないことを確認します。ユーザーの電子メールに一致したキー(電子メール)が両方の場所に存在する場合、プログラムを停止します。 –

答えて

0

あなたはクエリを作成しましたが、実行していません。

$SQLwrite = "INSERT INTO logindb (SQLemail , SQLpassword , idToken) VALUES ('$userEmail','$userPassword','$id')"; 

$exec = mysql_query($SQLwrite); 

if ($exec) echo "Inserted user into DB!"; 

はい、私は非難された拡張機能を使用することを歓迎します。それはあなたが廃止予定のPHP版を使用していることを意味するかもしれません。私は今日PHP5の変更履歴を見ていました... 5シリーズのライフサイクル中に400以上のCVEが発行されました(これまでのところ!)。たとえば、バージョン5.2の場合、Googleアナリティクスに1か月分の統計情報を取得する前に、誰かがサーバーを起動する可能性があります。それを更新してください! ;-)

関連する問題