PHP Ionic Angular Phonegap AJAX Javascript CSS MySQL jQuery Forum


สอบถามเรื่องการ เช็ค username ก่อนสมัครสมาชิกค่ะ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเรื่องการ เช็ค username ก่อนสมัครสมาชิกค่ะ

สอบถามเรื่องการ เช็ค username ก่อนสมัครสมาชิกค่ะ

ลองสมัครสมาชิกเเล้วไม่เช็คเงือนไขซักข้อเลยค่ะ เเล้วตอนสมัครสมัครสมาชิกก็จะเเสดงผลว่า error อย่างเดียว
ไม่ทราบว่าตรงไหนผิดรึป่าวหรือผิดหมดเลย ช่วยดูโค้ดให้หน่อยนะค่ะ
ต้องการให้มันเเจ้งเตื่อนเเบบในรูปค่ะ เเต่ตอนนี้ไม่เช็คเงื่อนไขซักข้อเลยค่ะ เเล้วต้องการให้เช็ค username ว่าซ้ำกันรึป่าวก็ยังทำไม่ได้ค่ะ^^

 
กรุณากรอก ชื่อผู้ใช้เข้าสู่ระบบ
กรุณากรอก รหัสผ่าน
 
     
 
 

ไฟล์ regis.php


<div id="block_regis_new">
<form action="save_member.php" method="post" name="form1" id="form1">
<table width="300px">
<tr>
<td><label><h4>&nbsp;ลงทะเบียน</h4></label></td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>

<tr>
<td><label>&nbsp;ชื่อ -นามสกุล :</label>
</td>
</tr>

<tr>
<td><input name="txtName" type="text" id="txtName" size="35" class="form-control" placeholder="ชื่อ - นามสกุล" />
<span class="input-notification error png_bg" id="name-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;อีเมล :</label>
</td>
</tr>

<tr>
<td><input name="txtEmail" type="text" id="txtEmail" size="35" class="form-control" placeholder="อีเมล" />
<span class="input-notification error png_bg" id="email-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;ชื่อผู้ใช้เข้าสู่ระบบ :</label>
</td>
</tr>

<tr>
<td><input name="txtUsername" type="text" id="txtUsername" class="form-control" placeholder="ชื่อผู้ใช้เข้าสู่ระบบ"  size="35"/>
<span class="input-notification error png_bg" id="username-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;รหัสผ่าน :</label>
</td>
</tr>

<tr>
<td><input name="txtPassword" type="password" id="txtPassword" class="form-control" placeholder="รหัสผ่าน" size="35" />
<span class="input-notification error png_bg" id="password-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;ยืนยันรหัสผ่านอีกครั้ง :</label>
</td>
</tr>

<tr>
<td><input name="txtConPassword" type="password" id="txtConPassword" class="form-control" placeholder="ยืนยันรหัสผ่านอีกครั้ง" size="35" />
<span class="input-notification error png_bg" id="conpassword-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>

<tr>
<td><span style="float:left"><input type="submit" name="submit" value="ลงทะเบียน" class="btn btn-default" onclick="regis()"/></span><span style="float:left"><div class="btn btn-default"><a href="index.php">ยกเลิกการสมัครสมาชิก</a></div></span></td>
</tr>
</table>
</form>
</div>


ไฟล์ regis.js

function regis()
{     
	var txtUsername = document.form1.txtUsername.value;
	var txtPassword = document.form1.txtPassword.value;
	var txtConPassword = document.form1.txtConPassword.value;
	var txtName = document.form1.txtName.value;
    var txtEmail = document.form1.txtEmail.value;
	
	if(txtName=="")
		{
        $("#name-error").fadeIn(700).show("slow").html(
            "กรุณากรอก ชื่อ - นามสกุล"
            );       
    	}
    else
		{
        $("#name-error").fadeOut(700).hide("slow");
    	}
    if(txtEmail==!"")
		{
			if((txtEmail.indexOf("@")==-1)|| (txtEmail.indexOf(".")==-1))
        	{$("#email-error").fadeIn(700).show("slow").html(
            "รูปแบบ อีเมลไม่ถูกต้อง"
            );       
   			}
		}
	else 
		{
        $("#email-error").fadeOut(700).hide("slow");
    	}
	if(txtUsername=="")
		{
        $("#username-error").fadeIn(700).show("slow").html(
            "กรุณากรอก ชื่อผู้ใช้เข้าสู่ระบบ"
            );       
    	}
    else
		{
        $("#username-error").fadeOut(700).hide("slow");
    	}
	if(txtPassword=="")
		{
        $("#password-error").fadeIn(700).show("slow").html(
            "กรุณากรอก รหัสผ่าน"
            );       
    	}
    else
		{
        $("#password-error").fadeOut(700).hide("slow");
    	}
	
	if(txtConPassword!="" && txtPassword!="")
		{
        $("#conpass-error").fadeIn(700).show("slow").html(
            "ยืนยันรหัสผ่านไม่ตรงกัน"
            );       
    	}
    else
		{
        $("#conpass-error").fadeOut(700).hide("slow");
    	}
	
			$.ajax(
					{
						url : "save_member.php",
						type: "POST",
						data : $("#form1").serializeArray(),
						success:function(data)
					{
						$("#message_error").hide(); 
                if(data = "error")
					{
					$("#message_error").fadeIn(1000).show("slow").html("username "+$("#txtUsername")+" มีผู้ใช้แล้ว"); 
                	}   
                else
					{
                     window.location = "profile_edit.php";
               	 	} 
					
					}
				});
			
}


 

