Parse error.... php pour envoi formulaire - Page 2

Précédent
  • 1
  • 2
  1. llaume200581 Messages postés 27 Statut Membre
     
    rien y fait alain g tout bien fait
    0
  2. llaume200581 Messages postés 27 Statut Membre
     
    je suis completement paumé dans mon script j'essaye je doit pas mettre au bonne endroit pourrait tu m'indiquer ou dois mettre la fontion
    $adresse=htmlentities($_POST['adresse']);
    if(VerifierAdresseMail($adresse))
    echo '<p>Votre adresse est valide.</p>';
    else
    echo '<p>Votre adresse e-mail n\'est pas valide.</p>';
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Salut !
      Ben écoute, pour éviter tout problème, mieux vaux que t'essaye de trouve une solution pour activer(utiliser) la version 5 de PHP ... car tôt ou tard, tu va rencontrer d'autres problème, et peut être même des failles de sécurité ...
      0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?php
    		/////fonctions php (on met les fonctions au début du script, elles peuvent être appelées depuis n'importe ou dans la page
    //fonction verif adresse mail
    function VerifierAdresseMail($adresse) 
    { 
       $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
       if(preg_match($Syntaxe,$adresse)) 
          return true; 
       else 
         return false; 
    }
    
    /////
    if(isset($_POST) AND !empty($_POST)) {
    extract($_POST);
    $errorMsgs = '';
    //-------------
    if(!isset($nom) OR empty($nom)) {
    $errorMsgs .= 'Vous avez oubliez le nom.<br />';
    }
    elseif(strlen($nom) > 40) {
    $errorMsgs .= 'Nom incorrect.<br />';
    }
    //---
    if(!isset($prenom) OR empty($prenom)) {
    $errorMsgs .= 'Vous avez oubliez le prénom.<br />';
    }
    elseif(strlen($prenom) > 40) {
    $errorMsgs .= 'Prénom incorrect.<br />';
    }
    //  Verif mail---
    if(!isset($email) OR empty($email)) {
    	$errorMsgs .= 'Vous avez oubliez l\'email.<br />';
    }elseif(VerifierAdresseMail($email)){
    //si mail pas ok alors message d'erreur
    	$errorMsgs .= 'Adressse email non valide !.<br />';
    }
    //fin verif mail
    
    if(!isset($sujet) OR empty($sujet)) {
    $errorMsgs .= 'Vous avez oubliez le sujet.<br />';
    }
    elseif(strlen($sujet) > 200) {
    $errorMsgs .= 'Sujet trop long.<br />';
    }
    //---
    if(!isset($message) OR empty($message)) {
    $errorMsgs .= 'Vous avez oubliez le message.<br />';
    }
    elseif(strlen($message) > 2000) {
    $errorMsgs .= 'Message trop long.<br />';
    }
    //--------------
    if(empty($errorMsgs)) {
    $destinataire = 'llaume200581@free.fr';
    $sujetMail = 'Formulaire de contact';
    
    $msg = 'Une nouvelle question est arrivée \n';
    $msg .= 'Nom : '.$nom.' \n';
    $msg .= 'Prenom : '.$prenom.' \n';
    $msg .= 'Email : '.$email.' \n';
    $msg .= 'Sujet : '.$sujet.'\nMessage : '.$message;
    
    $entete = 'From: $nom \n';
    $entete .= 'Reply-To: '.$email.'\n';
    
    $env_mail = mail($destinataire, $sujetMail, $msg, $entete);
    
    if($env_mail) {
    echo "Le mail a bien été envoyé.";
    }
    else {
    echo "Pb avec l'envoi du mail";
    }
    }
    else {
    echo $errorMsgs;
    }
    }
    ?>
    0
  4. llaume200581 Messages postés 27 Statut Membre
     
    quand clique sur envoyer page blanche et 'Adressse email non valide
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      function VerifierAdresseMail($adresse)    
      {    
         $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';    
         if(!preg_match($Syntaxe,$adresse))    
            return true;    
         else    
           return false;    
      }


      Ajoute un "!" avant le preg_match, comme ci-dessus !

      Si ça marche toujours pas, c'est que ça vient de la version de PHP que t'utilise, parce que chez moi ça marche normal !

      Essaye en créant un fichier .htaccess, et mets ce qui suit dedans !
      SetEnv PHP_VER 5


      PS : Il faut mettre ce fichier a la racine de ton site !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. llaume200581 Messages postés 27 Statut Membre
     
    bonjour
    alors ca marche nikel mais le gros hic c'est que je ne reçoit rien dans ma boite email alors qu'il me dit bien le mail à été envoyé ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Vérifie dans le dossier SPAM(Courrier indésirable) de ta boite !
      0
  7. llaume200581 Messages postés 27 Statut Membre
     
    En fait je viens de recevoir un email hihihi
    merci alain et joo_s pour m'avoir aider
    néanmoins voici la mise en forme du mail lors de la réception
    Une nouvelle question est arriv?e \nNom : ccccccccccccccccccccc \nPrenom : cvx \nEmail : guillonet@hotmail.fr \nSujet : cccccccccccccc\nMessage : cccccccccccccc
    possible d'enlever le \n et possible de revenir à la ligne pour chaque il me semblait que <br> suffisait ?
    genre
    un nouveau formulaire vient d' arrivé

    non :cccccccccccccccccccc
    prénom :cccccc
    Email ; gui...
    ..............

    merci je vous fout la paix après
    0
  8. llaume200581 Messages postés 27 Statut Membre
     
    g compris qu'il faut envoyer l email au format html mais sérieux c du chinois ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Ben suffit d'ajouter l'option dans les headers qui précise que l'email est au format html !
      Puis le contenu de l'email doit être en html, or, tu peut utiliser les balises ...
      0
  9. llaume200581 Messages postés 27 Statut Membre
     
    j'abuse peut-être mais jsuis depuis 2 jous sur l'envoi htlm serieux pouvez vs m'aider
    voici la mise en forme du mail lors de la réception
    Une nouvelle question est arriv?e \nNom : ccccccccccccccccccccc \nPrenom : cvx \nEmail : guillonet@hotmail.fr \nSujet : cccccccccccccc\nMessage : cccccccccccccc
    possible d'enlever le \n et possible de revenir à la ligne pour chaque il me semblait que <u>i> suffisait ?
    genre
    un nouveau formulaire vient d' arrivé

    non :cccccccccccccccccccc
    prénom :cccccc
    Email ; gui...
    ..............
    voila mon script php
    <?php
    /////fonctions php (on met les fonctions au début du script, elles peuvent être appelées depuis n'importe ou dans la page
    //fonction verif adresse mail
    function VerifierAdresseMail($adresse)
    {
    $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
    if(!preg_match($Syntaxe,$adresse))
    return true;
    else
    return false;
    }

    /////
    if(isset($_POST) AND !empty($_POST)) {
    extract($_POST);
    $errorMsgs = '';
    //-------------
    if(!isset($nom) OR empty($nom)) {
    $errorMsgs .= 'Vous avez oubliez le nom.<br />';
    }
    elseif(strlen($nom) > 40) {
    $errorMsgs .= 'Nom incorrect.<br />';
    }
    //---
    if(!isset($prenom) OR empty($prenom)) {
    $errorMsgs .= 'Vous avez oubliez le prénom.<br />';
    }
    elseif(strlen($prenom) > 40) {
    $errorMsgs .= 'Prénom incorrect.<br />';
    }
    // Verif mail---
    if(!isset($email) OR empty($email)) {
    $errorMsgs .= 'Vous avez oubliez l\'email.<br />';
    }elseif(VerifierAdresseMail($email)){
    //si mail pas ok alors message d'erreur
    $errorMsgs .= 'Adressse email non valide !.<br />';
    }
    //fin verif mail

    if(!isset($sujet) OR empty($sujet)) {
    $errorMsgs .= 'Vous avez oubliez le sujet.<br />';
    }
    elseif(strlen($sujet) > 200) {
    $errorMsgs .= 'Sujet trop long.<br />';
    }
    //---
    if(!isset($message) OR empty($message)) {
    $errorMsgs .= 'Vous avez oubliez le message.<br />';
    }
    elseif(strlen($message) > 2000) {
    $errorMsgs .= 'Message trop long.<br />';
    }
    //--------------
    if(empty($errorMsgs)) {
    $destinataire = 'lxxxxxxxxxxxxx@xxxxxxx.xx';
    $sujetMail = 'Formulaire de contact';

    $msg = 'Une nouveau formulaire est arrivée \n';
    $msg .= 'Nom : '.$nom.' \n';
    $msg .= 'Prenom : '.$prenom.' \n';
    $msg .= 'Email : '.$email.' \n';
    $msg .= 'Sujet : '.$sujet.'\nMessage : '.$message;

    $entete = 'From: $nom \n';
    $entete .= 'Reply-To: '.$email.'\n';

    $env_mail = mail($destinataire, $sujetMail, $msg, $entete);

    if($env_mail) {
    echo "Le mail a bien été envoyé.";
    }
    else {
    echo "Pb avec l'envoi du mail";
    }
    }
    else {
    echo $errorMsgs;
    }
    }
    ?>nv
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Ben ça se voit que t'as pas vraiment chercher avec les deux sites que je t'ai citer plus haut, pourtant c'est clair !
      0
  10. llaume200581 Messages postés 27 Statut Membre
     
    ok je vais chercher encore merci pour ton aide
    0
  11. llaume200581 Messages postés 27 Statut Membre
     
    je m'occupe d'une autre chose pour l'instant
    j'aimerai rediriger dans un tableau html bien ciblé après envoi du formulaire php
    alors g bien trouvé des codes sur les forum qui marche
    Remplace la ligne :

    if($envoi) echo"Le mail a bien été envoyé !";

    par

    if($envoi) header("location:ma_page_html.html");

    mais je n'arrive pas ce que ce soit rediriger dans un tableau html ciblé
    si quelqu'un pourrait et je suis pas un mec du genre à ne pas regarder dans les forums
    si je demande c que jsuis coincé
    merci
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      header('Location: ma_page_html.html');
      0
  12. llaume200581 Messages postés 27 Statut Membre
     
    si tu lit bien tout ce qu j'ai mis, tu verrais que c 'est exactement ce que g mis et ça marche d'ailleurs mais ce que je n'arrive pas à faire c 'est ce que ce soit rediriger dans un tableau html ciblé ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Ben j'avais compris que la redirection ne fonctionnait pas, car j'ai déjà eu un problème avec la fonction header, et il fallait mettre un espace entre le ":" et l'url, un espace que t'as omis de mettre, mais si ça marche sans, alors tant mieux !

      appart ça !
      ce soit rediriger dans un tableau html ciblé ?
      Explique, parce tableau html ciblé ne veut rien dire pour moi ...
      0
  13. llaume200581 Messages postés 27 Statut Membre
     
    j'aimerai rediriger dans un tableau html après envoi du formulaire
    j 'explique :
    dans une page1.html j'ai deux tableaux
    -tableau1 avec une image
    -tableau 2 mon formulaire html avec le bouton envoyer qui a comme action formulaire.php
    je clique sur envoyer il s'affiche sur une page blanche "le mail à bien été envoyé"
    normal tu me diras
    je crée page2.html j'ai deux tableau
    -tableau 1 avec image
    -tableau2 j'aimerai que s'affiche dans ce tableau "le mail à bien été envoyé"
    possible ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Ben il suffit de faire la redirection vers la page2.html, et d'écrire dans le tableau 2 le message que tu veux !
      0
  14. llaume200581 Messages postés 27 Statut Membre
     
    je me suis mal exprimé je reprends
    dans une page1.html j'ai deux tableaux
    -tableau1 avec une image
    -tableau 2 mon formulaire html avec le bouton envoyer qui a comme action formulaire.php
    je clique sur envoyer il s'affiche sur une page blanche "le mail à bien été envoyé"
    normal tu me diras
    je crée page2.html j'ai deux tableau
    -tableau 1 avec image
    -tableau2 j'aimerai que s'affiche dans ce tableau "le mail à bien été envoyé" qui provient de mon"formulairephp.php
    possible ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      A ma connaissance, une page HTML ne peut communiquer directement avec un script PHP !

      Donc tu reconvertit page2.html en page2.php, et la, peut être que tu pourra faire quelque chose, et dans ce cas, page2.php deviendra formulaire.php (car non nécessaire d'avoir les deux pages) !
      0
  15. Alain_42 Messages postés 5413 Statut Membre 904
     
    Joos:
    A ma connaissance, une page HTML ne peut communiquer directement avec un script PHP
    Et pourtant si ==>
    dans ta page html si tu as un formulaire dont action="une_page.php" cela appeler bien une page php en lui envoyant les valeurs du formulaire

    par contre llaume200581:
    je crée page2.html j'ai deux tableau
    -tableau 1 avec image
    -tableau2 j'aimerai que s'affiche dans ce tableau "le mail à bien été envoyé"
    possible ?

    NON
    Il faut que ta page soit en php et tu mets tout sur la page:
    - le tableau image
    - le script qui traite l'envoi du mail
    - le formulaire qui ne devra plus être affiché après l'envoi du mail
    - mais remplacé par le message envoi du mail OK
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Communiquer, c'est envoyer et recevoir, parler et comprendre, sinon ça ne sert a rien de savoir faire qu'une seule tache parmi ces deux dernières :) !
      une page html peut envoyer des informations, mais ne peut en recevoir !
      0
  16. llaume200581 Messages postés 27 Statut Membre
     
    Je revient vous voir concernant l'envoi de mai au format
    erreur
    Warning: mail() [function.mail]: Nombre de parametres incorrects in /mnt/112/sda/1/c/marilynsenechal/php/formulairephp.php on line 69
    Pb avec l'envoi du mail

    $destinataire = 'llaume200581@free.fr';
    $sujetMail = 'Formulaire de contact';

    $message ='<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>';
    $msg = 'Une nouveau formulaire est arrivée \n';
    $msg .= 'Nom : '.$nom.' \n';
    $msg .= 'Prenom : '.$prenom.' \n';
    $msg .= 'Email : '.$email.' \n';
    $msg .= 'Sujet : '.$sujet.'\nMessage : '.$message;

    $entete = 'From: $nom \n';
    $entete .= 'Reply-To: '.$email.'\n';
    $entete .='Content-Type: text/html; charset="iso-8859-1"'."\n";

    $env_mail = mail($destinataire, $sujetMail, $msg, $entete, $message);

    if($env_mail) {
    echo "Le mail a bien été envoyé.";
    }
    0
  17. llaume200581 Messages postés 27 Statut Membre
     
    je cherchen'y a t-il pas un soucis avec free
    0
  18. llaume200581 Messages postés 27 Statut Membre
     
    c $message quand jlenleve y marche mais pk??????
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Pas besoin d'avoir un niveau avancée en anglais pour pouvoir comprendre les messages d'erreur.
      :)
      0
  19. Alain_42 Messages postés 5413 Statut Membre 904
     
    regardes sur Google la fonction mail de php tu verra qu'il n'y a pas tous ces parametres tu as mis:

    mail($destinataire, $sujetMail, $msg, $entete, $message)

    que fait ce $mesage à la fin ??

    et pourquoi vouloir envoyer en HTML, \n fait très bien les retours à la ligne si l'entête est codée correctement
    0
  20. Alain_42 Messages postés 5413 Statut Membre 904
     
    envoi en mode non html

    nomme cette page xxxxxx.php

    cela répond à ta question ou toput est sur la même page
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<title>Ton titre de page</title>
    </head>
    <body>
    <!-- 
    
    la tu peux mettre ton taleau image 
    
    -->
    <?php
    			//partie traitement de l'envoi du mail
    	////fonctions php (on met les fonctions au début du script, elles peuvent être appelées depuis n'importe ou dans la page
    //fonction verif adresse mail
    function VerifierAdresseMail($adresse){
    	$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
    	if(!preg_match($Syntaxe,$adresse)){
    		//si pas valide on retourne true
    		return true;
    	}else{
    		return false;
    	}
    }
    
    	//fin fonctions php		
    ////init des varaibles de travail
    $affichage_formulaire=true;
    ////
    
    		//envoi du mail
    if(isset($_POST) AND !empty($_POST)) {
    	extract($_POST);
    	$errorMsgs = '';
    	//-------------
    	if(!isset($nom) OR empty($nom)) {
    		$errorMsgs .= 'Vous avez oublié le nom.<br />';
    	}elseif(strlen($nom) > 40) {
    		$errorMsgs .= 'Nom incorrect.<br />';
    	}
    	//---
    	if(!isset($prenom) OR empty($prenom)) {
    		$errorMsgs .= 'Vous avez oubliez le prénom.<br />';
    	}elseif(strlen($prenom) > 40) {
    		$errorMsgs .= 'Prénom incorrect.<br />';
    	}
    	// Verif mail---
    	if(!isset($email) OR empty($email)) {
    		$errorMsgs .= 'Vous avez oubliez l\'email.<br />';
    	}elseif(VerifierAdresseMail($email)){
    	//si mail pas ok alors message d'erreur
    		$errorMsgs .= 'Adressse email non valide !.<br />';
    	}
    	//fin verif mail
    
    	if(!isset($sujet) OR empty($sujet)) {
    		$errorMsgs .= 'Vous avez oubliez le sujet.<br />';
    	}elseif(strlen($sujet) > 200) {
    		$errorMsgs .= 'Sujet trop long.<br />';
    	}
    	//---
    	if(!isset($message) OR empty($message)) {
    		$errorMsgs .= 'Vous avez oubliez le message.<br />';
    	}
    	elseif(strlen($message) > 2000) {
    		$errorMsgs .= 'Message trop long.<br />';
    	}
    	//-------------- fin des verifs
    	if(empty($errorMsgs)) {
    		//il n'y a pas d'erreur
    		//donc on ne reaffichera pas le formulaire
    		$affichage_formulaire=false;
    		
    		$entete = "From: \"Ton nom\"<ton_adresse_mail_a_toi>"."\n"; //car le mail est envoyé depuis le serveur qui heberge ton site
    		$entete .= "Reply-To: ".$email."\n";
    		$entete .= "MIME-Version: 1.0"."\n";
    		$entete .= "Content-Type: text/plain; charset=\"iso-8859-1\""."\n";
    		$entete .= "Content-Transfer-Encoding: 8bit"."\n"; 
    		
    		$destinataire = 'lxxxxxxxxxxxxx@xxxxxxx.xx';
    		$sujetMail = 'Formulaire de contact';
    
    		$msg = "Une nouveau formulaire est arrivé". "\n";
    		$msg .= "Nom : ".$nom."\n";
    		$msg .= "Prenom : ".$prenom."\n";
    		$msg .= "Email : ".$email."\n";
    		$msg .= "Sujet : ".$sujet."\n";
    		$msg .= "Message : ".$message;
    
    		$env_mail = mail($destinataire, $sujetMail, $msg, $entete);
    
    		if($env_mail) {
    			echo "Le mail a bien été envoyé.";
    		}
    		else {
    			echo "Pb avec l'envoi du mail";
    		}
    	}else {
    		echo $errorMsgs;
    	}
    }
    
    if($affichage_formulaire){ //sous entendu =true
    ?>
    	<!-- 
    	
    	ici tu mets ton formulaire html
    	et dans la balise form tu mets pour que la page s'appelle elle même
    	<form name="form1" method="post" action="" >
    	
    	-->
    <?php
    
    } //fin if affichage formulaire
    ?>	
    
    </body>	
    </html>
    0
Précédent
  • 1
  • 2