0

我将隐藏变量从 HTML 传递到 PHP 页面。在 PHP 页面中,我想在表单中使用该变量。

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

我无法$newVar在任何if声明中使用 - 它显示为空白。如果我尝试回$subject显,它会显示$newVar但是当我尝试$subject在任何if语句中回显 的值时,它不会显示 的值$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 回答