-2
私はメンバーログインシステムを使用しています。私のシステムにログインした後、私のテーブルに "未定義"のユーザーが見つかりました。私はこのユーザーが私のデータベースにどのように挿入されているのか、自分のコードに何か問題があったのかどうか不明です。誰でもこれを説明できますか?ありがとうございます。未定義のユーザーが何度かデータベーステーブルに挿入されました
私のテーブルのデータ。ここで
私は私のテーブルに挿入する前に、私は、ユーザー名を確認し、私のコードの一部です。また、ログインパスワードを挿入する前に暗号化するために "crypt"機能を使用します。
$query = $cdb->prepare("SELECT username,password,priviledge FROM members WHERE username='$userName' AND password='$passwd' ");
$query->execute();
$result = $query->fetch(PDO::FETCH_OBJ);
if($query->rowCount() != 0){
session_start();
/*More secure session*/
if(isset($_SESSION['admin'])){
if($_SESSION['admin'] < time()-300){
session_commit();
unset($_SESSION['admin']);
unset($_SESSION['user']);
}
}else{
if($result->priviledge == 0){
$_SESSION['admin'] = session_regenerate_id();
$_SESSION['user'] = $userName; //This is from $_POST.
ini_set('session.use_strict_mode', 1);
echo 'OK';
}
}
if(isset($_SESSION['co-admin'])){
if($_SESSION['co-admin'] < time()-300){
session_commit();
unset($_SESSION['co-admin']);
unset($_SESSION['user']);
}
}else{
if($result->priviledge == 1){
$_SESSION['co-admin'] = session_regenerate_id();
$_SESSION['user'] = $userName; //This is from $_POST.
ini_set('session.use_strict_mode', 1);
echo 'OK';
}
}
}else{
echo 'NO';
}
私には「未定義」があります。定義されていないvariblesやqueryselectorが存在しない場合のJavaScriptの戻り値のように表示されます –
どうすればデータベースに挿入できますか?これは危険ですか? – Wasinha
変数 '$ userName'の設定方法を指定してください。また、SQLインジェクションについても読んでください。 – NoRyb