Check Username ซ้ำ แต่มีปัญหาค่ะ ไม่ได้สักที ไม่ว่าจะใส่ username อันไหน ก็บอกว่าซ้ำหมดเลยทั้งๆที่ไม่ซ้ำค่ะ T^T
Code (PHP)
<?php
session_start() ;
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$date = $_POST['date'];
$month = $_POST['month'];
$year = $_POST['year'];
$gender = $_POST['gender'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$postcode = $_POST['postcode'];
$phone = $_POST['phone'];
$username = $_POST['username'];
$pwd1 = $_POST['pwd1'];
$pwd2 = $_POST['pwd2'];
$email = $_POST['email'];
$Submit = $_POST['Submit'];
$ok = $_POST['ok'];
?>
<html>
<head>
<title>
</title>
</head>
<body>
<?php
include("./config.inc.php");
//check is there is correct input
if($firstname=="" || $lastname=="" || $phone=="" || $username=="" ||
$pwd1=="" || $email=="") {
echo "<meta http-equiv='refresh' content='0; url=memberRegister.php'>" ;
}
if((isset($ok)) and ($ok!="ok_pass")) {
echo "<meta http-equiv='refresh' content='0; url=memberRegister.php'>" ;
}
$signup = date("j/n/").(date("Y")) ;
$sql = "select username from memberlist where username='$username'" ;
$query = mysql_query($sql);
$num=mysql_num_rows($query);
if($num > 0){
echo "<br><br><center><font size='3' face='MS Sans Serif'>Same please
change" ;
echo "<br><br><input type='button' value='back to edit'
onclick='history.back();'></center></body></html>" ;
exit() ;
}
else{
$result = mysql_query("insert into memberlist
(id,firstname,lastname,date,month,year,gender,address,city,state,postcode,phone,username,pwd1,pwd2,email,signup)
values('','$firstname','$lastname','$date','$month','$year','$gender','$address','$city','$state','$postcode','$phone','$username','$pwd1',
'$pwd2','$email','$signup')");
$online_order = "../orderonline.html";
$register = "./memberRegister.php";
if($result) {
$_SESSION[login] = "true";
echo "<script type=\"text/javascript\">\n";
echo "alert('You are now The Member of Our Restuarant !');\n";
echo "window.location = ('$online_order');\n";
echo "</script>";
}
else
{
echo "<script type=\"text/javascript\">\n";
echo "alert('Could not add any infomation to the database !');\n";
echo "window.location = ('$register');\n";
echo "</script>";
}
}
?>
</body>
</html>
-------------------
โค้ดเป็นแบบด้านบนนะคะ แต่ว่า พอใส่ชื่อ username ทั้งๆที่ยังไม่มีในฐานข้อมูลมันก็จะเตือนมาว่ามีซ้ำแล้วให้แก้ไข
พอแก้โค้ด เป็นอีกแบบ ใส่ username เข้าไปไม่ว่าซ้ำมันก็จะซ้ำไปเรื่อยๆในฐานข้อมูล ไม่เตือนว่าซ้ำค่ะ
ทำยังไงดีคะ ให้แยกแยะได้ว่า username นี้ซ้ำ
ช่วยด้วยค่ะ โค้ดมันผิดตรงไหนคะTag : PHP, MySQL
Date :
2011-09-07 12:11:17
By :
ann
View :
931
Reply :
6
Code (PHP)
<?php
session_start() ;
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$date = $_POST['date'];
$month = $_POST['month'];
$year = $_POST['year'];
$gender = $_POST['gender'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$postcode = $_POST['postcode'];
$phone = $_POST['phone'];
$username = $_POST['username'];
$pwd1 = $_POST['pwd1'];
$pwd2 = $_POST['pwd2'];
$email = $_POST['email'];
$Submit = $_POST['Submit'];
$ok = $_POST['ok'];
?>
<html>
<head>
<title>
</title>
</head>
<body>
<?php
include("./config.inc.php");
//check is there is correct input
if($firstname=="" || $lastname=="" || $phone=="" || $username=="" ||
$pwd1=="" || $email=="") {
echo "<meta http-equiv='refresh' content='0; url=memberRegister.php'>" ;
}
if((isset($ok)) and ($ok!="ok_pass")) {
echo "<meta http-equiv='refresh' content='0; url=memberRegister.php'>" ;
}
$signup = date("j/n/").(date("Y")) ;
$sql = "select username from memberlist where username='$username'" ;
$query = mysql_query($sql);
$num=mysql_num_rows($query);
if($num > 0){
echo "<br><br><center><font size='3' face='MS Sans Serif'>Same please
change" ;
echo "<br><br><input type='button' value='back to edit'
onclick='history.back();'></center></body></html>" ;
exit() ;
}
else{
$result = mysql_query("insert into memberlist
(id,firstname,lastname,date,month,year,gender,address,city,state,postcode,phone,username,pwd1,pwd2,email,signup)
values('','$firstname','$lastname','$date','$month','$year','$gender','$address','$city','$state','$postcode','$phone','$username','$pwd1',
'$pwd2','$email','$signup')");
$online_order = "../orderonline.html";
$register = "./memberRegister.php";
if($result) {
$_SESSION[login] = "true";
echo "<script type=\"text/javascript\">\n";
echo "alert('You are now The Member of Our Restuarant !');\n";
echo "window.location = ('$online_order');\n";
echo "</script>";
}
else
{
echo "<script type=\"text/javascript\">\n";
echo "alert('Could not add any infomation to the database !');\n";
echo "window.location = ('$register');\n";
echo "</script>";
}
}
?>
</body>
</html>
ข้อแก้ให้นะครับ จะได้อ่านง่าย ๆ เดี๋ยวดูให้ครับ
Date :
2011-09-07 12:25:20
By :
ppanchai
แหะๆๆ ขอบคุณมากนะคะ
Date :
2011-09-07 12:28:33
By :
ann
Code (PHP)
$sql = "select username from memberlist where username='$username'" ;
ลองเปลี่ยนใช้ count ดูนะครับ
Code (PHP)
$sql = "select count(username) as num from memberlist where username='".$username."';";
//แล้วลอง Fetch array (num) ออกมาดูครับ
แล้วก็อีกอย่างตรงบรรทัด 56
Code (PHP)
onclick='history.back();'></center></body></html>" ;
ลบ tag </body></html> ออกหน่อยก็น่าจะดีนะครับ
ผลลัพธ์เป็นยังไงกลับมาบอก เดี๋ยวผมจะเข้ามาดูอีกทีครับ
ประวัติการแก้ไข 2011-09-07 12:33:34
Date :
2011-09-07 12:31:20
By :
ppanchai
คุณต้อง กรุณ
ขอบคุณมากค่ะ แต่ เอ่อ ทำ Fetch array (num) ไม่เป็นอ่ะค่ะ --"
Date :
2011-09-07 12:37:13
By :
ann
^^ ได้แล้วค่ะ
Date :
2011-09-07 12:54:28
By :
ann
Load balance : Server 03