我使用hidden.php将两个值传递给“hidden_handler.php”,以便它们显示在网页上。使用的两个变量是hidden.php中的$ user和$ time。但是,当它们被传递给hidden_handler.php时,这两个值显示为 “$ user”和“$ time”而不是他们的指定值,即“Hunt”和实际时间。
我试图找出相当长一段时间,但却找不到它的原因。提前感谢任何有价值的反馈。
以下是带有代码的两个文件。
hidden.php
<?php
date_default_timezone_set(' UTC ');
$time = date(' H:i, F j');
$user = 'Hunt';
?>
<form action = "hidden_handler.php" method = "POST">
<fieldset>
<legend>Send us your comments</legend>
<textarea rows="5" cols="20" name="comment">
</textarea>
<input type="hidden" name="user" value="$user">
<input type="hidden" name="time" value="$time">
</fieldset><p><input type="submit" ></p></form>
?>
hidden_handler.php
<?php
if (!empty($_POST['comment'])) {
$comment = $_POST['comment'];
} else {
$comment = NULL;
echo 'You must enter a comment';
}
$time = (!isset($_POST['time']) ) ? NULL : $_POST['time'];
$user = (!isset($_POST['user']) ) ? NULL : $_POST['user'];
if (( $comment != NULL ) &&
( $time != NULL ) && ( $user != NULL )) {
echo "<p>Comment received :\" $comment\" <br>
From $user at $time </p>";
}
?>
当hidden.php运行时,我将注释键入为“test” 而$ user和$ time是硬编码的[ $ user ='Hunt'和$ time = date('H:i,F j')]。
结果如下所示:
收到的评论:“测试” 来自$ user at $ time
答案 0 :(得分:0)
当你
<input type="hidden" name="user" value="$user">
<input type="hidden" name="time" value="$time">
你是用HTML而不是用PHP做的,所以这些值是字面意思的 - 变量没有被替换。
你需要
<?php
echo "<input type=\"hidden\" name=\"user\" value=$user>"
echo "<input type=\"hidden\" name=\"time\" value=$time>"
?>
答案 1 :(得分:0)
你应该使用:
<input type="hidden" name="user" value="<?php echo $user;?>">
<input type="hidden" name="time" value="<?php echo $time?>">
在HTML中使用引号将内部值视为字符串,它们不会被解释为PHP变量。