我想制作一个我用HTML做过的联系表格。
这一切都不重要我发现使用$_SERVER["RESQUEST_METHOD"]
如果有人和我一样新并且犯了愚蠢的错误,我会把它留下来。
<!DOCTYPE html>
<html lang="en">
<body>
<h4>Contact me!</h4>
<form method="post" action="test_form.php" autocomplete="on">
Subject:
<br>
<input type="text" name="subject" required>
<br>name:
<br>
<input type="text" name="name" required>
<br>Email:
<br>
<input type="email" name="email" required>
<br>Message:
<br>
<textarea name="message" rows="5" maxlength="500"></textarea>
<br>
<input type="submit" name="submit">
</form>
</body>
</html>
然后在我将PHP添加到一个名为 test_form.php
的单独表单后,这就是我被困住的地方我已经过了三种不同的布局和格式,但仍然返回致命错误。这是我的.php文件,我为布局道歉。 (只是为了补充一下,我已经尝试了我在isset中的变量,并且我已经尝试过了。
<?php
$submit = $_post['submit'];
$to = "no@way.co.uk";
$header = "From:$name Email:$email /n subject:$subject";
$formcontent = "Name:$name /n Message:$message";
if (isset('submit')){
if (empty($_post['subject'])){
$subjectErr = "Subject is required!"
}else{
$subject = valid ($_post['subject']);
}
if(empty($_post['name'])){
$nameErr = "Name is required!";
}else{
$name = valid ($_post ['name']);
}
if(empty($_post['email'])){
emailErr = "Email is required!";
}else{
$email = valid ($_post['email']);
}
if(empty($_post['message'])){
$message = "";
}else{
$message = valid ($_post['message']);
}
//function to validate data
function valid ($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
mail ($to, $subject, $formcontent, $header) or die ('error');
echo "thank you";
}
?>
我的问题是我哪里出错了?我还没有完成它,但我只是测试它是否有效。
答案 0 :(得分:0)
根据手册:
isset - 确定变量是否已设置且不是NULL
请参阅:variable
。你有这个变量:
isset('submit')
不,这里只有一个字符串"submit"
。
您的正确代码是:
if (isset($submit))
或简化:
if (isset($_POST['submit']))
顺便说一下 - 它是$_POST
,而不是$_post
。
顺便说一下另一个 - 定义
$header = "From:$name Email:$email /n subject:$subject";
在$name
之前,$email
和$subject
被定义 - 导致空字符串而不是实际值。