ไฟล์ save_member.php
 

<?php 
session_start();
include 'connect.inc.php';

 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php include "title_name.html"; ?>
</head>

<body>
<?php
$yea = date("Y")+543; 
//$hou = date("h")-1;
$username = $_POST['txtUsername'];
$password = $_POST['txtPassword'];
$name = $_POST['txtName'];
$email = $_POST['txtEmail'];
$m_date = date("d-m-$yea H:i:s");


if(isset($username)) {
	
	$sql_check_user = mysql_query("SELECT * FROM member WHERE username='$username'");
	$num_row_sql_check_user = mysql_num_rows($sql_check_user);
	
	if($num_row_sql_check_user == 0) 
	{
		$sql = "INSERT INTO member (
			member_name,
			email,
			member_date,
			username,
			password
			) VALUES (
			'$name',
			'$email',
			'$m_date',
			'$username',
			'$password'  )";
			
			if(mysql_query($sql))
			{
	
			$sql1 = "SELECT 
			  `member`.member_id,
			  `member`.member_name,
			  `member`.username,
			  `member`.password
			FROM
			  `member`
			WHERE
			  `member`.username = '$username' AND 
			  `member`.password = '$password' 
			  ";
			//echo $sql;
			$result = mysql_query($sql1)or die(mysql_error().$sql1);
			$num = mysql_num_rows($result);
			
			if($num>0)
				{
					
					$row=mysql_fetch_array($result);
					$_SESSION["member_id"]=$row['member_id'];
					$_SESSION["s_checkAdminLogin"]="AdminLoginOnly";
	
				}
				echo "ลงทะเบียนเรียบร้อยแล้ว";
			}
	}
	else 
	{
		echo "error";	
	}
}


?>
</body>
</html>






โดย:  Nathakarn IP: 180.183.98.xxx วันที่: 01-12-2014 เวลา: 22:35:42

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 1
ไฟล์ save_member.php ถ้าเราจะใช้แบบ ajax ที่คืนค่ากลับ ต้องไม่มีส่วนประกอบอื่นๆ นอกจาก ค่าที่เราจะใช้
เช่น ตามโค้ด จะใช้คำว่า error ถ้ามีข้อมูลแล้ว  ดังนั้นไฟล์ save_member.php จะต้องมีแต่คำว่า error 

