少しの文脈では、登録部分は正常に機能しますが、今はログインシステムを追加したいと思います。私はユーザー名が存在するが、これは動作していないかどうかを調べるためにテストしたい。可能な愚かなエラー! IF文が実行されていませんか?
誰でもここにエラーを見つけられますか?
here以上のサーバーで気軽にチェックしてください。これはWIPなので、まだたくさんのことがあります。 ユーザー名 "Lewis"は、現在テスト目的でデータベースに入力されています。 フォームがいっぱいになった後など、echo文は実行されません。実際、最初の 'IF'文のすぐ下にエコーが置かれても、まだ印刷されません問題? IFを次のように変更してみました。
if($_SERVER['REQUEST_METHOD'] == 'POST'){
まだ運がありません。
PHP:
//error_reporting(E_ALL);
//ini_set('display_errors', TRUE);
require 'vdb_includes/db.php';
require 'functions.php';
if(!empty($_POST['username']) && !empty($_POST['pw'])){
$verifyUsername = $_POST['username'];
$verifyPassword = $_POST['pw'];
$usernameCheck = mysqli_query($con, "SELECT * FROM users WHERE username='".$verifyUsername."'");
if($usernameCheck->num_rows){
echo "Username exists";
} else {
echo "Non existant";
}
}
HTML:
<form id="login_form" action="http://valhq.com/login" method="POST">
<div class="login_form_content">
<div class="login_form_input">
<input type="text" class="login_input_style" placeholder="Username" id="username" name="username" maxlength="20">
</div>
<div class="login_form_input">
<input type="password" class="login_input_style" placeholder="Password" id="pw" name="pw" maxlength="56">
</div>
<input type="submit" id="submit" name="submit" class="login_submit" value="Login">
<div class="login_notMember">
<a href="http://valhq.com/register">Don't have an account? Sign up.</a>
</div>
</div>
</form>
あなたはこのコードでSQLインジェクションを開いています。 – chris85
私はこれを、事前に準備されたステートメントに変更することで修正する予定だと認識しています。しかし、あなたはその質問を助けることができますか? – Lewis
また、preg_matchで空白とシンボルを無効にすると、SQLインジェクションが停止しますか? – Lewis