  | 
              
	              
	                
  
    
	 
        สอบถามเรื่องการใช้ Ajax หน้าล็อคอินโดนที่ไม่ต้องเปลี่ยนไปหน้าอื่นครับ     | 
   
  
    |   | 
   
 
 
 
              
  
          
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ทำใมต้องเป็น ajax ครับ ใช้ PHP if else ก็ได้นิ 
 
ลองก็อบไปวางดู ให้ชื่อว่า test.php นะครับ 
ตัวแปรจำไว้ในเซสซั่น แม้จะปิดหน้า เปิดมาใหม่ก็จำได้(ถ้าไม่ปิดเครื่องอะนะ) จำจนกว่าจะกดปุ่ม Logout เลยครับ 
Code (PHP) 
<?
Session_Start();
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<form id="form1" name="form1" method="post" action="test.php">
<table width="100%" border="1">
  <tr>
    <td colspan="3"><div align="center">สมมุติมันคือหน้าหลัก</div></td>
  </tr>
  <tr>
    <td colspan="3"> 
    <? if(!$_SESSION['user']){ ?>
    user 
      <input type="text" name="user" id="user" />
      <input type="submit" name="button" id="button" value="ล้อคอิน" />
    <?
    }else{ ?>
    สวัสดี <?=$_SESSION['user']?> <a href="?log_out=yes">Log out</a> <? } ?> </td>
  </tr>
 </table>
 
 <?
//ถ้ามีการล็อคอิน
if ($_POST['user'])  
   {
   $user=$_POST['user'];
   $_SESSION['user']=$user;
   echo "<meta http-equiv='refresh' content='0;URL=test.php'>";
   }
   
// log out
if($_GET['log_out']){
session_start();
unset ( $_SESSION['user'] );
session_destroy();
echo "<meta http-equiv='refresh' content='0;URL=test.php'>";
}
?>
</body>
</html>
                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2013-09-30 18:07:50              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-09-30 18:05:26 | 
                        By :
                            meannerss | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ใช้ ajax แต่พองามนะคร๊าบ                         
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-09-30 18:54:13 | 
                        By :
                            geidtiphong | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 เยี่ยมเลยครับ  ถ้าใช้ Ajax ผมก็มึนอยู่พอสมควร  ขอบคุณมากครับ แต่ขอถามต่ออีกนิดนึงนะครับ  ผมจะออกแบบฐานข้อมูลยังไงดีครับให้ได้ 3 table                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-09-30 19:19:00 | 
                        By :
                            Addyklub | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 1. ตารางสมาชิก เก็บข้อมูลสมาชิก 
2. ตารางอัพโหลด เก็บชื่อไฟล์รูปภาพ(มี FK มาจากตาราง 1 เพื่อแสดงความเป็นเจ้าของด้วย) 
3. ตารางอะไรดี  . . . ตารางโฆษณาละกัน ประมาณว่าเว็บขายโฆษณาด้วย  . . ..  หรือจะเป็นตารางประกาศข่าวสารก็ได้                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-09-30 19:56:14 | 
                        By :
                            meannerss | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ปัญหาที่ตัวผมมาอีกแล้วครับคือถ้าผมจะกำหนดให้สมาชิกอัพโหลดไฟล์ได้สูงสุด 300MB  ส่วนคนที่ไม่เป็นสมาชิกสูงสุด 100MB  ผมต้องเขียนโค้ดยังไงครับ  ผมค้นหาดูบางลิ้งค์ก็บอกว่า php อัพโหลดได้ไม่เกิน 30MB ผมเลยงงครับนี้โค้ดล่าสุดที่ผมทำครับ 
Code (PHP) 
<?
session_start();
?>
<!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" />
<title>UP4U :: แหล่งฝากไฟล์  อัพโหลดไฟล์ดี ๆ ที่อยู่แบบถาวร</title>
<link rel="stylesheet" href="style/style.css" />
<script type="text/javascript" src="ajax/ajaxlogin.js"></script>
</head>
<body>
<div id="container" align="center">
<div id="head">
Head
</div>
<div id="content">
<div id="conleft"><?
if(!$_SESSION['username']){
	if($_FILES["file"]["error"]>0){
		echo "Error:".$_FILES["file"]["error"];
	}else{
		//*** Insert Record ***//
		include ("include/connect.php");
		$sql = "INSERT INTO files ";
		$sql .="(FilesName) VALUES ('".$_FILES["filUpload"]["name"]."')";
		$sqlQuery = mysql_query($sql);
		move_uploaded_file($_FILES["filUpload"]["tmp_name"],"file/".$_FILES["filUpload"]["name"]);
	}
}
?>
</div>
<div id="conright">
<div id="login_table">
<form id="logingform" action="index.php" method="post">
<table>
<? if(!$_SESSION['username']){ ?>
<td colspan="2" align="center"><strong>สมาชิกเข้าสู่ระบบ</strong></td>
</tr>
<tr>
<td>ชื่อผู้ใช้:</td>
<td><input type="text" name="username" id="username"/></td>
</tr>
<tr>
<td>รหัสผ่าน:</td>
<td><input type="password" name="password" id="password"/></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="button" id="button" value="Login"/><input type="reset" /></td>
</tr>
<tr>
<td colspan="2" align="center"><a href="forgot.php" style="font-size:12px; color:#F00;">ลืมรหัสผ่าน!!</a></td>
</tr>
<tr>
<td colspan="2" align="center"><a href="frmregister.php" style="font-size:12px; color:#F00;">สมัครสมาชิกใหม่</a></td>
</tr><?
    }else{ ?>
    สวัสดี <?=$_SESSION['username']?> <a href="?log_out=yes">Log out</a> <? } ?> 
