私はこの検証コードを持っています:
<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("nnx",$con);
$tbl=mysql_query("SELECT * FROM tablename");
while($row=mysql_fetch_array($tbl))
{
$name=$_POST['name'];
$lname=$_POST['lname'];
$add=$_POST['add'];
$age=$_POST['age'];
$contact=$_POST['contact'];
$email=$_POST['email'];
$user=$_POST['user'];
$pass=$_POST['pass'];
if(($name!="")&&($lname!="")&&($add!="")&&($age!="")&&($contact!="")&& ($email!="")&&($user!="")&&($pass!=""))
{
if ($_POST['user']==$row['username'])
{
header("location: /register.php?codeErr2=1");
}
else
{
$value=mysql_query("INSERT INTO tablename(name, lastname, address, age, contact,email, username, password) VALUES ('".$_POST['name']."','".$_POST['lname']."','".$_POST['add']."','".$_POST['age']."','".$_POST['contact']."','".$_POST['email']."','".$_POST['user']."','".$_POST['pass']."')");
}
}
else
{
header("location: /register.php?codeErr=1");
}
}
この検証は私の登録フォーム用です。すべてのフィールドが入力されている場合、ユーザーが入力したユーザー名がデータベースに既に存在するかどうかがチェックされます。そうでない場合は、エラー メッセージが表示されます。ユーザー名がすでにデータベースにある場合は、エラー メッセージが出力されます。それ以外の場合は、次のページに進み、すべての値がデータベースに挿入されます。問題は、データベースに既に存在するユーザー名を入力するたびに、ユーザー名が引き続き受け入れられることです。検証コードに問題はありません。ここで考えられる問題を誰かが教えてくれますか? 前もって感謝します。:)