cobra26
12/03/2016, 21h49
Bonjour
j'ai crée mon site ainsi qu'un formulaire php dont voilà le code html
et le php postcontact :
J'ai donc un petit problème, lorsque je clique sur envoyer, le formulaire me renvoie une page blanche.
Le même code fonctionne très bien avec un hébergeur gratuit.
Est ce qu'il y a une manipulation pour activer le PHP sur OVH ?
Merci d'avance
j'ai crée mon site ainsi qu'un formulaire php dont voilà le code html
Code HTML:
"formulaire">
method="post" action="postcontact.php">
Vos coordonnées
>Nom :"text" id="nom" name="nom" tabindex="1" style="margin-bottom:3%; font-size: 1em;"/>
>Email :"text" id="email" name="email" tabindex="2" style="font-size: 1em;" />
Votre message :
>Objet :"text" id="objet" name="objet" tabindex="3" style="margin-bottom:3%; font-size: 1em;"/>
>Message : name="message" tabindex="4" cols="30" rows="8" style="font-size: 1em;">
"text-align:center;">"submit" name="envoi" value="Envoyer" style="font-size: 1em;" />
Code PHP:
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monmail';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message a bien été envoyé. Vous allez recevoir une copie du message par email.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord index.html">envoyer le formulaire.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo ''
.$message_erreur_formulaire.''."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('
','',$message);
$message = str_replace('
','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo ''
.$message_envoye.''."\n";
}
else
{
echo ''
.$message_non_envoye.''."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo ''
.$message_formulaire_invalide.' Retour au formulaire'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Le même code fonctionne très bien avec un hébergeur gratuit.
Est ce qu'il y a une manipulation pour activer le PHP sur OVH ?
Merci d'avance