Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 试图修复我的联系人表单的未定义变量_Php_Email_Contact Form - Fatal编程技术网

Php 试图修复我的联系人表单的未定义变量

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

我一直在尝试修复我的联系方式,其中的数据可以通过电子邮件发送。但我一开始似乎有一些错误。它在网页上说“未定义变量”。我只是在遵循我一直在阅读的教程,我还不擅长PHP。我现在正在使用XAMPP来运行我的PHP

这是HTML标记

<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;
    }
}
}
?>