私はユーザーがクラブに登録するためのスクリプトを書こうとしています。それが重複をチェックするはずの部分に達するまでうまく動作します。私は何がうまくいかないのか分かりません。助けてください!!! は、スクリプトの中で意味がありません。かなりの数のものが1に対して複数のクエリがあります私のPHPスクリプトはmysqlから最初の行だけを読み込み、残りの行は一致するかどうかを確認しません
<?php
mysql_connect ("sqlhost", "username", "password") or die(mysql_error());
mysql_select_db ("databasename") or die(mysql_error());
$errormsgdb = "";
$errordb = "Sorry but that ";
$error1db = "Name";
$error2db = "email";
$error3db = "mobile number";
$errordbe = " is already registered";
$pass1db = "No Matching Name";
$pass2db = "No Matching Email";
$pass3db = "No Matching Mobile";
$errorcount = 0;
$qResult = mysql_query ("SELECT * FROM table");
$nRows = mysql_num_rows($qResult);
for ($i=1; $i< $nRows+1; $i++){
$result = mysql_query("SELECT id,fname,lname,dob,email,mobile,agree,code,joindate FROM table WHERE fname = '$ffname");
if ($result > 0) {
$errorcount = $errorcount++;
$passdb = 0;
$errormsgdb = $error1db;
echo "<div class=\"box red\">$errordb $errormsgdb
} else {
$pass = 1;
$errormsgdb = $pass1db;
echo "<div class=\"box green\">$errormsgdb</div><br />";
}
//--------------- Check if DB checks returned errors ------------------------------------>
if($errorcount <= 0){
$dobp = $_REQUEST['day'].'/'.$_REQUEST['month'].'/'.$_REQUEST['year'];
$dob = $_REQUEST['year'].$_REQUEST['month'].$_REQUEST['day'];
//header('Location: thankyou.php?ffname='.$ffname.'&flname='.$flname.'&dob='.$dob.'&femail='.$femail.'&fmobile='.$fmobile.'&agree='.$agree.'&code='.$code.'&dobp='.$dobp);
echo "<div class='box green'>Form completed! Error Count = $errorcount</div>";
} else {
echo "<div class='box red'>There was an Error! Error Count = $errorcount</div>";
}
}
?>
:)ありがとうございましたそして、あなたは手段を「は動作しません」何を指定することができますか? – GolezTrol
最初の行だけを読み込み、エラーボックスをエコーします。そのため、最初の行と同じではない名前や電子メールなどを入力しようとすると、パスします(データベースに重複するレコードが追加されます) – RobertH