2012-03-13 170 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