0

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

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

$newVarどのifステートメントでも使用できません- 空白と表示されます。をエコー$subjectし​​ようとすると、 の値が表示されますが、任意のステートメントで$newVarの値をエコーし​​ようとすると、 の値が表示されません。$subjectif$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 = "test@test.com";         
       $emailTo = 'shruti@example.com';                 
       $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 = "do-not-reply@example.com";     
    $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";
}
?>
4

1 に答える 1

3

PHP コード セクションを で終了し?>、新しいセクションを開始してい<?phpないようですが、ブラウザで PHP ソース コードが表示されることに不満を持っているわけではないので、これは単なるコピー/貼り付けエラーであると想定します。

ここでの実際の問題は$_POST['submit']、が設定されているかどうかを確認していることですが、フォーム コントロールに名前を付けていないため、ブロックsubmit内のコードは実行されません。if

HTML で、次のように変更します。

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

...に:

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

...そしてそれはうまくいくはずです。

于 2012-04-18T12:56:55.963 に答える