2012-04-18 7 views
0

HTMLからPHPページに隠し変数を渡しています。 PHPページで、その変数を自分のフォームで使用したいと思います。

<?php    
    $newVar=trim($_POST['newVar']); 
    $subject = "new var is ---> $newVar"; 
?> 

私はどのif文で$newVarを使用することはできませんよ - それは空白を示しています。 $subjectをエコーし​​ようとすると、$newVarという値が表示されますが、の文で$subjectの値をエコーバックしようとすると、$newVarの値が表示されません。

マイコードは次のとおりです。 HTMLマークアップは次のとおりです。

<a href="#" class="applyNow" onclick="document.sendVar.newVar.value='myVar'; document.sendVar.submit(); return false">New Variable</a> 

<form method="post" name="sendVar" action="test.php" style="display:none;"> 
    <input type="hidden" name="newVar" value=""> 
    <input type="submit" value="Send form!"> 
</form> 

PHP:

<?php    
    $newVar=trim($_POST['newVar']); 
    $subject = "new var is ---> $newVar"; 
?> 


if(isset($_POST['submit'])) { 
    if(!isset($hasError)) { 
     $from_add = "[email protected]";   
     $emailTo = '[email protected]';     
     $headers = "From: $from_add \r\n"; 
     $headers .= "Reply-To: $from_add \r\n"; 
     $headers .= "Return-Path: $from_add\r\n"; 
     $headers .= "X-Mailer: PHP \r\n"; 

     mail($emailTo, $subject, $headers); 
// HERE in $subject.. value of newVar is not displaying 


     $emailSent = true; 
    } 

    $from_add = "[email protected]";  
    $headers = "From: $from_add \r\n"; 
    $headers .= "Reply-To: $from_add \r\n"; 
    $headers .= "Return-Path: $from_add\r\n"; 
    $headers .= "X-Mailer: PHP \r\n"; 
} 
?> 
+0

隠されているか無効になっていますか? – matino

+6

if文の例を – Bono

+3

あなたが使っている文は何ですか?使用している実際のコードを投稿してから、何をしようとしているのかを確認することができれば、デバッグが容易になります。また、フォームページから非表示入力のHTMLマークアップも投稿してください。 – martincarlin87

答えて

3

あなたは?>とPHPのコードセクションを終了し、<?phpで新しいものを開始していないように見えます - 私はこれが単にコピー/ペーストエラーであると仮定しますが、ブラウザにPHPソースコードが表示されていると不平を言っていないからです。

あなたがここにある実際の問題は$_POST['submit']が設定されている場合、あなたがチェックしているということですが、あなたはフォームコントロールsubmitの任意の名前を付けていなかったので、それができなくなります決して、そうifブロック内のコードのどれもが今までできなくなります実行される。あなたのHTMLで

、変更:

<input type="submit" value="Send form!"> 

...へ:

<input type="submit" name="submit" value="Send form!"> 

...それが動作するはずです。

+0

あなたの返事に感謝します。私はPHPファイルのフォームを持っています、コードは巨大なので、ここにそのコードを貼り付けることができませんでした..そのフォームの$ _POST ['submit']をチェックしています。最初に$ subjectをエコーし​​ようとすると、つまり$ subjectを宣言した直後に、私の投稿変数の値が表示されます。しかし、ifステートメントに従うと同じものが消えてしまいます。私は明確です。 –

+0

条件が満たされていないために 'if'ブロックに入っていないか、コードの上のどこかに' $ newVar'を再割り当てしました。等号がない比較を確認します。 'if($ newVar == 1)' – DaveRandom

+0

$ newVarの値から離れて他のテキストを見ることができるので、私はifブロックに入っています。また、$ _POST変数の代わりに、明示的に異なる値を与えようとしました。$ newVar = trim($ _ POST ['newVar'])の代わりに意味があります。私は$ newVar = "test"を使用しようとしました。 。このシナリオでは、$ subjectに$ newVarの値が表示されます。だから私は問題がポスト変数だけであると仮定しました.. –

関連する問題