Probleme avec formulaire avec php

Fermé
jack - 19 janv. 2010 à 19:10
 jack - 19 janv. 2010 à 21:07
Bonjour,
Je reviens a la charge
j'avance un tout petit peu avec mes probleme de formulaire..j'avais une erreure 403.je ne l'ai plus la c'est fait.
je precise que je test ce formulaire avec (wamp) dans php ini j'ai :
[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 25

; For Win32 only.
sendmail_from = localhost
j'ai bien virré le ; devant sendmail
quand j'envoie mon message j'ai bien confirmation que le formulaire marche mais je ne recois aucun message dans ma messagerie j'utilise outlook.
si je pouvais avoir un peu d'aide ce serait bien sympa..
merci d'avance
A voir également:

1 réponse

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
19 janv. 2010 à 19:45
bonsoir,

quel est le code source de ton formulaire ?

si tu le souhaites il y a un générateur de formulaire

bonne soirée
0
merci de me repôndre
voila c'est juste histoire de faire un essai de comprendre.par la suite je le complaiterais.
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'vitagym63@gmail.com';

// copie ? (envoie une copie au visiteur)
$copie = 'oui';

// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};

/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$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']) : '';

if (isset($_POST['envoi']))
{
// 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é
$err_formulaire = (IsEmail($email)) ? false : true;

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="form.php">Retour au formulaire</a></p>'."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="nom">Nom :</label>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="email">Email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="objet">Objet :</label>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="message">Message :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>
0
j'ai maintenat cette erreur
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. e20sm13853033fga.17 in C:\wamp\www\essaiphp\form.php on line 107

ma ligne 107:
if (mail($cible, $objet, $message, $headers))
0