好的,所以我尝试了多种解决方案,但似乎没有什么对我有用,(或者我只是太愚蠢了)。
我有这样的jquery代码:
的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错误,我只是想知道为什么它会出现在第一位。
答案 0 :(得分:1)
这只是一个PHP警告 - 它基本上是说$ _POST没有名为'id'的索引。
你可以通过多种方式摆脱它......
Austin Allover答案的简短版本:
if(!isset($ _ POST ['id'))$ tmp ='';
在脚本或php配置文件中关闭警告,请参阅:http://php.net/manual/en/function.error-reporting.php(查找E_WARNING)
您可能还想尝试$ .post(“popup.php”,{“id”:“BLAHBLAHBLAH”},function(msg){alert(msg);}); - 以防$(this).attr(“id”)不包含任何内容......
答案 1 :(得分:0)
以这种方式声明$ tmp var:
$tmp = (isset($_POST['id'])) ? $_POST['id'] : "";
或......
if(isset($_POST['id'])) { $tmp = $_POST['id']; } else { $tmp = ""; }
如果你不明白这段代码的作用......
如果设置了post id,则将$ tmp声明为post id,否则将$ tmp设置为“”。这将取消PHP通知。