ajax username ซ้ำ เช็คแล้วแต่ไม่ขึ้นครับ ผมทำแล้วมันไม่ขึ้น alert ส่วน ajax อะครับ ไม่รู้ว่าเป็นเพราะอะไร ดูให้หน่อยครับพี่ๆครับ
validate.js
function checkForm() {
if (form1.username.value =="" ) {
alert("กรุณากรอก Username");
form1.username.focus();
return false;
}
if (form1.password.value =="") {
alert("กรุณากรอก Password");
form1.password.focus();
return false;
}
if (form1.repassword.value =="") {
alert("กรุณากรอก Repassword");
form1.repassword.focus();
return false;
}
if (form1.repassword.value!==form1.password.value) {
alert("Password ไม่ตรงกัน");
form1.repassword.select();
return false;
}
if (form1.firstname.value =="") {
alert("กรุณากรอกชื่อ");
form1.firstname.focus();
return false;
}
if (form1.lastname.value =="") {
alert("กรุณากรอกนามสกุล");
form1.lastname.focus();
return false;
}
if(form1.rdo1.checked == false && document.form1.rdo2.checked == false ){
alert('กรุณาเลือกเพศ ');
return false;
}
if (form1.email.value =="") {
alert("กรุณากรอก E-Mail");
form1.email.focus();
return false;
}
if (form1.address.value =="") {
alert("กรุณากรอกที่อยู่");
form1.address.focus();
return false;
}
if (form1.zipcode.value =="") {
alert("กรุณากรอกรหัสไปรษณีย์");
form1.zipcode.focus();
return false;
}
if (form1.mobile.value =="") {
alert("กรุณากรอกเบอร์มือถือ");
form1.mobile.focus();
return false;
}
if(!ValidateMail('form1','email')){
return false;
}
if (!ChkZipcode()){
return false;
}
if (!ChkTel()){
return false;
}
if (!ChkMobile()){
return false;
}
if (!ChkUsername()){
return false;
}
if (!ChkPassword()){
return false;
}
if (!doCallAjax()){
return false;
}
return true;
}
function IsNumeric(sText,obj) { // Number only
var ValidChars = "0123456789.";
var IsNumber=true;
var Char;
for (i = 0; i < sText.length && IsNumber == true; i++) {
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1) {
IsNumber = false;
}
}
if(IsNumber==false){
alert("กรุณากรอกเฉพาะตัวเลข");
obj.value=sText.substr(0,sText.length-1);
}
}
function ValidateMail(form1,email) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[form1].elements[email].value;
if(reg.test(address) == false) {
alert('Email ไม่ถูกต้อง');
return false;
}
return true;
}
function ChkZipcode(){
if(form1.zipcode.value.length < 5){
alert('กรุณากรอกรหัสไปรษณีย์ให้ครบ 5 หลัก');
form1.zipcode.focus();
return false;
}
return true;
}
function ChkTel(){
if(form1.tel.value.length < 9 && form1.tel.value.length >0){
alert('กรุณากรอกเบอร์โทรศัพท์ให้ครบ 9 หลัก');
form1.tel.focus();
return false;
}
return true;
}
function ChkMobile(){
if(form1.mobile.value.length < 10){
alert('กรุณากรอกเบอร์มือถือให้ครบ 10 หลัก');
form1.mobile.focus();
return false;
}
return true;
}
function ChkUsername(){
if(form1.username.value.length < 3 || form1.username.value.length > 15 ){
alert('กรุณากรอก Username ด้วย ความยาวไม่ต่ำกว่า 3 ตัว แต่ไม่เกิน 15 ตัว');
form1.username.focus();
return false;
}
return true;
}
function ChkPassword(){
if(form1.password.value.length < 5 || form1.password.value.length > 10 ){
alert('กรุณากรอก Password ด้วย ความยาวไม่ต่ำกว่า 5 ตัว แต่ไม่เกิน 10 ตัว');
form1.password.focus();
return false;
}
return true;
}
function bannedKey(evt){
var allowedEng = true; //อนุญาตให้คีย์อังกฤษ
var allowedThai = true; //อนุญาตให้คีย์ไทย
var allowedNum = false; //ไม่ให้คีย์ตัวเลข
var k = event.keyCode;/* เช็คตัวเลข 0-9 และสัญลักษณ์ต่างๆ*/
if ((k>=32 && k<=64) || (k>=91 && k<=96) || (k>=123 && k<=127)) {
return allowedNum;
}
/* เช็คคีย์อังกฤษ a-z, A-Z */
if ((k>=65 && k<=90) || (k>=97 && k<=122)) {
return allowedEng;
}
/* เช็คคีย์ไทย ทั้งแบบ non-unicode และ unicode */
if ((k>=161 && k<=255) || (k>=3585 && k<=3675)) {
return allowedThai;
}
}
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'register.php'; // url
var pmeters = 'myName='+document.getElementById("username").value;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", param.length); // ส่งค่า parameter ไป
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function(){
if(HttPRequest.readyState == 4){ // Return Request
var result=HttPRequest.responseText
if(result=='true'){
alert('Username ซ้ำกรุณาเปลี่ยนใหม่');
return false;
}
return true;
}
}
}
register.php
<?
$arrProvince ="select * from province";
$resProvince = mysql_query($arrProvince,$conn);
?>
<? if($_GET['action'] == "") {?>
<script type="text/javascript" SRC="js/Validate.js"></script>
<? $user =$_POST[myName]; ?>
<h3>สมัครสมาชิก(Register)</h3>
<br>
<?=$_SESSION['msg']?>
<br>
<h4> สร้าง Username และ Password</h4>
<form name="form1" id="form1" method="post" action="?name=user&file=register&action=login" onsubmit="return checkForm();">
<table border="0">
<tr>
<td>Username:</td>
<td>
<input type="text" name="username" id="username" value="<? echo $_SESSION['regis']['username'];?>" maxlength="15"/>
<font color="#FF0000">* เป็นตัวอักษรหรือตัวเลข ความยาวไม่ต่ำกว่า 3 ตัว แต่ไม่เกิน 15 ตัว</font></td>
</tr>
<tr>
<td>Password:</td>
<td>
<input type="password" name="password" id="password" maxlength="10"/>
<font color="#FF0000">* เป็นตัวอักษรหรือตัวเลข ความยาวไม่ต่ำกว่า 5 ตัว แต่ไม่เกิน 10 ตัว</font></td>
</tr>
<tr>
<td>Re_password:</td>
<td>
<input type="password" name="repassword" id="repassword" maxlength="10"/>
<font color="#FF0000">* ยืนยันรหัสผ่าน</font></td>
</tr>
</table>
<br>
<h4>ข้อมูลส่วนตัว </h4>
<table width="481" height="317" border="0">
<tr>
<td width="120">ชื่อ:</td>
<td>
<input type="text" name="firstname" id="firstname" onkeypress="return bannedKey(event);" value="<? echo $_SESSION['regis']['firstname'];?>"/>
<font color="#FF0000">* เป็นภาษาอังกฤษหรือภาษาไทยเท่านั้น</font></td>
</tr>
<tr>
<td>นามสกุล:</td>
<td>
<input type="text" name="lastname" id="lastname" onkeypress="return bannedKey(event);" value="<? echo $_SESSION['regis']['lastname'];?>" />
<font color="#FF0000">* เป็นภาษาอังกฤษหรือภาษาไทยเท่านั้น</font></td>
</tr>
<tr>
<td>เพศ:</td>
<td>
<input name="gender" type="radio" value="ผู้ชาย" id="rdo1"/> ผู้ชาย
<input name="gender" type="radio" value="ผู้หญิง" id="rdo2"/> ผู้หญิง
<font color="#FF0000">*</font></td>
</tr>
<tr>
<td>Email:</td>
<td>
<input type="text" name="email" id="email" value="<? echo $_SESSION['regis']['email'];?>"/>
<font color="#FF0000">*</font></td>
</tr>
<tr>
<td>ที่อยู่:</td>
<td>
<textarea name="address" rows="10" cols="40" id="address"><? echo $_SESSION['regis']['address'];?></textarea><font color="#FF0000">*</font>
</td>
</tr>
<tr>
<td height="74">จังหวัด:</td>
<td>
<select name="province_id">
<option value="">-- กรุณาเลือก --</option>
<? while($resData = mysql_fetch_array($resProvince)){ ?>
<option value="<?=$resData['province_id']?>"><? echo($resData['province_name']);?></option>
<? }?>
</select>
<font color="#FF0000">*</font></td>
</tr>
<tr>
<td>รหัสไปรษณีย์:</td>
<td>
<input type="text" name="zipcode" maxlength="5" id="zipcode" size="5"value="<? echo $_SESSION['regis']['zipcode'];?>" onKeyUp="IsNumeric(this.value,this)"/>
<font color="#FF0000">* เป็นตัวเลขเท่านั้น</font></td>
</tr>
<tr>
<td>เบอร์โทรศัพท์:</td>
<td>
<input type="text" name="tel" maxlength="9" id="tel" size="9"value="<? echo $_SESSION['regis']['tel'];?>" onKeyUp="IsNumeric(this.value,this)"/>
เป็นตัวเลขเท่านั้น</td>
</tr>
<tr>
<td>เบอร์มือถือ:</td>
<td>
<input type="text" name="mobile" maxlength="10" size="10" id="mobile" value="<? echo $_SESSION['regis']['mobile'];?>" onKeyUp="IsNumeric(this.value,this)"/>
<font color="#FF0000">* เป็นตัวเลขเท่านั้น</font></td>
</tr>
<tr>
<td colspan="3"><div align="center" class="style1"><b>หมายเหตุ ฟอร์มที่มีเครื่องหมาย (<font color="#FF0000">*</font>) ด้องใส่ข้อมูลทุกฟอร์ม </b></div></td>
</tr>
</table>
<p>
<br>
<input type="submit" name="Submit" value="ตกลง" />
<input type="reset" name="Submit2" value="ยกเลิก" />
</p>
</form>
<p>
<? } elseif($_GET['action'] == "register") {
$_SESSION['regis'] = $_POST;
//echo "<pre>"; print_r($_POST);
$firstname = ($_POST['firstname']);
$lastname = ($_POST['lastname']);
$gender = ($_POST['gender']);
$email = ($_POST['email']);
$address = ($_POST['address']);
$province = ($_POST['province']);
$zipcode = ($_POST['zipcode']);
$tel = ($_POST['tel']);
$mobile = ($_POST['mobile']);
}else{
$password = md5($_POST['password']);
//เช็คค่าที่กรอกใน Username ถ้าซ้ำขึ้น Error
$str="select * from member where username ='$user'";
$result = mysql_query($str,$conn);
$res = mysql_num_rows($result);
if ($res){
echo 'true';
}elseif ($res){
echo 'false';
}else{
// ทำการ insert ข้อมูล ลงในตาราง Member
$strSQL="insert into member (mem_firstname,mem_lastname,gender,mem_email,mem_address,province_id,zipcode,mem_tel,mem_mobile,username,password)";
$strSQL .="values('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['gender']."','".$_POST['email']."' ,'".$_POST['address']."' ,'".$_POST['province_id']."','".$_POST['zipcode']."','".$_POST['tel']."','".$_POST['mobile']."' ,'".$_POST['username']."' ,'".$password."')";
//echo $strSQL;
mysql_query($strSQL,$conn);
mysql_close($conn);
unset ($_SESSION['regis']); // การเคลียร์ค่า session
}
?>
<center>
<h4>ข้อมูลถูกบันทึกแล้ว</h4><br>
<a href="index.php?name=user&file=login">Login </a> </center>
<? } ?>
ผมทำแล้วมันไม่ขึ้น alert ส่วน ajax อะครับ ไม่รู้ว่าเป็นเพราะอะไร ดูให้หน่อยครับพี่ๆครับTag : - - - -
Date :
2009-12-08 23:40:54
By :
อยากเก่ง
View :
1696
Reply :
10
-..- พี่สาอธิบายกน้องทางเอมแล้วน่ะครับ เห็นครับๆก็นึกว่าเข้าใจ
บอกเลยครับว่า ใช้ ajax ผิด พี่ไม่อธิบายแหล่ะ น้องต้องไปศึกษา Ajax ให้เข้าใจจริงๆแหล่ะ
Date :
2009-12-08 23:47:04
By :
xbeginner01
อ้าว
Date :
2009-12-08 23:50:42
By :
อยากเก่ง
ไม่มีใครบอกผมอีกแล้วเหรอครับ
Date :
2009-12-08 23:59:42
By :
อยากเก่ง
ผิดตรงไหนบอกกันหน่อยครับ พี่ครับ ผมขอร้องล่ะ
Date :
2009-12-09 00:02:35
By :
อยากเก่ง
ช่วยๆกันหน่อยดิครับ
Date :
2009-12-09 01:02:57
By :
อยากเก่ง
เหลืออีกแค่อย่างเดียวเอง
บอกผมหน่อยดิครับ
m ผมไม่มีพลัส
Date :
2009-12-09 01:56:12
By :
อยากเก่ง
บอกกันหน่อยเหอะครับพี่
Date :
2009-12-09 02:01:31
By :
อยากเก่ง
ใจดีครั้งสุดท้ายแล้วน่ะครับ ถ้าน้องไม่ได้คงต้องให้คนอื่นที่ใจดีกว่าช่วยแหล่ะครับ เพราะน้องเล่นไม่ทำความเข้าใจเลย
var url = 'register.php'; // url
url นี้ไม่เกี่ยวข้องกับ register.php ต้องเขียนไฟล์ขึ้นต่างหากไว้สำหรับเช็ค usernameใหม่ กับ username ในฐานข้อมูล
var url='checkRegister.php'; // ให้สร้างไฟล์ checkRegister.php
โค้ด checkRegister.php
Code (PHP)
<?php
$user =$_POST[myName];
$str="select * from member where username ='$user'";
$result = mysql_query($str,$conn);
$res = mysql_num_rows($result);
if ($res){
echo 'true';
}else{
echo 'false';
}
?>
ที่เหลือน้องต้องพยายามทำด้วยตัวเองแล้วครับ
Date :
2009-12-09 02:07:03
By :
xbeginner01
ขอบคุณครับ
วันหลังจะไม่รบกวนและครับ
Date :
2009-12-09 02:09:50
By :
อยากเก่ง
Load balance : Server 05