1

わかりましたので、複数の解決策を試しましたが、何もうまくいかないようです(または、愚かすぎてそれを取得できません)。

私はそのようなjqueryコードを持っています:

Jクエリ:

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 変数を次のように宣言します。

$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 に答える