2016-06-03 26 views
-3
<?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 = "[email protected]"; 
$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> 

Dies ist mein Code das Problem, das ich immer bin, wenn ich meine Form einreichen ich Leider Versuchen Sie es erneut. welche Fehlermeldung ist ich hinzugefügt. Ich habe meinen Code erneut überprüft, bin mir aber nicht sicher, warum ich diesen Fehler erhalte. Ich habe jedes Feld ausgefüllt, aber ich bin mir nicht sicher, warum es passiert. kann jemand davon herausfinden?PHP Kontaktformular einreicht nicht

+0

Haben Sie die Fehlerprotokolle Ihres Servers überprüft? –

+6

Waaayyyy zu viel Code hier. Sie müssen * mehr * debuggen und einen bestimmten Teil des Codes eingrenzen. Im Moment sieht es so aus, als hättest du eine Menge Code geschrieben, es nicht getestet und möchtest nun, dass wir es für dich reparieren. –

+1

Warum denken Sie, das Problem besteht darin, Felder zu übermitteln oder nicht? Das Problem ist mit Ihrer 'mail()' Funktion. Dort entscheidet es, ob die "Entschuldigung" angezeigt werden soll oder nicht. –

Antwort

2

Das ist, weil der Aufruf an mail() in if (mail($to, $subject, $message, $headers)) { false zurückgibt.

Warum es fehlschlägt: PHP mail form doesn't complete sending e-mail enthält die Details zum Debuggen, warum mail() keine E-Mails sendet.

+0

Hallo, es ist kein Fehler angezeigt:/ – Ali

+0

Überprüfen Sie http://StackOverflow.com/Questions/24644436/php-mail-form-doesnt-complete-Sending-E-mail für das Debuggen, warum Mail() keine E-Mails sendet. – swa66

1

Benutzen Sie auf der PHP-Handbuch für die mail() Funktion http://php.net/manual/en/function.mail.php

Wie Sie sehen, es gibt einen "Bool" Wert, es in Ihrem Fall, wird FALSE zurückgegeben.

Für einen schnellen Test der mail() Kommentar, diesen Teil des Codes

$to = "[email protected]"; 
$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>'; 
} 
} 

eine einfache Linie hinzufügen:

mail('[email protected]','My Subject','Testing'); 

Sie auch Var_dump verwenden können, um zu sehen, was der aktuelle Wert .

Ich hoffe, es hilft.

+0

wie rufe ich var_dump auf? – Ali

+0

Sobald Sie das getan haben, lassen Sie uns wissen, die Ausgabe –

+0

bool (falsch) Das ist, was ich bekomme. Vielen Dank im Voraus – Ali

0

Diese Zeile ist falsch: if (mail($to, $subject, $message, $headers)) { löschen mail und die Clinches. Versuchen Sie die Variablen andere Bedingungen wie isset($var) nicht die ganze Funktion.