<?php
session_start();  
header("Content-type:text/html; charset=UTF-8");            
header("Cache-Control: no-store, no-cache, must-revalidate");         
header("Cache-Control: post-check=0, pre-check=0", false);      
include 'connect.inc.php';  
$yea = date("Y")+543;   
//$hou = date("h")-1;  
$username = $_POST['txtUsername'];  
$password = $_POST['txtPassword'];  
$name = $_POST['txtName'];  
$email = $_POST['txtEmail'];  
$m_date = date("d-m-$yea H:i:s");  
  
  
if(isset($username)) {  
      
    $num_row_sql_check_user = mysql_num_rows(mysql_query("
    SELECT * FROM member WHERE username='".$username."'
    "));  
      
    if($num_row_sql_check_user == 0)   
    {  
        $sql = "INSERT INTO member (  
            member_name,  
            email,  
            member_date,  
            username,  
            password  
            ) VALUES (  
            '$name',  
            '$email',  
            '$m_date',  
            '$username',  
            '$password'  )";  
              
            if(mysql_query($sql))  
            {  
      
            $sql1 = "SELECT   
              `member`.member_id,  
              `member`.member_name,  
              `member`.username,  
              `member`.password  
            FROM  
              `member`  
            WHERE  
              `member`.username = '$username' AND   
              `member`.password = '$password'   
              ";  
            //echo $sql;  
            $result = mysql_query($sql1)or die(mysql_error().$sql1);  
            $num = mysql_num_rows($result);  
              
            if($num>0)  
                {  
                      
                    $row=mysql_fetch_array($result);  
                    $_SESSION["member_id"]=$row['member_id'];  
                    $_SESSION["s_checkAdminLogin"]="AdminLoginOnly";  
      
                }  
                echo "ลงทะเบียนเรียบร้อยแล้ว";  
            }  
    }  
    else   
    {  
        echo "error";     
    }  
}  
?>  


โดย:  Ninenik IP: 1.46.83.xxx วันที่: 01-12-2014
 ความคิดเห็นที่ 2
ลองไปเเก้ตามที่บอกเเล้วนะค่ะ ก็ยังขึ้น error เหมือนเดิมค่ะ ^^


โดย:  Nathakarn IP: 180.183.98.xxx วันที่: 02-12-2014 เวลา: 00:23:32
 ความคิดเห็นที่ 3
เอาโค้ดนี้ไปดูเป็นแนวทาง

ไฟล์ form.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    <form name="myform" id="myform" action="save.php" method="post">
        <input type="text" name="txtusername" id="txtusername" value="">
        <button type="submit" name="submit">Save</button>
    </form>
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>    
<script type="text/javascript">
$(function(){

    $("#myform").on("submit",function(){
        if($("#txtusername").val()==""){
            alert("NO");
            return false;
        }
    });
    
  var delayID=null;  
    $("#txtusername").on("keyup",function(e){  
        var text_username=$(this).val();
        if(delayID==null){  
            delayID=setTimeout(function(){  
                $.post("checkuser.php",{user:text_username},function(data){
                    if(data==0){
                        alert("มีชื่อนี้แล้ว");  
                         $("#txtusername").val(""); // ทำค่าให้ว่าง หรือล้างค่า textbox
                    }
                });
                delayID=null;  
            },3000);                              
        }else{  
            if(delayID){  
                clearTimeout(delayID);  
                delayID=setTimeout(function(){  
                    $.post("checkuser.php",{user:text_username},function(data){
                        if(data==0){
                            alert("มีชื่อนี้แล้ว");  
                             $("#txtusername").val(""); // ทำค่าให้ว่าง หรือล้างค่า textbox
                        }
                    });             
                    delayID=null;  
                },3000);                          
            }         
        }  
    });  
    
});
</script>    
</body>
</html>


ไฟล์ checkuser.php

<?php
session_start();
header("Content-type:text/html; charset=UTF-8");              
header("Cache-Control: no-store, no-cache, must-revalidate");             
header("Cache-Control: post-check=0, pre-check=0", false);   
if($_POST['user']=='1111'){ // ค่าทดสอบสมมติ ใช้จริงไปปรับให้เข้ากับข้อมูล
  echo 0;  // มีชื่อนี้แล้ว
}else{
  echo 1;  // ชือนี้ว่าง
}
?>


โดย:  Ninenik IP: 1.46.83.xxx วันที่: 02-12-2014
 ความคิดเห็นที่ 4
ขอบคุณค่ะ^^


โดย:  Nathakarn IP: 183.89.211.xxx วันที่: 06-12-2014 เวลา: 22:35:05
 ความคิดเห็นที่ 5

ของเก่าที่เคยถามเเต่ตอนนี้ไปปรับเปลี่ยนฟังก์ชั่นเช็คฟอร์ม เเต่ฟังก์ชันก็ยังไม่ทำงานเเละบันทึกลงฐานข้อมูลไม่ได้เหมือนเดิมค่ะ

1.เขียนฟอร์มสมัครสมาชิก เเละตรวจสอบค่าว่างในฟอร์มโดยใช้ ajax  เเละตรวจสอบค่า username เเละ email ซ้ำ ไม่เเน่ใจว่าฟังก์ชั่นเช็คฟอร์มที่เขียนถูก

ต้องรึป่าว รบกวนช่วยดูให้หน่อยค่ะ

2.ไฟล์ที่ใช้ในการบันทึกลงฐานข้อมูล save_member.php ไม่ทราบว่าต้องเขียนยังไงค่ะ เพราะอันที่ทำมันเเปลกๆ ใช้ไม่ได้ รบกวนช่วยดูให้หน่อยนะค่ะ

ไม่เเน่ใจว่าไฟล์ save_member.php ต้องเช็คค่าอะไรก่อนบันทึกข้อมูลอีกรึป่าว

รบกวนช่วยอธิบายหน่อยนะค่ะ ไม่ค่อยเข้าใจเรื่องหลักการทำงานเท่าไหร่ค่ะ ลองเเก้มาหลายวันเเล้วก็ไม่ได้ค่ะ

ไฟล์ register.php
 

  <script type="text/javascript">
$(document).ready(function(){
	$('#submit').click(function()
	{
	
	if($("#txtName").val()=="")
				{
					$("#name_error").html("*กรุณากรอกชื่อ-นามสกุล");
					return false;
				}
	if($("#txtEmail").val()!="")
				{
					
				if(($("#txtEmail").val().indexOf("@")==-1)||($("#txtEmail").val().indexOf(".")==-1))
					{
						$("#email_error").html("*รูปแบบ อีเมล ไม่ถูกต้อง");
						return false;
					}
				}
				else
				{
						$("#email_error").html("*กรุณากรอก อีเมล ");
						return false;
				}				
	if($("#txtUsername").val()=="")
				{
					$("#username-error").html("*กรุณากรอก ชื่อบัญชีผู้ใช้");
					return false;
				}
	if($("#txtPassword").val()=="")
				{
					$("#password-error").html("*กรุณากรอก รหัสผ่าน");
					return false;
				}
	if($("#txtConPassword").val()=="")
				{
					$("#conpassword-error").html("*กรุณากรอก ยืนยันรหัสผ่าน");
					return false;
				}			
	if($("#txtConPassword").val()!=$("#txtPassword").val())
				{
					$("#conpassword-error").html("*ยืนยัน รหัสผ่าน ไม่ตรงกัน");
					return false;
				}
				

	$("#txtUsername,#txtEmail").change(function(){

			$("#username-error").empty();
			$("#email-error").empty();

			$.ajax({ 
				url: "check_form.php" ,
				type: "POST",
				data: 'username-error=' +$("#txtUsername").val()+'&email-error='+$("#txtEmail").val()
			})
			.success(function(result) { 

					var obj = jQuery.parseJSON(result);

					if(obj != '')
					{
						  $.each(obj, function(key, inval) {

								   if($("#txtUsername").val() == inval["Username"])
								  {
									   $("#username-error").html("ชื่อผู้ใช้นี้มีอยู่แล้ว");
								  }

								   if($("#txtEmail").val() == inval["Email"])
								  {
									   $("#email-error").html("อีเมลนี้มีอยู่แล้ว");
								  }

						  });
					}

			});

		});
	});
	});
</script>

<div id="block_regis_new">
<form action="save_member.php" method="post" name="form1" id="form1">
<table width="300px">
<tr>
<td><label><h4>&nbsp;ลงทะเบียน</h4></label></td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>

<tr>
<td><label>&nbsp;ชื่อ -นามสกุล :</label>
</td>
</tr>

<tr>
<td><input name="txtName" type="text" id="txtName" size="35" class="form-control" placeholder="ชื่อ - นามสกุล" />
<span class="input-notification error png_bg" id="name-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;อีเมล :</label>
</td>
</tr>

<tr>
<td><input name="txtEmail" type="text" id="txtEmail" size="35" class="form-control" placeholder="อีเมล" />
<span class="input-notification error png_bg" id="email-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;ชื่อผู้ใช้เข้าสู่ระบบ :</label>
</td>
</tr>

<tr>
<td><input name="txtUsername" type="text" id="txtUsername" class="form-control" placeholder="ชื่อผู้ใช้เข้าสู่ระบบ"  size="35"/>
<span class="input-notification error png_bg" id="username-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;รหัสผ่าน :</label>
</td>
</tr>

<tr>
<td><input name="txtPassword" type="password" id="txtPassword" class="form-control" placeholder="รหัสผ่าน" size="35" />
<span class="input-notification error png_bg" id="password-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td><label>&nbsp;ยืนยันรหัสผ่านอีกครั้ง :</label>
</td>
</tr>

<tr>
<td><input name="txtConPassword" type="password" id="txtConPassword" class="form-control" placeholder="ยืนยันรหัสผ่านอีกครั้ง" size="35" />
<span class="input-notification error png_bg" id="conpassword-error" style="color:#F00"></span>
</td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>

<tr>
<td><span style="float:left"><input type="submit" name="submit" value="ลงทะเบียน" class="btn btn-default" /></span><span style="float:left"><div class="btn btn-default"><a href="index.php">ยกเลิกการสมัครสมาชิก</a></div></span></td>
</tr>
</table>
</form>
</div>

ไฟล์ check_for.php
 

<?php
	$objConnect = mysql_connect("localhost","root","1234") or die(mysql_error());
	$objDB = mysql_select_db("mook1");
	$strSQL = "SELECT * FROM member WHERE 1 AND username = '".$_POST["username-error"]."' OR email = '".$_POST["email-error"]."' ";
	$objQuery = mysql_query($strSQL) or die (mysql_error());
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	while($obResult = mysql_fetch_array($objQuery))
	{
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++)
		{
			$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
		}
		array_push($resultArray,$arrCol);
	}
	
	mysql_close($objConnect);
	
	echo json_encode($resultArray);
