Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

récupération de formulaire



  1. #1
    mariang

    Red face récupération de formulaire


    ------

    Bonjour

    J'espère être au bon endroit, dans le sens, "je me suis trompée de forum" comme cela m'est déjà arrivé.
    Si c'est le cas, pourriez-vous me le dire gentiment et non me le "CRIER" svp.

    Voici mon soucis.

    J'ai créer un page formulaire.
    J'aimerais récupérer les infos dans ma boîte aux lettres.

    J'ai créé un fichier php.
    J'ai chercher un peu de partout et j'en ai trouvé un.
    Je l'ai "adapté" à mes "besoins" mais évidemment j'ai des erreurs et ça ne marche pas.

    Donc voici mon php.

    Code:
    <?php
    /*
    		********************************************************************************************
    		CONFIGURATION
    		********************************************************************************************
    	*/
    	// destinataire est votre adresse email. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    	$destinataire = 'occa.pieces.mezzavia@yopmal.fr';
    
    	// copie ? (envoie une copie au visiteur)
    	$copie = 'oui'; // 'oui' ou 'non'
    
    	// Messages de confirmation du email
    	$message_envoye = "Votre message nous est bien parvenu !";
    	$message_non_envoye = "L'envoi du email a échoué, veuillez réessayer SVP.";
    
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">envoyer le formulaire</a>.";
    	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'eemail soit sans erreur.";
    
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
    // on teste si le formulaire a été soumis
    	if (!isset($_POST['envoi']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/*
    		 * 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 eemail
    		 */
    		function IsEemail($eemail)
    		{
    			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    			return (eregi($pattern,$eemail)) ? true : false;
    		};
    
    $Nom = (isset($_POST['nom']))     ? Rec($_POST['nom'])  : '';
    $Ville = (isset($_POST['ville']))     ? Rec($_POST['ville']) : '';
    $Departement = (isset($_POST['departement']))     ? Rec($_POST['departement']) : '';
    $Telephone = (isset($_POST['telephone']))     ? Rec($_POST['telephone']) : '';
    $email = (isset($_POST['email']))     ? Rec($_POST['email']) : '';
    $Marque = (isset($_POST['marque']))     ? Rec($_POST['marque']) : '';
    $Modele = (isset($_POST['modele']))     ? Rec($_POST['modele']) : '';
    $Annee = (isset($_POST['annee']))     ? Rec($_POST['annee']) : '';
    $Moteur = (isset($_POST['moteur']))     ? Rec($_POST['moteur']) : '';
    $Cylindree = (isset($_POST['cylindree']))     ? Rec($_POST['cylindree']) : '';
    $Fiscalite = (isset($_POST['fiscalite']))     ? Rec($_POST['fiscalite']) : '';
    $Boite = (isset($_POST['boite']))     ? Rec($_POST['boite']) : '';
    $Piece = (isset($_POST['piece']))     ? Rec($_POST['piece']) : '';
    $Couleur = (isset($_POST['couleur']))     ? Rec($_POST['couleur']) : '';
    $Mine = (isset($_POST['mine']))     ? Rec($_POST['mine']) : '';
    $Serie = (isset($_POST['serie']))     ? Rec($_POST['serie']) : '';
    
    $Commentaire = (isset($_POST['commentaire']))     ? Rec($_POST['commentaire']) : '';
    
    // On va vérifier les variables et l'eemail ...
    		$eemail = (IsEemail($email)) ? $email : ''; // soit l'eemail est vide si erroné, soit il vaut l'eemail entré
    
    		if (($nom != '') && ($email != '') && ($marque != '') && ($modele != '') && ($annee != '') && ($moteur != '') && ($piece != '')
    		
    		// les 7 variables sont remplies, on génère puis envoie le email
    			$headers = 'From: '.$nom.' <'.$email.'>' <'.$marque.'>' <'.$modele.'>' <'.$annee.'>' <'.$moteur.'>' <'.$piece.'>' . "\r\n";
    
    			// envoyer une copie au visiteur ?
    			if ($copie == 'oui')
    			{
    				$cible = $destinataire.','.$eemail;
    			}
    			else
    			{
    				$cible = $destinataire;
    			};
    
    			// Remplacement de certains caractères spéciaux
    			$message = str_replace("'","'",$message);
    			$message = str_replace("’","'",$message);
    			$message = str_replace("&quot;",'"',$message);
    			$message = str_replace('<br>','',$message);
    			$message = str_replace('<br />','',$message);
    			$message = str_replace("&lt;","<",$message);
    			$message = str_replace("&gt;",">",$message);
    			$message = str_replace("&amp;","&",$message);
    // Envoi du email
    			if (email($cible, $objet, $message, $headers))
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des 7 variables (ou plus) est vide ...
    			echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
    ?>
    Est-ce quelqu'un pourrait me dire ou me corriger, svp.
    Cela fait 2 jours que je travaille dessus et je "fatigue".

    Merci

    -----
    Dernière modification par yoda1234 ; 08/01/2009 à 11h51.

  2. Publicité
  3. #2
    TiClic

    Re : récupération de formulaire

    Tu es chez quel FAI pour utiliser la fonction email() ?
    As tu essayé la fonction mail() ?

  4. #3
    TiClic

    Re : récupération de formulaire

    $headers = 'From: '.$nom.' <'.$email.'>' <'.$marque.'>' <'.$modele.'>' <'.$annee.'>'
    Déjà vérifie cette ligne, elle me semble plombée.

  5. #4
    TiClic

    Re : récupération de formulaire

    Grave, pb de structure : il te manque un "{" après
    if (($nom != '') && ($email != '') && ........

  6. A voir en vidéo sur Futura
  7. #5
    TiClic

    Re : récupération de formulaire

    Il manque également une parenthèse à la fin de la condition dont je viens de parler. Ca fait beaucoup. Tu as intérêt à programmer pas à pas et par bloc. On ne peut pas taper du PHP au kilomètre sans perdre du temps au lieu d'en gagner.

  8. #6
    mariang

    Re : récupération de formulaire

    Citation Envoyé par TiClic Voir le message
    Tu es chez quel FAI pour utiliser la fonction email() ?
    As tu essayé la fonction mail() ?

    mon FAI est free et j'ai essayé aussi bien email que mail.

    Le problème reste le même

    Citation Envoyé par TiClic Voir le message
    Citation:
    $headers = 'From: '.$nom.' <'.$email.'>' <'.$marque.'>' <'.$modele.'>' <'.$annee.'>'
    Déjà vérifie cette ligne, elle me semble plombée.
    Ok, mais cela ne me dit pas comment le "dé-plombée"...


    Citation Envoyé par TiClic Voir le message
    Grave, pb de structure : il te manque un "{" après
    Citation:
    if (($nom != '') && ($email != '') && ........
    Et ce "{" je le mets à la fin de && ..... ou sous la ligne ?

    Désolée, mais je suis complètement nulle, je peux comprendre ce que l'on me dit si on me l'explique avec des mots qui sont à la portée de mon esprit

    Je te remercie pour tes réponses.

  9. Publicité
  10. #7
    TiClic

    Re : récupération de formulaire

    Il manque également une parenthèse à la fin de la condition dont je viens de parler. Ca fait beaucoup. Tu as intérêt à programmer pas à pas et par bloc. Tu ne passes pas au suivant tant que tout n'est pas au carré. Cette façon de faire te fera gagner du temps au lieu d'en perdre.
    Tu es chez Free.

  11. #8
    TiClic

    Re : récupération de formulaire

    Tu sais faire puisque je lis dans ton programme :

    if ($copie == 'oui')
    {
    $cible = $destinataire.','.$eemail;
    }
    ici tu ouvres une parenthése, dit ce qu'il fallait faire et refermé la parenthèse.

    Je pensais bien que c'était Free, je n'en connais pas d'autres qui n'utilisent pas mail(). Quel éditeur PHP utilises-tu ? On va reprendre par le commencement. As-tu fait un algorithme ou schéma fonctionnel avant d'attaquer le code ?

  12. #9
    TiClic

    Re : récupération de formulaire

    Ok, mais cela ne me dit pas comment le "dé-plombée"...
    Lorsque tu as une longue chaîne comme celle-la, tu commences par faire un echo $headers pour voir ce que ça donne. Si pb, tu saucissonnes ta chaîne à chaque point comme ceci :

    $headers = 'From: '
    .$nom
    .' <'
    .$email
    .'>' <'
    .$marque
    .'>' <'
    .$modele
    .'>' <'
    .$annee
    .'>' <'
    .$moteur
    .'>' <'
    .$piece
    .'>'
    . "\r\n";

    Humm ! Je pense que tu auras tiré les conséquences.

  13. #10
    mariang

    Re : récupération de formulaire

    ok

    je recommence depuis le début, étape par étape comme tu le conseilles, "ne passer pas au suivant tant que tout n'est pas au carré."

    Alors là, bonne question pour "Quel éditeur PHP utilises-tu ?"

    Je pensais "bêtement" et simplement que de créer un fichier php et de le mettre sur le serveur ftp suffisait....
    Ooops ! Ce n'est pas ce qu'il faut faire ?

    "algorithme ou schéma fonctionnel", .... qu'est-ce que c'est ?
    Si c'est une page htm avec le formulaire "mis en place" oui, je l'ai.
    Si "algorithme ou schéma fonctionnel" est autre chose, re-ooops ! je ne sais pas !

    Au fait, je remets "eemail" ou je laisse "mail" ?
    Est-ce important ?

    J'espère que la patience fait partie de tes qualités... car il va t'en falloir.

    En tout cas merci pour ce que tu m'as dit jusqu'à présent

    Je fais quelques essais et je te tiens au courant.

  14. #11
    mariang

    Re : récupération de formulaire

    me revoici

    J'ai donc corriger tel que tu m'as dit

    la "chaîne"
    $headers = 'From: '
    .$nom
    .' <'
    etc

    Et quand j'envoie le formulaire j'ai une page d'erreur qui me dit que j'ai une syntax error à la ligne 90 qui correspond à

    $headers = 'From: '

    Un souci viendrait de là.

    (et je pense que ce n'est que le début)

  15. #12
    TiClic

    Re : récupération de formulaire

    Personnellement j'utilise un logiciel gratuit : Notepad++
    Côté gestion des indentations, je n'ai pas trouvé mieux. Auparavant j'utilisais Weaverslave (autre graticiel), mais il plantait un peu trop souvent à mon goût. Comme Notepad++ gère le PHP, si tu (télé)charges ton programme sous ce logiciel, tu vas tout de suite voir des zones grises fâcheuses sur ta ligne 90 et un petit feu d'artifice. Commence par là, on pourra bosser "synchro". Coté patience, je n'ai plus l'âge des gens pressés.
    On va débugger ton prg ailleurs pour laisser le champ libre à qqn qui aurait un script corrigé à te proposer. Je te dirai demain par MP comment on va procéder, parce que ça peut durer. Bonne soirée.
    Dernière modification par TiClic ; 08/01/2009 à 18h33. Motif: Complément

  16. Publicité
  17. #13
    mariang

    Re : récupération de formulaire

    bon, j'ai corrigé certains "trucs"

    maintenant j'aurais une érreur sur la ligne 97 qui correspond à ça

    .'>' <'

    J'ai Notepad, c'est vrai et je ne sais pas pourquoi je ne l'ai pas utilisé

    ok, on voit ça plus tard

    bonne soirée
    et encore merci

  18. #14
    yoda1234

    Re : récupération de formulaire

    Citation Envoyé par mariang Voir le message
    J'ai Notepad,
    Non TiClic te parle de Notepad++ et non du Notepad intégré à Windows.
    Citation Envoyé par TiClic
    Comme Notepad++ gère le PHP
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

  19. #15
    mariang

    Re : récupération de formulaire

    Citation Envoyé par yoda1234 Voir le message
    Non TiClic te parle de Notepad++ et non du Notepad intégré à Windows.
    ok, j'ai notepad++ puisque le ++ a l'air super important !

    je sais que la , près est super importante dans un script mais je ne pensais pas que cela l'était dans une réponse d'un post.

    merci pour cette précision
    tout est bon à prendre

  20. #16
    yoda1234

    Re : récupération de formulaire

    Citation Envoyé par mariang Voir le message
    ok, j'ai notepad++ puisque le ++ a l'air super important !
    As tu cliqué sur le lien? J'ai un doute.
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

  21. #17
    mariang

    Thumbs up

    Dicton du jour :
    Soleil au jour de Saint Hilaire, rentre du bois pour l'hiver

    Le soleil est entré en ce forum, j'ai pu rentrer tout ce que j'avais besoin pour résoudre mon problème de formulaire.

    Merci


    merci
    Dernière modification par yoda1234 ; 13/01/2009 à 18h25.

Discussions similaires

  1. Formulaire Dreamweaver
    Par pocahontas27 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 14/02/2008, 14h26
  2. dreamweaver-formulaire
    Par natpl dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 28/10/2007, 10h02
  3. Formulaire pH
    Par JuL164 dans le forum Chimie
    Réponses: 5
    Dernier message: 02/04/2007, 16h42
  4. Formulaire d'inscription
    Par Momobulle dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 25/01/2005, 10h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.