1

好的,所以我尝试了多种解决方案,但似乎没有什么对我有用,(或者我太愚蠢了,无法理解)。

我有这样的jQuery代码:

查询:

var current_id = $(this).attr("id");
var dataString = {"id" : current_id};
$.post("popup.php" , {"id" : $(this).attr("id")}, function(msg) { alert(msg);} );

我知道这里有几行没用,但我尝试了所有选项,

PHP:

$tmp = $_POST['id'];
if($tmp == "kontakt"){
echo '<p>UDANE PRZESŁANIE</p>';}
else{
echo '<p>NIEUDANE PRZESŁANIE</p>';
}

当我点击 id=kontakt php 返回错误:

 Notice: Undefined index: id in D:\***\popup.php on line 2

但警报发回

<p>UDANE PRZESŁANIE</p>

编辑:

好吧,也许我没有把我的问题说清楚。我不在乎是否显示 php 错误,我只想知道为什么它首先出现。

4

2 回答 2

1

这只是一个 PHP 警告——它基本上是在说 $_POST 没有名为“id”的索引。

您可以通过多种方式摆脱它...

  1. Austin Allover 的简短回答:

    if(!isset($_POST['id')) $tmp = '';

  2. 在脚本或 php 配置文件中打开警告,请参阅: http://php.net/manual/en/function.error-reporting.php(查找 E_WARNING)

  3. 您可能还想尝试 $.post("popup.php" , {"id" : "BLAHBLAHBLAH"}, function(msg) { alert(msg);} ); - 以防万一 $(this).attr("id") 不包含任何东西......

于 2012-05-21T23:15:26.373 回答
0

以这种方式声明 $tmp var:

$tmp = (isset($_POST['id'])) ? $_POST['id'] : "";

或者 ...

if(isset($_POST['id'])) { $tmp = $_POST['id']; } else { $tmp = ""; }

如果你不明白这段代码的作用......

如果设置了帖子 ID,则将 $tmp 声明为帖子 ID,否则将 $tmp 设置为“”。这将带走 PHP 通知。

于 2012-05-21T22:12:38.497 回答