อยากทราบว่าถ้าเราจะใส่โค้ดให้สามารถส่งเมล์ยืนยันเมื่อสมัครสมาชิกเสร็จเรียบร้อยแบบอัตโนมัติ และให้ยืนยันการสมัครสมาชิกกลับมา จึงสามารถทำการlogin
อันนี้เป็นฟอร์มสมัครสมาชิก ชื่อไฟล์ signup.php
Code (PHP)
<form action="member_add_new.php" method="post" name ="checkForm" id="checkForm" onsubmit="return sentData();" >
<script language="JavaScript" type="text/javascript">
function sentData() {
if(document.checkForm.name.value=="") {
alert("กรุณากรอกชื่อ-นามสกุลด้วยค่ะ") ;
document.checkForm.name.focus() ;
return false ;
}
else if(document.checkForm.surname.value=="") {
alert("กรุณากรอกชื่อ-นามสกุลด้วยค่ะ") ;
document.checkForm.surname.focus() ;
return false ;
}
else if(document.checkForm.age.value=="") {
alert("กรุณากรอกอายุด้วยค่ะ") ;
document.checkForm.age.focus() ;
return false ;
}
else if(isNaN(document.checkForm.age.value)) {
alert("กรุณากรอกอายุด้วยตัวเลขเท่านั้นค่ะ") ;
document.checkForm.age.focus() ;
return false ;
}
else if(document.checkForm.province.selectedIndex==0) {
alert("กรุณาระบุจังหวัดที่ท่านอยู่ด้วยค่ะ") ;
return false ;
}
else if(isNaN(document.checkForm.zipcode.value)) {
alert("รหัสไปรษณีย์ต้องเป็นตัวเลขค่ะ") ;
document.checkForm.zipcode.focus() ;
return false ;
}
else if(document.checkForm.user_name.value=="") {
alert("กรุณาระบุชื่อที่ท่านต้องการใช้ในการเข้าระบบด้วยค่ะ") ;
document.checkForm.user_name.focus() ;
return false ;
}
else if(document.checkForm.pwd_name1.value=="") {
alert("กรุณากรอกรหัสผ่านที่ต้องการด้วยค่ะ") ;
document.checkForm.pwd_name1.focus() ;
return false ;
}
else if(document.checkForm.pwd_name2.value=="") {
alert("กรุณายืนยันรหัสผ่านอีกครั้ง") ;
document.checkForm.pwd_name2.focus() ;
return false ;
}
else if(document.checkForm.pwd_name1.value != document.checkForm.pwd_name2.value) {
alert("รหัสผ่านทั้งสองไม่ตรงกัน กรุณายืนยันรหัสผ่านให้ถูกต้องด้วยค่ะ") ;
document.checkForm.pwd_name2.focus() ;
return false ;
}
else if(document.checkForm.email.value=="") {
alert("กรุณากรอกอีเมล์ด้วยนะค่ะ") ;
return false ;
}
else if(checkForm.email.value.indexOf('@')==-1) {
alert("อีเมล์ของคุณไม่ถูกต้องค่ะ") ;
document.checkForm.email.focus() ;
return false ;
}
else if(checkForm.email.value.indexOf('.')==-1) {
alert("อีเมล์ของคุณไม่ถูกต้องค่ะ") ;
document.checkForm.email.focus() ;
return false ;
}
else
return true ;
} </script>
<table width="446" border="0" align="center" cellpadding="1" cellspacing="1" bordercolor="#333333" bgcolor="#CCCCCC">
<tr bgcolor="#FFFFFF">
<td colspan="2"><span class="style1 style2 style3 style4 style5 style6 style7">REGISTER FORM</span></td>
</tr>
<tr bgcolor="#FF99CC">
<td colspan="2"><div align="center">ข้อมูลส่วนตัว</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="204"><div align="right">ชื่อ </div></td>
<td width="235"> <label>
<input name="name" type="text" id="name" size="20" />
</label></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">นามสกุล </div></td>
<td> <label>
<input name="surname" type="text" id="surname" size="20" />
</label></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">อายุ </div></td>
<td><input name="age" type="text" id="age" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">เพศ </div></td>
<td>
<label>
<input name="sex" type="radio" id="radio" value="ชาย" />
ชาย
<input name="sex" type="radio" id="radio2" value="หญิง" />
</label>
หญิง </td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">ที่อยู่ </div></td>
<td> <textarea name="address" cols="20" rows="3" id="address"></textarea> </td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">ตำบล/แขวง </div></td>
<td><input name="tumbon" type="text" id="tumbon" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">อำเภอ/เขต </div></td>
<td><input name="amper" type="text" id="amper" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><p align="right">จังหวัด </p></td>
<td> <select name="province" id="province" >
<option value="เลือกจังหวัด" selected="selected">เลือกจังหวัด</option>
<option value="กระบี่">กระบี่ </option>
<option value="กรุงเทพมหานคร">กรุงเทพมหานคร</option>
<option value="กาญจนบุรี">กาญจนบุรี </option>
<option value="กาฬสินธุ์">กาฬสินธุ์ </option>
<option value="กำแพงเพชร">กำแพงเพชร </option>
<option value="ขอนแก่น">ขอนแก่น</option>
<option value="จันทบุรี">จันทบุรี</option>
<option value="ฉะเชิงเทรา">ฉะเชิงเทรา </option>
<option value="ชัยนาท">ชัยนาท </option>
<option value="ชัยภูมิ">ชัยภูมิ </option>
<option value="ชุมพร">ชุมพร </option>
<option value="ชลบุรี">ชลบุรี </option>
<option value="เชียงใหม่">เชียงใหม่ </option>
<option value="เชียงราย">เชียงราย </option>
<option value="ตรัง">ตรัง </option>
<option value="ตราด">ตราด </option>
<option value="ตาก">ตาก </option>
<option value="นครนายก">นครนายก </option>
<option value="นครปฐม">นครปฐม </option>
<option value="นครพนม">นครพนม </option>
<option value="นครราชสีมา">นครราชสีมา </option>
<option value="นครศรีธรรมราช">นครศรีธรรมราช </option>
<option value="นครสวรรค์">นครสวรรค์ </option>
<option value="นราธิวาส">นราธิวาส </option>
<option value="น่าน">น่าน </option>
<option value="นนทบุรี">นนทบุรี </option>
<option value="บุรีรัมย์">บุรีรัมย์</option>
<option value="ประจวบคีรีขันธ์">ประจวบคีรีขันธ์ </option>
<option value="ปทุมธานี">ปทุมธานี </option>
<option value="ปราจีนบุรี">ปราจีนบุรี </option>
<option value="ปัตตานี">ปัตตานี </option>
<option value="พะเยา">พะเยา </option>
<option value="พระนครศรีอยุธยา">พระนครศรีอยุธยา </option>
<option value="พังงา">พังงา </option>
<option value="พิจิตร">พิจิตร </option>
<option value="พิษณุโลก">พิษณุโลก </option>
<option value="เพชรบุรี">เพชรบุรี </option>
<option value="เพชรบูรณ์">เพชรบูรณ์ </option>
<option value="แพร่">แพร่ </option>
<option value="พัทลุง">พัทลุง </option>
<option value="ภูเก็ต">ภูเก็ต </option>
<option value="มหาสารคาม">มหาสารคาม </option>
<option value="มุกดาหาร">มุกดาหาร </option>
<option value="แม่ฮ่องสอน">แม่ฮ่องสอน </option>
<option value="ยโสธร">ยโสธร </option>
<option value="ยะลา">ยะลา </option>
<option value="ร้อยเอ็ด">ร้อยเอ็ด </option>
<option value="ระนอง">ระนอง </option>
<option value="ระยอง">ระยอง </option>
<option value="ราชบุรี">ราชบุรี</option>
<option value="ลพบุรี">ลพบุรี </option>
<option value="ลำปาง">ลำปาง </option>
<option value="ลำพูน">ลำพูน </option>
<option value="เลย">เลย </option>
<option value="ศรีสะเกษ">ศรีสะเกษ</option>
<option value="สกลนคร">สกลนคร</option>
<option value="สงขลา">สงขลา </option>
<option value="สมุทรสาคร">สมุทรสาคร </option>
<option value="สมุทรปราการ">สมุทรปราการ </option>
<option value="สมุทรสงคราม">สมุทรสงคราม </option>
<option value="สระแก้ว">สระแก้ว </option>
<option value="สระบุรี">สระบุรี </option>
<option value="สิงห์บุรี">สิงห์บุรี </option>
<option value="สุโขทัย">สุโขทัย </option>
<option value="สุพรรณบุรี">สุพรรณบุรี </option>
<option value="สุราษฎร์ธานี">สุราษฎร์ธานี </option>
<option value="สุรินทร์">สุรินทร์ </option>
<option value="สตูล">สตูล </option>
<option value="หนองคาย">หนองคาย </option>
<option value="หนองบัวลำภู">หนองบัวลำภู </option>
<option value="อำนาจเจริญ">อำนาจเจริญ </option>
<option value="อุดรธานี">อุดรธานี </option>
<option value="อุตรดิตถ์">อุตรดิตถ์ </option>
<option value="อุทัยธานี">อุทัยธานี </option>
<option value="อุบลราชธานี">อุบลราชธานี</option>
<option value="อ่างทอง">อ่างทอง </option>
<option value="อื่นๆ">อื่นๆ</option>
</select> </td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">รหัสไปรษณีย์ </div></td>
<td><input name="zipcode" type="text" id="zipcode" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><div align="right">เบอร์โทรศัพท์ </div></td>
<td><input name="phone" type="text" id="phone" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" bgcolor="#FFFFFF"> </td>
</tr>
<tr bgcolor="#FF99CC">
<td colspan="2"><div align="center">รายละเอียดในการเข้าสู่ระบบ</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td bgcolor="#FFFFFF"><div align="right">Login Name </div></td>
<td bgcolor="#FFFFFF"><input name="user_name" type="text" id="user_name" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td bgcolor="#FFFFFF"><div align="right">Password </div></td>
<td bgcolor="#FFFFFF"><input name="pwd_name1" type="password" id="pwd_name1" size="21" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td bgcolor="#FFFFFF"><div align="right">Re-Password </div></td>
<td bgcolor="#FFFFFF"><input name="pwd_name2" type="password" id="pwd_name2" size="21" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td bgcolor="#FFFFFF"><div align="right">E-mail </div></td>
<td bgcolor="#FFFFFF"><input name="email" type="text" id="email" size="20" /></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" bgcolor="#FFFFFF"> </td>
</tr>
<tr bgcolor="#FFFFCC">
<td colspan="2">
<div align="center">
<input type="submit" name="submit" id="submit" value="Submit" />
<input type="reset" name="Reset" id="reset" value="Reset" />
<input name="ok" type="hidden" id="ok" value="ok_pass" />
</div> </td>
</tr>
</table>
</form>
แล้วพอเมื่อเรากดปุ่มsubmit จะทำงานส่งค่าเข้าไปเช็คในไฟล์ member_add_new.php
Code (PHP)
<?php
session_start() ;
/* add by kergrit(redthird.com) for compatible global variable off/on php.ini */
$name = $_POST['name'];
$surname = $_POST['surname'];
$age = $_POST['age'];
$sex = $_POST['sex'];
$address = $_POST['address'];
$tumbon = $_POST['tumbon'];
$amper = $_POST['amper'];
$province = $_POST['province'];
$zipcode = $_POST['zipcode'];
$phone = $_POST['phone'];
$user_name = $_POST['user_name'];
$pwd_name1 = $_POST['pwd_name1'];
$pwd_name2 = $_POST['pwd_name2'];
$email = $_POST['email'];
$Submit = $_POST['Submit'];
$ok = $_POST['ok'];
/* end of add */
?>
<?php
include("config.php") ;
// ตรวจสอบ กรณีที่เรียกหน้านี้ขึ้นมาเลยโดยที่กรอกข้อมูลไม่ครบ
if($name=="" || $age=="" || $province=="" || $user_name=="" || $pwd_name1=="" || $email=="") {
echo "<meta http-equiv='refresh' content='0; url=signup.php'>" ;
}
// ถ้ากรอกอีเมล์ไม่ถูกต้อง
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)$",$email)){
echo "<br><br><center><font size='3' face='MS Sans Serif'><b>กรุณากรอกอีเมล์ให้ถูกต้องด้วยครับ</b></font>" ;
echo "<br><br><input type='button' value='edit your email' onclick='history.back();'></center></body></html>" ;
exit() ;
}
if((isset($ok)) and ($ok!="ok_pass")) {
echo "<meta http-equiv='refresh' content='0; url=signup.php'>" ;
}
//$signup = date("j/n/").(date("Y")+543) ;
// ตรวจสอบว่ามีชื่อ user นี้ใช้ไปหรือยัง
$sql = "select user from member where user='$user_name'" ;
$result = mysql_query($sql) ;
$numrow = mysql_num_rows($result) ;
if($numrow!=0) {
echo "<br><br><center><font size='3' face='MS Sans Serif'>ขอโทษด้วยครับ ชื่อ Login $user_name นี้ ได้มีผู้ใช้ไปแล้วครับ กรุณาเปลี่ยนชื่อ Login ใหม่" ;
echo "<br><br><input type='button' value='back to edit' onclick='history.back();'></center></body></html>" ;
exit() ;
}
// ถ้ายังไม่มีผู้ใช้ชื่อ user นี้
$sql = "select * from member order by id desc" ;
$result = mysql_query($sql) ;
$num_result = mysql_num_rows($result) ;
$dbarr = mysql_fetch_row($result) ;
$member_db = $dbarr[0]+1 ; // นำค่า id มาเพิ่มให้กับค่ารหัสสมาชิกครั้งละ1
if($member_db>=100) {
$member_in = "0$member_db" ;
}
else {
if($member_db >=10) {
$member_in = "00$member_db" ;
}
else {
$member_in = "000$member_db" ;
}
}
$member_id = $yourcode.$member_in; // รหัสสมาชิกเช่น ip0001
$result = mysql_query("insert into member (member_id,name,surname,age,sex,address,tumbon,amper,province,zipcode,phone,user,password,email )values('$member_id','$name','$surname','$age','$sex','$address','$tumbon','$amper','$province','$zipcode','$phone','$user_name','$pwd_name1','$email')");
//
if($result) {
$_SESSION['login_true'] = $user_name;
echo "<center><font size=\"3\" face='MS Sans Serif'><b>ขอบคุณมากครับ สำหรับการลงทะเบียนเป็นสมาชิก</b></font></center>";
echo "<meta http-equiv='refresh' content='2; url=member/member_detail.php'>" ;
}
else{echo"บันทึกข้อมูลลงฐานข้อมูลไม่สำเร็จ";}
?>
คืออยากทราบว่าถ้าเราจะใส่โค้ดให้สามารถส่งเมล์ยืนยันเมื่อสมัครสมาชิกเสร็จเรียบร้อยแบบอัตโนมัติ และให้ยืนยันการสมัครสมาชิกกลับมา จึงสามารถทำการlogin เข้าใช้งานระบบได้ หากไม่ยืนยันภายใน30วัน ก็ไม่สามารถยืนยันได้ และทำการลบข้อมูลออกจากฐานข้อมูลโดยอัตโนมัติ
และรบกวนขอโค้ดด้วยนะค่ะ ลองทำแล้วมันไม่ได้สักที
ช่วยหน่อยนะค่ะ โปรเจคจบTag : PHP, MySQL, CakePHP
Date :
2011-03-18 21:12:08
By :
badtzyui
View :
1476
Reply :
3
ขอบคุณค่ะ เด๋วลองอ่านก่อน
Date :
2011-03-19 10:32:53
By :
badtzyui
ไม่ได้อ่ะค่ะ รบกวนหน่อยนะ ไม่ได้จริงๆๆ
Date :
2011-03-20 12:39:37
By :
badtzyui
Load balance : Server 03