2012-04-06 5 views
0

結果が表示されたときにチェックボックスもエコーされると、XPathを使用した検索機能があります。別のクラスへのPOST変数

は は
<form name="save" method="POST" action="saveProcess.php"> 
      <?php 
      foreach ($holidays as $holiday) 
      { 
       $resultTable .= "<p><a href=\"{$holiday->link}\">{$holiday->title}</a>" . "<br/>" . 
       "{$holiday->pubDate}" . "<br>" . 
       "{$holiday->description}" . "<input type='checkbox' name='chk' value='{$holiday->title}' />" . "<br /></p>";    
      } 
      ?> 
      <input type="submit" value="submit"/> 
     </form> 
私が提出されたフォームがsaveProcess.phpで表示されます {$holiday->title}の値を保持するには、このチェックボックスを希望

は、私は、変数が設定されているかどうかを確認するためにissetメソッドを使用し、そうではありません。

if (isset($_POST['chk'])) { 
    echo $_POST['chk']; 
} 
else 
{ 
    echo"variable is not set"; 
} 

どこが間違っていますか?示唆したように、あなたのチェックボックスをrevritingされているので -

+0

'

答えて

2

あなたのコードは、私にはOKに見える、ちょうどそれが$_POST['chk']をchecketていない場合は、チェックボックスの値は、チェックボックスがチェックされている場合にのみ掲載されていることを覚えていることは

EDITを設定していませんコメントに配列

 <?php 
     foreach ($holidays as $holiday) 
     { 
      $resultTable .= "<p><a href=\"{$holiday->link}\">{$holiday->title}</a>" . "<br/>" . 
      "{$holiday->pubDate}" . "<br>" . 
      "{$holiday->description}" . "<input type='checkbox' name='chk[]' value='{$holiday->title}' />" . "<br /></p>";    
     } 
     ?> 

を使用して、サーバ側$_POST['chk']がアン配列

+0

の代わりに 'print_r($ _ POST ['chk'])'を実行しても問題ありません。彼は自分のチェックボックスを書き換えます –

+0

@マーティン。あなたは正しい私は私の答えを編集し、あなたに+1! –

+0

この解決策はまだ私の変数が設定されていない結果となります。 –

2

だろう問題は、「CHK」は、各チェックボックスに名前を付けることで、フォームを送信する際に、値が上書きされます。だから、saveProcess.phpに何も入っていないのです。

<input type='checkbox' name='chk[]' value='{$holiday->title}' /> 

お知らせ名前に角括弧:あなたが何をする必要があるか、$ _POST [「CHK」]はそのような値の配列を、含めることができるように指定するのいずれかです。 $ _POST ["chk"]は配列になります。

$HTTP_POST_VARS["chk"] 

最初の部分は基本的に説明し、なぜそれが動作しませんし、どのように:

もう一つの方法は、使用して、そのままHTMLを残して、ちょうどsaveProcess.phpで、データを取得することですそれを修正するには、2番目の提案は、単にデータを取得する代わりの方法です。

素晴らしい一日を!

+1

実際、あなたの答えは唯一正しい! –

+0

ありがとう、マーティン! –

+0

これも動作していないようですが、私の変数はまだ設定されていません –

関連する問題