IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi d'un e-mail par formulaire


Sujet :

Langage PHP

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    j'ai déjà regardé... aucune différence ....

    sur l'ordinateur du bureau voici le message d'erreur "Une erreur s'est produite"

    code qui marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php 
    $societe=$_POST['societe'];
    $nom=$_POST['nom']; 
    $tel=$_POST['tel'];
    $fax=$_POST['fax'];
    $mail=$_POST['mail']; 
    $adresse=$_POST['adresse'];
    $designation=$_POST['design'];
    $format=$_POST['format'];
    $quantite=$_POST['quantite'];
    $page=$_POST['page'];
    $couleur=$_POST['couleur'];
    $papier=$_POST['papier'];
    $gram=$_POST['gram'];
    $facon=$_POST['facon'];
    $fini=$_POST['fini'];
    $delais=$_POST['delais'];
    $obs=$_POST['obs']; 
     
    /////voici la version Mine 
    $headers = "MIME-Version: 1.0\r\n"; 
     
    //////ici on détermine le mail en format text 
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
     
    ////ici on détermine l'expediteur et l'adresse de réponse 
    $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 
     
    $subject="demande de devis"; 
    $destinataire="kyrilys@aliceadsl.fr"; 
    $body="Société : " . $_POST['societe']." , \n Nom : " . $_POST['nom']." , \n Téléphone : " . $_POST['tel']." , \n Fax : " . $_POST['fax']." , \n Mail : " . $_POST['mail']." , \n Adresse : " . $_POST['adresse'].", \n Désignation: " . $_POST['design']." , \n Format : " . $_POST['format']." , \n Quantité : " . $_POST['quantite']." , \n Nombre de page : " . $_POST['page']." , \n Couleur : " . $_POST['couleur']." , \n Type de papier : " . $_POST['papier']." , \n Grammage : " . $_POST['gram']." , \n Façonnage : " . $_POST['facon']." , \n Finition : " . $_POST['fini']." , \n Délais souhaités : " . $_POST['delais']." , \n Observations : " . $_POST['obs']."\n"; 
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Votre mail a été envoyé";
    } else { 
    echo "Une erreur s'est produite \n '<a href="presentation.php">Retour</a>'"; 
    } 
    ?>

    code qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php 
    $societe=$_POST['societe'];
    $nom=$_POST['nom']; 
    $tel=$_POST['tel'];
    $fax=$_POST['fax'];
    $mail=$_POST['mail']; 
    $adresse=$_POST['adresse'];
    $designation=$_POST['design'];
    $delais=$_POST['delais'];
    $obs=$_POST['obs']; 
     
    /////voici la version Mine 
    $headers = "MIME-Version: 1.0\r\n"; 
     
    //////ici on détermine le mail en format text 
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
     
    ////ici on détermine l'expediteur et l'adresse de réponse 
    $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 
     
    $subject="demande de devis"; 
    $destinataire="kyrilys@aliceadsl.fr"; 
    $body="Société : " . $_POST['societe']." , \n Nom : " . $_POST['nom']." , \n Téléphone : " . $_POST['tel']." , \n Fax : " . $_POST['fax']." , \n Mail : " . $_POST['mail']." , \n Adresse : " . $_POST['adresse'].", \n Désignation: " . $_POST['design'].", \n Délais souhaités : " . $_POST['delais']." , \n Observations : " . $_POST['obs']."\n"; 
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Votre mail a été envoyé"; 
    } else { 
    echo "Une erreur s'est produite"; 
    } 
    ?>

  2. #22
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    essaie avec un body vide pour voir.

    Et sinon essaie aussi en virant tout simplement la structure conditionnelle contenant la fonction. Garde juste l'appel à la fonction mail pour voir ce qu'elle dit
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    là je ne peux pas tester, je testerai ce soir.

    mais je comprends pas le truc du body vide. quel body ? (j'en ai pas dans la page envoi.php)

  4. #24
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    la variable $body celle qui représente le contenu du message, tu mets une chaine vide pour tester. Je n'y crois pas trop mais qui ne tente rien n'a rien
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    j'ai testé en virant ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Votre mail a été envoyé";
    } else { 
    echo "Une erreur s'est produite \n '<a href="presentation.php">Retour</a>'"; 
    }
    ça ne change rien. Je n'ai aucun mail qui arrive

  6. #26
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Hum... si tu vires la fonction mail, forcément, t'as aucun mail qui n'arrive parce que tu n'en envoies aucun
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    tu m'avais pas dit de virer la fonction conditionnelle ?

  8. #28
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    ben juste la "structure conditionnelle", c'est à dire de virer le if/else, mais fallait la fonction mail, sinon forcément, le script ne cherche même plus à envoyer les mails
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    je ne pourrais réessayer qu'à partir de lundi... je te tiens au courant

    en attendant, peux tu m'expliquer comment faire pour les bdd de 1&1. j'avoue que j'ai pas compris le truc. Faut que je recrée une bdd à partir "d'administration base de données" exactement comme celle d'easy php ? Ou ya -t-il un moyen de l'exporter ?

  10. #30
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Dans l'interface de l'administration des bases de données, tu as un listing des bdd que tu as chez eux. A droite du tableau, pour chaque bdd, tu as 3 boutons, dont un marqué "Administration", clique dessus, tu retrouveras PHPMyAdmin, comme sous EasyPHP. Et donc de là, tu peux effectivement faire une exportation de tes données sous EasyPHP, ce qui génère une grande requête SQL, que tu passeras à la moulinette sur l'interface phpmyadmin de 1&1
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    ça me met des erreurs SQL que je fasse "executer une ou des requetes sur la base" ou "emplacement du fichier texte" ....
    si je la reconstruit entièrement et de la même façon que sous easy php ça ira ?

  12. #32
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Dans le fichier généré, vire à chaque fin de requête de création de tables les instructions spécifiques de type charset, par exemple. En gros tu gardes juste la création des colonnes et des index.

    Je sais pas pourquoi ça passe jamais ces trucs là
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  13. #33
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    bon ça c'est fait.
    D'après le message, tout s'est bien passé.

    alors maintenant question bête : est-ce qu'il faut que je change le nom de ma base dans 1&1 ? ou alors peut être le code quand je m'y connecte en php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql["serveur"]='localhost';
    $sql["login"]='aaa';
    $sql["pass"]='aaa';
    $sql["base"]='tuto';

  14. #34
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Oui il faut que tu changes les lignes suggérées, parce que sinon, ça ne va pas marcher. Dans le tableau des bases de données dont je t'ai parlé tout à l'heure, tu as toutes les infos dont tu as besoin pour te connecter.

    Adresse du serveur MySQL, nom de la base de données, utilisateur et mot de passe
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    merci pour ces infos, je m'en occupe tout de suite.

    Bon, concernant le devis, ta dernière suggestions ne marche pas.... Je comprends vraiment pas pourquoi ça marche sur un site mais pas sur l'autre

  16. #36
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Mets le code exact de ce qui ne marche pas, l'erreur exacte renvoyée par la fonction mail() et non traitée par une structure conditionnelle et enfin, as-tu réussi à accéder à ta base de données en paramétrant correctement la connexion?
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  17. #37
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    lorsque j'enlève la structure conditionnelle,
    il me reste donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mail($destinataire,$subject, $body, $headers)
    echo "Votre mail a été envoyé";
    en cliquant sur envoyer, j'arrive sur une page blanche, sans message d'erreur, mais le mail n'est pas envoyé.

    -----

    Concernant la bdd, j'ai changé les codes, mais je ne pourrais tester ça que ce soir. je pense que ça devrait aller normalement.

  18. #38
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Au tout début du script, mets:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    ça devrait être plus "parlant"
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

  19. #39
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 121
    Points : 44
    Points
    44
    Par défaut
    j'arrive à accéder à la bdd. Tout à l'air de fonctionner à part la création du compte client mais je pense savoir d'où ça vient.

    concernant LE problème, voici le message d'erreur à l'envoi du formulaire :

    Parse error: syntax error, unexpected T_ECHO in /homepages/19/d244792422/htdocs/imprimerie/envoi.php on line 35

    la ligne 35 c'est le echo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mail($destinataire,$subject,$body,$headers)
    echo "Votre mail a été envoyé";

  20. #40
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    il manque un ; à la fin de la ligne de la fonction mail
    Comparez la qualité et le prix du matériel de bricolage ou de maison avant d'acheter : MatosMaison
    Le bouton ne masse pas les pieds, mais ça aide la communauté.

Discussions similaires

  1. [Spip] [Spip 3.0.16] Envoi de mail par formulaire de contact
    Par Afterprorichie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/06/2014, 19h15
  2. [ZF 1.11] [Zend 1.11.11]Envoi de Mail par formulaire
    Par darklulu dans le forum Zend Framework
    Réponses: 0
    Dernier message: 19/09/2012, 18h07
  3. envoi d'un mail par formulaire
    Par mikael2235 dans le forum Langage
    Réponses: 10
    Dernier message: 28/05/2009, 14h01
  4. Réponses: 4
    Dernier message: 09/01/2009, 11h06
  5. envoi de mail par formulaire
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2007, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo