สอบถามเรื่องการใช้ 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
Load balance : Server 05