 |
สอบถามเรื่องAjax ครับ http://keng.onlinewebshop.net/site/music |
|
 |
|
|
 |
 |
|
ลองเปลี่ยนโค้ดชุดนี้ (ตรงปุ่ม like)
<a class="like" href="#" onclick="vote_add(41)"><span class="p">Like</span></a>
เป็น
<a class="like" href="javascript:void(0)" onclick="vote_add(41)"><span class="p">Like</span></a>
|
 |
 |
 |
 |
Date :
2012-11-21 13:17:14 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อีกกรณีนึงให้เพิ่ม .focus()
$('.vote_'+music_id+'_like').text(data).focus();
ทีนี้กด Like ตรงไหนก็จะกระโดดไปจุดนั้นล่ะครับ
|
 |
 |
 |
 |
Date :
2012-11-21 13:45:13 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบพระคุณมากๆครับ
|
 |
 |
 |
 |
Date :
2012-11-21 14:24:54 |
By :
kenghockey |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อีกอย่างนึงครับ เนื่องว่าไฟล์.phpผม ทําเงื่อนว่าถ้า
if(ถ้าloginให้โหวตได้){
}else{
redirect("login"); ให้เด้งกลับไปหน้าLogin
}
แต่มันไม่เด้งล๊อคอินมันเด้งเข้าไฟล์ajaxตามข้างบนเลยครับ
alert(data);
มันแสดงเป็นPop up แล้วแสดงข้อมูลในไฟล์ Login.php แทน
|
 |
 |
 |
 |
Date :
2012-11-21 14:41:41 |
By :
kenghockey |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
session_start();
if(!isset($_SESSION["login"]) || !isset($_SESSION["authorized"])){
header("Location:login.php");
}
เอาไว้ที่ต้นไฟล์ .php ทุกไฟล์ครับ
|
 |
 |
 |
 |
Date :
2012-11-21 15:41:17 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้Codeigniter เลยว่าจะกัาหนดให้เค้าLoginก่อนแล้วค่อย โหวตได้ แต่สามารถเข้าได้ทุกหน้าอยู่แล้วครับ
Code (PHP)
public function vote_add(){
$music_id = (int)$_POST["music_id"];
$this->load->model("model_music");
$music_exists = $this->model_music->select_music_exists($music_id);
if(isset($music_id,$this->session->userdata["id"]) && ($music_exists) && ($this->session->userdata("is_logged_in"))){
$user = $this->session->userdata["id"];
$previously_vote = $this->model_music->select_previously_vote($music_id,$user);
if($previously_vote === true){
echo "You alrealy vote this!";
}else{
$this->model_music->select_add_vote($music_id,$user);
echo 'success';
}
}else{
echo "You do not have access to this page.";
}
}
แต่ที่มันจะแสดงตอนนี้ ถ้าไม่ได้Loginมันจะเด้งPopup echo "You do not have access to this page."; พอใส่ ว่า echo redirect("login");
มันได้Popupแสดงโค๊ดของหน้าLoginครับ
|
ประวัติการแก้ไข 2012-11-21 18:20:58
 |
 |
 |
 |
Date :
2012-11-21 18:17:49 |
By :
kenghockey |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองรันใน firefox แล้วใช้ firebug หาจุดที่ผิดดูครับ
โดยเฉพาะ ตัวแปรใน if
if(isset($music_id,$this->session->userdata["id"]) && ($music_exists) && ($this->session->userdata("is_logged_in"))){
|
 |
 |
 |
 |
Date :
2012-11-22 15:49:41 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|