Php 试图修复我的联系人表单的未定义变量
我一直在尝试修复我的联系方式,其中的数据可以通过电子邮件发送。但我一开始似乎有一些错误。它在网页上说“未定义变量”。我只是在遵循我一直在阅读的教程,我还不擅长PHP。我现在正在使用XAMPP来运行我的PHP 这是HTML标记Php 试图修复我的联系人表单的未定义变量,php,email,contact-form,Php,Email,Contact Form,我一直在尝试修复我的联系方式,其中的数据可以通过电子邮件发送。但我一开始似乎有一些错误。它在网页上说“未定义变量”。我只是在遵循我一直在阅读的教程,我还不擅长PHP。我现在正在使用XAMPP来运行我的PHP 这是HTML标记 <html> <head> <title>Contact Form</title> <link rel="stylesheet" href="style.css" /> </head> <bo
<html>
<head>
<title>Contact Form</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1>Contact Form</h1>
<p class="error"> There are some misisng fields.</p>
<?php if($error == true) { ?>
<?php } if($sent == true) { ?>
<p class="sent">Thank you for sending your message</p><?php } ?>
<div class="contactform">
<form name="contact" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label for="name">Name:</label>
<input type="text" name="name" />
<label for="email">Email:</label>
<input type="email" name="email" />
<label for="comments">Comments:</label>
<textarea name="comments"></textarea>
<input type="submit" name="submit" class="submit" value="submit" />
</form>
</div>
联系方式
联系方式
存在一些错误字段
感谢您发送信息
这些线路:
<?php if($error == true) { ?>
<?php } if($sent == true) { ?>
正在测试一个值,但除非您的表单已经提交,否则它也不会被定义。您可以使用
if (isset($_POST['submit'])) {
// do stuff
}
在使用变量之前,请尝试声明变量。如果您不首先传递值,PHP将发出通知
<?php
$error=false;
$sent=false;
if(isset($_POST['submit'])) {
if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['comments'])) {
$error = true;
} else {
$to = "clestcruz@gmail.com";
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$comments = trim($_POST['comments']);
$subject = "Contact Form";
$messages = "Name: $name \r\n Email: $email \r\n Comments: $comments";
$headers = "From:" . $name;
$mailsent = mail($to, $subject, $messages, $headers);
if($mailsent){
$sent= true;
}
}
}
?>
$\u POST
的值是未识别的变量吗?您好,Jm,请查看我编辑的POST。您需要在顶部添加一些代码来确定要执行的操作。基本上你需要把它分成两部分:if(表单已经提交){send the mail}else{display the form}。我已经尝试用你建议的代码行替换代码行,我的表单似乎消失了或无法显示。我对PHP还是新手,所以我需要做大量的尝试和错误。谢谢,我想我读的教程还没有完成。现在我只需要弄清楚如何通过emailNVM传递数据。我已经让它工作了。我刚刚上传到一个免费的托管服务器:DIt只是一个通知,因为未声明的变量可能会给你垃圾值。但是最好的编码实践是在使用它之前声明它。免费主机服务器必须已禁用此类通知的错误报告。祝你的PHP之旅好运!干杯:汉克斯先生。我实际上正在使用wordpress主题atm,我需要学习如何通过电子邮件发送数据,因为主题有一个“联系我们”页面。
if($_POST['submit']) {
if (isset($_POST['submit'])) {
// do stuff
}
<?php
$error=false;
$sent=false;
if(isset($_POST['submit'])) {
if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['comments'])) {
$error = true;
} else {
$to = "clestcruz@gmail.com";
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$comments = trim($_POST['comments']);
$subject = "Contact Form";
$messages = "Name: $name \r\n Email: $email \r\n Comments: $comments";
$headers = "From:" . $name;
$mailsent = mail($to, $subject, $messages, $headers);
if($mailsent){
$sent= true;
}
}
}
?>