我将隐藏的变量从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";
}
?>
答案 0 :(得分:3)
您似乎已经使用?>
结束了PHP代码部分而没有使用<?php
启动新代码部分 - 尽管我会假设这只是一个复制/粘贴错误,因为您没有抱怨你可以在浏览器中看到你的PHP源代码。
您遇到的实际问题是您正在检查是否设置了$_POST['submit']
,但它永远不会,因为您没有为任何表单控件submit
命名,因此没有代码在if
块中将永远执行。
在您的HTML中,更改:
<input type="submit" value="Send form!">
...为:
<input type="submit" name="submit" value="Send form!">
......它应该有用。