</table>
<?
//ถ้ามีการล็อคอิน
if ($_POST['username'])  
   {
   $user=$_POST['username'];
   $_SESSION['username']=$user;
   echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
   }
   
// log out
if($_GET['log_out']){
session_start();
unset ( $_SESSION['username'] );
session_destroy();
echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
}
?>
</form>
<form name="form1" method="post" action="index.php" enctype="multipart/form-data">
	<input type="file" name="fileUpload"><br>
	<input name="btnSubmit" type="submit" value="Submit">
	</form>
    </div>
    </div>
    <div id="clear"></div>
    <div id="footer">footer</div>
    </div>
</body>
</html>
                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2013-10-01 17:39:54              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-10-01 17:36:07 | 
                        By :
                            Addyklub | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ใช้  $_FILES["filUpload"]["size"] เพื่อเช็คขนาดครับก่อน หน่วยจะเป็น Byte  ก็คำนวนออกมาว่า 300 MB มันกี่ byte กี่ MB 
 
ถ้าน้อยกว่า 300MB >> ไปทำการอัพโหลดและ SQL ลงฐานข้อมูล 
ถ้าไม่ แสดงข้อความ "ขนาดเกินโปรดตรวจสอบ"  รีเฟรชไปหน้าเพิ่มข้อมูล และไม่ทำการ SQL ลงฐานข้อมูล                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-10-01 20:43:46 | 
                        By :
                            meannerss | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ผมเปลี่ยนใหม่เป็นสมาชิกกับไม่เป็นสมาชิกสามารถอัพไฟล์ได้เท่ากันหมดแต่ปัญหามันอยู่ที่ว่าไฟล์เล็ก ๆ อัพได้  แต่พอลองอัพไฟล์ขนาด 150MB อัพไม่ได้ครับ  มันเกิดปัญหาที่ตรงไหนครับ                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-10-02 14:07:04 | 
                        By :
                            Addyklub | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 Ajax Login apply ดูครับ 
Code (PHP) 
<div id="login">
Username : <input type="text" id="txtUsername" value="" /><br />
Password : <input type="password" id="psPassword" value="" />
<button id="btnLogin">Login</button>
</div>
<script src="jquery-10-1.min.js"></script>
<script>
	$(function(){
		$('#btnLogin').click(function(){
			var divLogin=$('#btnLogin');
			var Username=jQuery.trim($('#txtUsername').val());
			var Password=jQuery.trim($('#psPassword').val());
			if(Username != "" && Password != ""){
				$.ajax({url:"check.php",
					async:false,
					cache:false,
					global:false,
					type:"POST",
					data:"Username="+Username+
						"&Password="+Password,
					success: function(result){
						var obj=jQuery.parseJSON(result);
						if(obj != ""){
							$.each(obj,function(key,val){
								divLogin.empty();
								divLogin.append("Welcome"+val['Username']);
							});	
						}	
					}
				});
			}
		});
	});
</script>
 
 
check.php 
Code (PHP) 
<?php
	include ("config.inc.php");
	$Username=mysql_real_escape_string($_POST['Username']);
	$Password=mysql_real_escape_string($_POST['Password']);
	$select=mysql_query("select * from tb_member WHERE Username='".$Username."' AND Password='".$Password."'") or die (mysql_error());
	$numFields=mysql_num_fields($select);
	$arrResult=array();
	while($Member=mysql_fetch_array($select)){
		$arrCol=array();
		for($i=0;$i<$numFields;$i++){
			$arrCol[mysql_field_name($select,$i)]=$Member[$i];	
		}
		array_push($arrResult,$arrCol);
	}
	echo json_encode($arrResult);
?>
                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2013-10-02 14:34:04 2013-10-02 14:35:10 2013-10-02 17:27:14              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-10-02 14:32:23 | 
                        By :
                            Ex-[S]i[L]e[N]t | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 login ไม่ได้ครับ  อันนี้ผมลองแบบไม่ใส่ sha1  Username or password is not correct ตลอดเลยครับ 
Code (PHP) 
//ถ้ามีการล็อคอิน
if ($_POST['username'])  
   {
   $user=$_POST['username'];
   $p=$_POST['pass'];
   include ("include/connect.php");
   $sql="select user_id,username from member where username='$user' and password='$p'";
   $sqlQuery=mysql_query($sql) or die ("Cannot Query");
   $num=mysql_num_rows($sqlQuery);
   if($num==0){
	   echo "<script type='text/javascript'>alert('Username Or Password  is not correct');</script>";
	   echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
   }else{
	   $data=mysql_fetch_array($sqlQuery);
	   $_SESSION['username']=$data["username"];
	   $_SESSION['userID']=$data["user_id"];
	   echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
   }
  }
 
 
Edit  ครับ  ขออภัยครับตรงนี้แก้ไข้ได้แล้วครับผมใช้วิธีการ Debug Code โดยการ GET ค่าดูครับ                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2013-10-02 17:04:36              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2013-10-02 16:01:37 | 
                        By :
                            Addyklub | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
      		  
	
     | 
   
 
                 |