Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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_Mysql - Fatal编程技术网

PHP联系人表单未提交

PHP联系人表单未提交,php,mysql,Php,Mysql,这是我的代码。我遇到的问题是,当我提交表格时,我感到抱歉,请重试。这是我添加的失败消息。我重新检查了我的代码,但我不确定为什么会出现此错误。我填补了每一个领域,但我仍然不知道为什么会发生。有谁能弄明白吗?这是因为如果mail$to、$subject、$message、$headers{返回false,则调用mail-in 至于失败的原因:有关于如何调试mail为什么不发送电子邮件的详细信息。请参阅PHP手册中的mail功能 如您所见,它返回bool值,在您的情况下,它返回FALSE 要快速测试

这是我的代码。我遇到的问题是,当我提交表格时,我感到抱歉,请重试。这是我添加的失败消息。我重新检查了我的代码,但我不确定为什么会出现此错误。我填补了每一个领域,但我仍然不知道为什么会发生。有谁能弄明白吗?

这是因为如果mail$to、$subject、$message、$headers{返回false,则调用mail-in


至于失败的原因:有关于如何调试mail为什么不发送电子邮件的详细信息。

请参阅PHP手册中的mail功能

如您所见,它返回bool值,在您的情况下,它返回FALSE

要快速测试邮件,请对代码的这一部分进行注释

<?php 
session_start();

if (!$_SESSION['loggedInUser']) {
 header("Location: login.php");
}
$resultMessage = null;
include ('db.php');
$query = "SELECT * from user";
$result = mysqli_query($connection, $query);
mysqli_close($connection);
 ?>

<!DOCTYPE html>
<html lang="en">

 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Client Area</title>

 </head>

 <body>

 <?php 
 // Check for Header Injections
 function has_header_injection($str) {
 return preg_match( "/[\r\n]/", $str );
 }

 $missingitemname = '<p><strong> Please Enter Item Name</p></strong>';

 if (isset($_POST['submit_form'])) {

 $itemname = $_POST["item-name"];
 $brandname = $_POST["brand"];
 $description = $_POST["description"];
 $availability = $_POST["availability"];
 $contact = $_POST["contact-p"];
 $address = $_POST["address"];
 $email = $_POST["email"];
 $location = $_POST["location"];
 $file = $_FILES["attach"];
 if (!$itemname) {
 $errors .= $missingitemname;
 } else {
 $itemname = filter_var($itemname, FILTER_SANITIZE_STRING);
 }

 if (!$email) {
 $errors .= $missingemail;

 } else {
 $email = filter_var($email, FILTER_SANITIZE_EMAIL);
 if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
 $errors .= $invalidEmail;
 }

 }
 if (!$brandname) {
 $errors .= $missingbrandname;
 } else {
 $brandname = filter_var($brandname, FILTER_SANITIZE_STRING);

 }



 if ($errors) {
 $resultMessage = '<div class="alert alert-danger">'. $errors .'</div>';
}
 else {
 $to = "adamskhan123@gmail.com";
 $subject ="New Contact";
 $message ="<p>Item Name: $itemname.</p>
 <p>Brand: $brandname.</p>
 <p>Description: $description.</p>
 <p>Availability: $availability.</p>
 <p>Contact Person: $contact</p>
 <p>Email: $email</p>
 <p>Location: $location</p>
 ";
 $headers ="Content-type: text/html";
 if (mail($to, $subject, $message, $headers)) {
 $resultMessage = '<div class="alert alert-success">Thank You. Your message has been sent</div>';
 } else {
 $resultMessage = '<div class="alert alert-danger">Sorry Please Try Again.</div>';
 }
 }

}

?>

 <div class="container">
 <h1>PinTribe</h1>
 <p>Welcome <?php echo $_SESSION['loggedInUser']; ?></p>
</div>
<div class="top-content">

 <div class="inner-bg">
 <div class="container">
 <div class="row">
 <div class="col-sm-8 col-sm-offset-2 text">

 </div>
 </div>
 <div class="row">
 <div class="col-sm-6 col-sm-offset-3 form-box">
 <div class="form-top">
 <div class="form-top-left">


 </div>

 </div>

 <div class="form-bottom">
 <?php echo $resultMessage; ?>
 <form role="form" action="dashboard.php" method="post" class="login-form" enctype="multipart/form-data">
 <div class="form-group">
 <label class="sr-only" for="item-name">Item Name</label>
 <input type="text" name="item-name" placeholder="Item Name" class="username form-control" id="item-name">
 </div>

 <div class="form-group">

 <textarea type="text" name="description" placeholder="Description" class="description form-control" id="description" rows="5"></textarea>
 </div>

 <div class="form-group">
 <label class="sr-only" for="email">Email</label>
 <input type="email" name="email" placeholder="Email.." class="email form-control" id="email">
 </div>


 </div>
您还可以使用var_dump查看当前值

希望有帮助。

这行是错误的:如果邮件$to、$subject、$message、$headers{ 删除邮件和拥抱。
尝试变量其他条件,如isset$var,而不是整个函数。

您检查了服务器的错误日志吗?这里的Waaayyyy代码太多了。您需要进行更多的调试,并将其缩小到特定的代码部分。到目前为止,看起来您编写了一堆代码,没有测试它,现在希望我们为您修复它。为什么你认为问题在于提交或未填写字段?问题在于你的邮件功能。这是决定是否显示抱歉消息的地方。阿门@johncode:d你的表单中没有提交表单字段,或者你忘记粘贴代码的那部分。如果它不在表单中,那么你永远不会处理任何事情,因为您检查以开始处理的字段不存在。您好,它没有显示任何错误:/check for debugging why mail不发送电子邮件。我如何调用var_dump?一旦您这样做,请让我们知道outputboolfalse这是我得到的。提前感谢您
 $to = "adamskhan123@gmail.com";
 $subject ="New Contact";
 $message ="<p>Item Name: $itemname.</p>
 <p>Brand: $brandname.</p>
 <p>Description: $description.</p>
 <p>Availability: $availability.</p>
 <p>Contact Person: $contact</p>
 <p>Email: $email</p>
 <p>Location: $location</p>
 ";
 $headers ="Content-type: text/html";
 if (mail($to, $subject, $message, $headers)) {
 $resultMessage = '<div class="alert alert-success">Thank You. Your message has been sent</div>';
 } else {
 $resultMessage = '<div class="alert alert-danger">Sorry Please Try Again.</div>';
 }
 }
mail('adamskhan123@gmail.com','My Subject','Testing');