我正在尝试接受来自表单的输入并将某些元素回显到html页面中。但是由于某些原因,我定义的变量没有显示出来。
这是我检索表单并设置变量的代码:
<?php
$firstName = $lastName = $email = $phone = $message = "";
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$firstName = test_input($_POST['firstName']);
$lastName = test_input($_POST['lastName']);
$email = test_input($_POST['email']);
$phone = test_input($_POST['phone']);
$message = test_input($_POST['message']);
}
function test_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
} ?>
这是我使用的表格:
<div style="width: 50%; margin:0 auto;border-style: solid;">
<?php echo $_POST["message"]; ?>
<?php echo $message; ?>
<form action="<?php echo htmlspecialchars($_SERVER["$_PHP_SELF"]) ?>" method="POST" id="contactForm">
First Name: <input type="text" id="firstName" name="firstName"><br>
Last Name: <input type="text" id="lastName" name="lastName"><br>
Email: <input type="text" id="email" name="email"><br>
Phone: <input type="text" id="phone" name="phone"><br>
Leave a message:<br>
<textarea id="message" name="message"></textarea><br>
<input type="submit">
</form>
</div>
$ _ POST ['message']正确回显,但是我无法弄清楚为什么我在PHP代码中设置的$ message变量不会回显。我在这里做错了什么?
答案 0 :(得分:3)
test_input不返回任何内容,因此$message
的内容为NULL。 $ message 可能正在被回显,它在回显“无”。
答案 1 :(得分:2)
您的函数不返回任何内容。
这里是更新的代码。
function test_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}