?>

ไฟล์ save_member.php
 

<?php
$yea = date("Y")+543; 
//$hou = date("h")-1;
$username = $_POST['txtUsername'];
$password = $_POST['txtPassword'];
$name = $_POST['txtName'];
$email = $_POST['txtEmail'];
$m_date = date("d-m-$yea H:i:s");

$sqlcheck = "SELECT 
  `member`.member_id,
  `member`.member_name,
  `member`.username,
  `member`.password
FROM
  `member`
WHERE
  `member`.username = '$username'
  ";
//echo $sqlcheck;
$resultcheck = mysql_query($sqlcheck)or die(mysql_error().$sqlcheck);
$numuser = mysql_num_rows($resultcheck);
//echo $numuser;

if($numuser==0){
		
	$sql = "INSERT INTO member (
			member_name,
			email,
			member_date,
			username,
			password
			) VALUES (
			'$name',
			'$email',
			'$m_date',
			'$username',
			'$password'  )";
			
		if(mysql_query($sql)){
				
				
			$sql1 = "SELECT 
			  `member`.member_id,
			  `member`.member_name,
			  `member`.username,
			  `member`.password
			FROM
			  `member`
			WHERE
			  `member`.username = '$username' AND 
			  `member`.password = '$password' 
			  ";
			//echo $sql;
			$result = mysql_query($sql1)or die(mysql_error().$sql1);
			$num = mysql_num_rows($result);
			
				if($num>0)
				{
					
					$row=mysql_fetch_array($result);
					$_SESSION["member_id"]=$row['member_id'];
					$_SESSION["s_checkAdminLogin"]="AdminLoginOnly";
				}
					
				echo "ลงทะเบียนเรียบร้อยแล้ว";
				echo "<meta http-equiv='refresh' content='1;URL=profile_edit.php'>";
			}
}
else
	{
				echo "ลงทะเบียนผิดพลาด";
				echo "<meta http-equiv='refresh' content='1;URL=index.php'>";
	}
	
