简单的PHP不工作

时间:2012-03-13 01:11:24

标签: php javascript jquery ajax

我正在创建一个ajax通知,这是我的系统的一部分,允许用户收藏或存档该通知。问题是下面的PHP代码不起作用,查询中没有错误,因为or die没有返回任何内容。返回的内容仅为error。这就是回声。我知道javascript是正确的并且发送了正确的信息,因为我已经检查了网络选项卡以查看。我有什么重大错误吗?

<?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';
}
?>

1 个答案:

答案 0 :(得分: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_errorserror_reporting(E_ALL);的情况下进行开发。未定义的变量$get将在屏幕上显示警告。

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