2012-03-13 235 views
0

我正在創建一個ajax通知,這是我的系統的一部分,允許用戶收藏或存檔該通知。問題是,下面的這個php代碼不起作用,並且在查詢中沒有錯誤,因爲or die什麼也沒有返回。返回的僅僅是error。這就是回聲。我知道JavaScript是正確的,併發送正確的信息,因爲我已經檢查了網絡標籤以查看。有沒有我錯過的重大錯誤?簡單的PHP不工作

<?php 
require_once('.conf.php'); 
$notid = mysql_real_escape_string($get['notification_id']); 
$username = mysql_real_escape_string($_SESSION['uname']); 
$action = mysql_real_escape_string($get['action']); 

if ($action == 'add') { 
    $insert = mysql_query("UPDATE updates SET object_fav = 1 WHERE username = '$username' AND id = '$notid'") or die('Could not connect: ' . mysql_error()); 
    echo 'success'; 
} elseif($action == 'sub') { 
    $remove = mysql_query("UPDATE updates SET object_fav = 0 WHERE username = '$username' AND id = '$notid'") or die('Could not connect: ' . mysql_error()); 
    echo 'remove'; 
} else { 
    echo 'error'; 
} 
?> 

回答

3

PHP沒有默認的陣列稱爲$get。也許你打算使用the $_GET superglobal.

$action = mysql_real_escape_string($_GET['action']); 
$notid = mysql_real_escape_string($_GET['notification_id']); 

它打印error$action未在if/else鏈匹配,因爲變量設置不正確。

確保您正在開發display_errors開啓和error_reporting(E_ALL);。未定義的變量$get將在屏幕上顯示警告。

ini_set('display_errors', 1); 
error_reporting(E_ALL); 
+0

簡單的修復,完美的作品! – 2012-03-13 01:14:24