donc c'est un script Formulaire de contact php avec base de validation. Ce script fonctionnait parfaitement sans problème ni erreur. Jusqu'à récemment, j'ai transféré le fichier sur un autre site d'hébergement.PHP Notice: Undefined index - Formulaire de contact ne fonctionne pas
L'hébergeur précédente version était PHP 5.4.35 Alors que le nouvel hébergeur a la version PHP 5.4.45
Je ne sais pas beaucoup sur PHP, donc je ne sais pas ce qui se passe. Voici ce que le journal des erreurs a enregistré chaque fois que quelqu'un a envoyé le formulaire de contact.
[17-Jun-2016 17:05:20 Etc/GMT] Avis de PHP: Undefined index: nom /home/domain/public_html/contact.php en ligne 70
[17-Jun -2016 17:05:20 Etc/GMT] Note PHP: Index indéfini: email dans /home/domain/public_html/contact.php sur la ligne 76
[17-Jun-2016 17:05:20 Etc/GMT ] Note PHP: Indéfini index: message dans /home/domain/public_html/contact.php sur la ligne 82
Pour résoudre ce problème, j'ai initialisé le Ror variables ($ nom, $ email, $ message) comme nulle dans ce cas, il n'y avait plus d'erreurs, mais le formulaire de contact n'a pas fonctionné.
Aidez-moi s'il vous plaît! Je ne sais pas pourquoi ce problème se produit.
<?php
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$human = intval($_POST['human']);
$to = '[email protected]';
$subject = 'Contact Form';
$header = "From:[email protected] \r\n";
$header = "Cc:[email protected] \r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
if ($human !== 2) {
$errHuman = 'Your anti-spam is incorrect';
}
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
if (mail($to, $subject, $body, $header)) {
$result='Thank You! Your message will be replied soon!';
} else {
$result='Sorry there was an error sending your message.';
}
}
}
?>
<form class="col l12" method="post" action="contact.php">
<input id="name" name="name" type="text" class="validate" value="<?php echo htmlspecialchars($_POST['name']); ?>">
<?php echo "<p class='red-text'>$errName</p>";?>
<label for="name">Name</label>
<input id="email" name="email" type="email" class="validate" value="<?php echo htmlspecialchars($_POST['email']); ?>">
<?php echo "<p class='red-text'>$errEmail</p>";?>
<label for="email">Email</label>
<textarea name="message" class="materialize-textarea"><?php echo htmlspecialchars($_POST['message']);?></textarea>
<?php echo "<p class='red-text'>$errMessage</p>";?>
<label for="message">Message</label>
<label for="human"><strong>AntiSPAM Check:</strong> 5 - 3 = ?</label>
<input id="human" name="human" type="text" class="validate">
<?php echo "<p class='red-text'>$errHuman</p>";?>
<p class="left-align"><button class="blue darken-1 btn-large waves-effect waves-light" id="submit" type="submit" style="font-weight:500;" name="submit">Send</button>
<?php echo $result; ?>
</form>
@ Rizier123 Bien que cela puisse sembler double à cause des mêmes balises d'erreur que j'avais mis en œuvre les changements mentionnés dans l'autre fil, mais qui ne résout pas le problème. Ce problème est unique bien que marqué sous la même étiquette "notice php". – Swayam