?>


โดย:  Nathakarn IP: 180.183.124.xxx วันที่: 14-12-2014 เวลา: 20:12:16
 ความคิดเห็นที่ 6
สร้างไฟล์ตรวจสอบ username และ email ชื่อ checkuser.php และ checkemail.php

checkuser.php

<?php
session_start();
header("Content-type:text/html; charset=UTF-8");              
header("Cache-Control: no-store, no-cache, must-revalidate");             
header("Cache-Control: post-check=0, pre-check=0", false);   
// เชื่อมต่อกับฐานข้อมูล      
$link=mysql_connect("localhost","root","1234"); // เชื่อมต่อ Server        
mysql_select_db("mook1");  // ติดต่อฐานข้อมูล        
mysql_query("set character set utf8"); // กำหนดค่า character set ที่จะใช้แสดงผล    
// check username
if(@mysql_num_rows(@mysql_query("
SELECT * FROM member WHERE 
username = '".$_POST["username"]."' 
"))>0){
    echo 0; // กำหนดให้ 0 คือค่าไม่ว่าง หรือมีชื่อนี้อยู่แล้ว
}else{
    echo 1;  // กำหนดให้ 1 คือค่าว่าง ยังไม่มีชื่อนี้
}
?>


checkemail.php

<?php
session_start();
header("Content-type:text/html; charset=UTF-8");              
header("Cache-Control: no-store, no-cache, must-revalidate");             
header("Cache-Control: post-check=0, pre-check=0", false);   
// เชื่อมต่อกับฐานข้อมูล      
$link=mysql_connect("localhost","root","1234"); // เชื่อมต่อ Server        
mysql_select_db("mook1");  // ติดต่อฐานข้อมูล        
mysql_query("set character set utf8"); // กำหนดค่า character set ที่จะใช้แสดงผล    
// check email
if(@mysql_num_rows(@mysql_query("
SELECT * FROM member WHERE 
email = '".$_POST["email"]."' 
"))>0){
    echo 0; // กำหนดให้ 0 คือค่าไม่ว่าง หรือมีชื่อนี้อยู่แล้ว
}else{
    echo 1;  // กำหนดให้ 1 คือค่าว่าง ยังไม่มีชื่อนี้
}
?>


กำหนด id ให้กับ form ชื่อ form_member



สคริปสำหรับตรวจสอบการ ส่งข้อมูล และการเช็คค่าไม่ซ้ำ email และ username

  




โดย:  Ninenik IP: 1.46.82.xxx วันที่: 15-12-2014
 ความคิดเห็นที่ 7

ขอบคุณมากกค่ะ เข้าใจขึ้นมาเยอะเลยค่ะ เเต่ยังสงสัยเรื่องไฟล์ save_member.php อยู่ค่ะ ไม่ทราบว่าหลังจากที่เราเช้คเงื่อนไขทุกอย่างหมดเเล้วในไฟลืนี้ต้องเช็คค่าอะไรอีกรึป่าวค่ะ หรือเราสามารถบันทึกลงฐานข้อมูลได้เลย ลองไปเเก้ไฟล์ save_member มาหลายครั้งเเล้วก็ไม่ได้ค่ะ 
รบกวนพี่ช่วยเเนะหน่อยนะค่ะ  ^^


<?php  
$yea = date("Y")+543;   
//$hou = date("h")-1;  
$username = $_POST['txtUsername'];  
$password = $_POST['txtPassword'];  
$name = $_POST['txtName'];  
$email = $_POST['txtEmail'];  
$m_date = date("d-m-$yea H:i:s");  
  
$sqlcheck = "SELECT   
  `member`.member_id,  
  `member`.member_name,  
  `member`.username,  
  `member`.password  
FROM  
  `member`  
WHERE  
  `member`.username = '$username'  
  ";  
//echo $sqlcheck;  
$resultcheck = mysql_query($sqlcheck)or die(mysql_error().$sqlcheck);  
$numuser = mysql_num_rows($resultcheck);  
//echo $numuser;  
  
if($numuser==0){  
          
    $sql = "INSERT INTO member (  
            member_name,  
            email,  
            member_date,  
            username,  
            password  
            ) VALUES (  
            '$name',  
            '$email',  
            '$m_date',  
            '$username',  
            '$password'  )";  
              
        if(mysql_query($sql)){  
                  
                  
            $sql1 = "SELECT   
              `member`.member_id,  
              `member`.member_name,  
              `member`.username,  
              `member`.password  
            FROM  
              `member`  
            WHERE  
              `member`.username = '$username' AND   
              `member`.password = '$password'   
              ";  
            //echo $sql;  
            $result = mysql_query($sql1)or die(mysql_error().$sql1);  
            $num = mysql_num_rows($result);  
              
                if($num>0)  
                {  
                      
                    $row=mysql_fetch_array($result);  
                    $_SESSION["member_id"]=$row['member_id'];  
                    $_SESSION["s_checkAdminLogin"]="AdminLoginOnly";  
                }  
                      
                echo "ลงทะเบียนเรียบร้อยแล้ว";  
                echo "<meta http-equiv='refresh' content='1;URL=profile_edit.php'>";  
            }  
}  
else  
    {  
                echo "ลงทะเบียนผิดพลาด";  
                echo "<meta http-equiv='refresh' content='1;URL=index.php'>";  
    }  
      
?>  


โดย:  Nathakarn IP: 180.183.55.xxx วันที่: 15-12-2014 เวลา: 02:53:37
 ความคิดเห็นที่ 8
ไม่ต้องแก้ หรือเช็คค่าอะไรเพิ่มเติม ใช้บันทึกข้อมูลอย่างเดียว


โดย:  Ninenik IP: 171.96.40.xxx วันที่: 15-12-2014
 ความคิดเห็นที่ 9

ลองไปเเก้ดูเเล้วนะค่ะ ไม่เเน่ใจว่าเเบบนี้หรือเปล่าค่ะ เเต่พอนำไปใช้ ลองกดปุ่ม submit ทั้งที่เรายังไม่กรอกข้อมูลสักช่องเดียว มันขึ้นว่า ลงทะเบียนเรียบร้อยเเล้ว เเละไม่ขึ้นเออเร่อหรือเเจ้งเตื่อนเงื่อนไขที่ทำการเช็คในฟอร์มสมัครสมาชิกเลยค่ะ
ไฟล์ save_member.php
 

<?php  

$yea = date("Y")+543;     
//$hou = date("h")-1;    
$username = $_POST['txtUsername'];    
$password = $_POST['txtPassword'];    
$name = $_POST['txtName'];    
$email = $_POST['txtEmail'];    
$m_date = date("d-m-$yea H:i:s");    
    
    
   
        $sql = "INSERT INTO member (    
            member_name,    
            email,    
            member_date,    
            username,    
            password    
            ) VALUES (    
            '$name',    
            '$email',    
            '$m_date',    
            '$username',    
            '$password'  )";    
                
           
                
    if(mysql_query($sql)){
		
		echo "<script language="JavaScript">";
		echo "alert('ลงทะเบียนเรียบร้อยแล้ว');";
		echo "</script>";
		echo "<meta http-equiv='refresh' content='1;URL=profile_edit.php'>";
		}
	else{
		echo "<script language="JavaScript">";
		echo "alert('ลงทะเบียนผิดพลาด');";
		echo "</script>";
		echo "<meta http-equiv='refresh' content='1;URL=index.php'>";
	
		}    
?>    


โดย:  Nathakarn IP: 180.183.116.xxx วันที่: 15-12-2014 เวลา: 23:10:43
 ความคิดเห็นที่ 10
ไม่น่าจะเกี่ยวกับไฟล์ save_member.php ให้ไปดูที่ไฟล์หลักพร้อม javascript ที่แนะนำ ตรงทั้ง jquery ว่าตกอะไรไปไหม หรือพิมพ์อะไรผิดหรือเปล่า
เหมือนโค้ดที่ตัวอย่างที่ให้ไปตอนแรก พิมพ์ผิด จาก -error เป็น _error เลยไม่แสดงผล ลองดูโค้ดใหม่ตามนี้ ส่วนไฟล์ checkuser.php และ
ไฟล์ checkemail.php ดูความเห้นด้านล่างที่ 6

 
 


ดูโค้ดแบบเต็มนี้เป็นแนวทาง

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
    
<div id="block_regis_new">  
<form action="save_member.php" method="post" name="form_member" id="form_member"> 
<table width="300px">  
<tr>  
<td><label><h4>&nbsp;ลงทะเบียน</h4></label></td>  
</tr>  
  
<tr>  
<td>&nbsp;</td>  
</tr>  
  
<tr>  
<td><label>&nbsp;ชื่อ -นามสกุล :</label>  
</td>  
</tr>  
  
<tr>  
<td><input name="txtName" type="text" id="txtName" size="35" class="form-control" placeholder="ชื่อ - นามสกุล" />  
<span class="input-notification error png_bg" id="name-error" style="color:#F00"></span>  
</td>  
</tr>  
  
<tr>  
<td><label>&nbsp;อีเมล :</label>  
</td>  
</tr>  
  
<tr>  
<td><input name="txtEmail" type="text" id="txtEmail" size="35" class="form-control" placeholder="อีเมล" />  
<span class="input-notification error png_bg" id="email-error" style="color:#F00"></span>  
</td>  
</tr>  
  
<tr>  
<td><label>&nbsp;ชื่อผู้ใช้เข้าสู่ระบบ :</label>  
</td>  
</tr>  
  
<tr>  
<td><input name="txtUsername" type="text" id="txtUsername" class="form-control" placeholder="ชื่อผู้ใช้เข้าสู่ระบบ"  size="35"/>  
<span class="input-notification error png_bg" id="username-error" style="color:#F00"></span>  
</td>  
</tr>  
  
<tr>  
<td><label>&nbsp;รหัสผ่าน :</label>  
</td>  
</tr>  
  
<tr>  
<td><input name="txtPassword" type="password" id="txtPassword" class="form-control" placeholder="รหัสผ่าน" size="35" />  
<span class="input-notification error png_bg" id="password-error" style="color:#F00"></span>  
</td>  
</tr>  
  
<tr>  
<td><label>&nbsp;ยืนยันรหัสผ่านอีกครั้ง :</label>  
</td>  
</tr>  
  
<tr>  
<td><input name="txtConPassword" type="password" id="txtConPassword" class="form-control" placeholder="ยืนยันรหัสผ่านอีกครั้ง" size="35" />  
<span class="input-notification error png_bg" id="conpassword-error" style="color:#F00"></span>  
</td>  
</tr>  
  
<tr>  
<td>&nbsp;</td>  
</tr>  
  
<tr>  
<td><span style="float:left"><input type="submit" name="submit" value="ลงทะเบียน" class="btn btn-default" /></span><span style="float:left"><div class="btn btn-default"><a href="index.php">ยกเลิกการสมัครสมาชิก</a></div></span></td>  
</tr>  
</table>  
</form>  
</div>      
    
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>    
<script type="text/javascript">  
$(function(){  
      
    // ถ้าฟอร์ม id เท่ากับ form_member ถูก submit ให้ตรวจสอบ   
    $("#form_member").submit(function(){  
        // กำหนดตัวแปร ใช้ _ ไว้ด้านหน้า เพื่อระบุว่าจะเป็นตัวแปร สำหรับ javascirpt  (เทคนิค)  
        var _txtName=$.trim($("#txtName").val()); // เก็บในตัวแปร ตัดช่องว่างซ้ายขวา  
        var _txtEmail=$.trim($("#txtEmail").val()); // เก็บในตัวแปร ตัดช่องว่างซ้ายขวา  
        var _txtUsername=$.trim($("#txtUsername").val()); // เก็บในตัวแปร ตัดช่องว่างซ้ายขวา  
        var _txtPassword=$.trim($("#txtPassword").val()); // เก็บในตัวแปร ตัดช่องว่างซ้ายขวา  
        var _txtConPassword=$.trim($("#txtConPassword").val()); // เก็บในตัวแปร ตัดช่องว่างซ้ายขวา  
  
          
        //////////// ส่วนของการ ตรวจสอบ  
          
        if(_txtName==""){  
            $("#name-error").html("*กรุณากรอกชื่อ-นามสกุล");    
            return false; // ไม่ต้อง submit    
        }else{  
            $("#name-error").html("");  // ไม่ต้องแจ้งอะไร ใช้ empty() ก็ได้   
        }  
          
        if(_txtEmail==""){  
            $("#email-error").html("*กรุณากรอก อีเมล ");    
              return false; // ไม่ต้อง submit    
        }else{  
            if(_txtEmail.indexOf("@")==-1 || _txtEmail.indexOf(".")==-1){    
                $("#email-error").html("*รูปแบบ อีเมล ไม่ถูกต้อง");    
                return false; // ไม่ต้อง submit    
            }else{  
                $("#email-error").html("");  // ไม่ต้องแจ้งอะไร ใช้ empty() ก็ได้  
            }  
        }  
          
        if(_txtUsername==""){  
            $("#username-error").html("*กรุณากรอก ชื่อบัญชีผู้ใช้");    
            return false; // ไม่ต้อง submit    
        }else{  
            $("#username-error").html("");  // ไม่ต้องแจ้งอะไร ใช้ empty() ก็ได้   
        }  
          
        if(_txtPassword==""){  
            $("#password-error").html("*กรุณากรอก รหัสผ่าน");    
            return false; // ไม่ต้อง submit    
        }else{  
            $("#password-error").html("");  // ไม่ต้องแจ้งอะไร ใช้ empty() ก็ได้   
        }  
          
        if(_txtConPassword==""){  
             $("#conpassword-error").html("*กรุณากรอก ยืนยันรหัสผ่าน");    
             return false; // ไม่ต้อง submit    
        }else{  
            if(_txtPassword!=_txtConPassword){  
                $("#conpassword-error").html("*ยืนยัน รหัสผ่าน ไม่ตรงกัน");    
                return false; // ไม่ต้อง submit    
            }else{  
                $("#conpassword-error").html("");  // ไม่ต้องแจ้งอะไร ใช้ empty() ก็ได้   
            }              
        }          
          
        //////////// จบ ส่วนของการ ตรวจสอบ  
          
  
    });  
      
  
    var delayID=null;      
    $("#txtUsername").on("keyup",function(e){      
        var _txtUsername=$.trim($(this).val());    
        if(delayID){  
            clearTimeout(delayID);      
        }  
        delayID=setTimeout(function(){      
            $("#username-error").html("");    
            $.post("checkuser.php",{  
                username:_txtUsername  
            },function(data){    
                if(data==0){    
                    $("#username-error").html("ชื่อผู้ใช้นี้มีอยู่แล้ว");    
                }    
            });    
            delayID=null;      
        },3000);                   
  
    });        
      
    var delayID=null;      
    $("#txtEmail").on("keyup",function(e){      
        var _txtEmail=$.trim($(this).val());    
        if(delayID){  
            clearTimeout(delayID);      
        }  
        delayID=setTimeout(function(){      
            $("#email-error").html("");    
            $.post("checkemail.php",{  
                email:_txtEmail  
            },function(data){    
                if(data==0){    
                    $("#email-error").html("อีเมลนี้มีอยู่แล้ว");    
                }  
            });    
            delayID=null;      
        },3000);                   
  
    });              
      
      
});  
</script>      
</body>
</html>


โดย:  Ninenik IP: 1.46.146.xxx วันที่: 16-12-2014
 ความคิดเห็นที่ 11
ขอบคุณค่ะ เเก้ได้เเล้วค่ะ เกิดจากพิมพ์  -error เป็น _error จิงๆด้วยค่ะ ขอบคุณมากๆค่ะ^^


โดย:  Nathakarn IP: 180.183.116.xxx วันที่: 16-12-2014 เวลา: 11:34:05