0

私は以前にSOから助けを得ました。しかし、ここでいくつかの問題があります。

var userid="12";                    
                        var $form = $("<form id='form1' method='post' action='start.php'></form>");
                        form.append('<input type="hidden" name="userid" value="'+userid+'" />'); 
                        $('body').append($form);
                        window.form1.submit();

start.php

<?php
 $x=$_POST['userid'];
?>

ここで何が問題なのですか?

start.phpでエラーが発生します

Notice: Undefined index: userid in /opt/lampp/htdocs/testCase2/start.php on line 2
4

6 に答える 6

2

$_POST['userid'];は設定されておらずvar、この場合は使用しないでください。配列にはそのような変数useridはありません。POST以下を使用できます。

if( isset( $_POST['userid'] ) ){
    $x=$_POST['userid'];
}
于 2013-11-04T06:53:45.027 に答える
2

varPHPから削除

<?php
  $x=$_POST['userid'];
?>
于 2013-11-04T06:54:03.863 に答える
1

としてアクセスするだけです

<?php

 $x=$_POST['userid'];
?>

そしてそうではないvar $x;

そして、あなた<form>はこのようにする必要があります

var userid="12";                    
                        var $form = $("<form id='form1' method='post' action='start.php'>");
                        form.append('<input type="hidden" name="userid" value="'+userid+'" /></form>'); 
                        $('body').append($form);
                        window.form1.submit();
于 2013-11-04T06:54:00.463 に答える
1

を定義しますvar $formが、それを呼び出すだけformです。一貫した変数名が必要です。ところで、$formは少し紛らわしく、デバッグ時に問題が発生する可能性があります。objForm明確にするために、次のようなものを試してください。

また、他の人が指摘したように、varPHP から を削除して を使用してください。isset()

于 2013-11-04T06:57:44.937 に答える
1

非表示の入力を form タグ内に移動して、この方法を試すことができますか。

     var $form = $("<form id='form1' method='post' action='start.php'><input type='hidden' name='userid' value='"+userid+"' /></form>");
      $('body').append($form);
      window.form1.submit();


 <?php
   if(isset($_POST['userid'])){
      $x=$_POST['userid'];
   }
 ?>
于 2013-11-04T06:57:45.273 に答える