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

PHP & Base de données Discussion :

Formulaire de contact


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut Formulaire de contact
    Bonjour à tous
    Sur mons site internet j'essaye de mettre un formulaire de contact
    Aider moi SVP

    Voila je suis débutant en informatique

    Mon site comporte 10 pages:
    -9 pages en en html : ca marche bien
    -1 page en php pour le formulaire: ca marche pas. C'est un script tout simple que j'ai trouvé sur internet pour me familiariser avec php. Je n'arrive pas à cibler l'erreur: pouvez vous m'aider?

    Merci
    Ci joint le script:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
     
    $form="
    <form method=\"POST\">
    <p>Nom: <input type=\"text\" name=\"nom\" size=\"30\" value=\"Nom\"></p>
    <p>Votre adresse mail: <input type=\"text\" name=\"mail\" size=\"30\" value=\"Votre adresse mail\"></p>
    <p><input type=\"submit\" value=\"Envoyer\" name=\"B1\"></p>
    </form>";
    echo $form;
     
    if (isset($_POST['B1']))
    {
     // teste les valeurs. $nom=trim(addslashes($_POST['nom']));
    $mail=trim(addslashes($_POST['mail']));
     $tableau=array();
     $tableau=Explode("@",$mail,2);
     echo $tableau[0];
     if ($nom=="" || $nom=="Nom")
     {
       echo "Veuillez rentrer un nom";
     }elseif ($mail==""){
       echo "Rentrez une adresse mail";
     }elseif (!isset($tableau[1])) {
       echo"Rentrez une adresse valide";
     }else{
      if(!mysql_connect('localhost','root')){
        Echo'Connection Impossible';
        exit();
      } else{
       Echo'Connexion réussie';
      }
      Mysql_select_db('ybet');
      $requete="insert formulaire SET nom='$nom', mail='$mail'" ;
      $resultat=mysql_query($requete);
      //die ();
    // envoi par mail
    $date=date('Ymd');
    $message=date("d/m/Y H:m:s\n")."\n Nouveau contact: "."\n nom: ".$nom."\n Adresse mail: ".$mail;
    $entetes = "From: contact@site.be\nReply-to: contact@site.be\n";
    $sujet="Nouveau contact ".$nom;
    $webmaster=('cemalkayaie@hotmail.com');
    mail($webmaster,$sujet,$message,$entetes);
     }
    }
     
    ?>

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    salut,
    quel probleme rencontres-tu ?
    (s'il y a un message d'erreur, nous le montrer)

    sinon, je ne vois pas bien l'interet de mettre tout ton formulaire dans une variable pour l'afficher juste apres, autant l'afficher directement (d'ailleur, ton formulaire ne pointe sur rien <form method="POST" action="ta_page.php">)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut
    Merci pour ton aide

    Voici les modification

    1) formulaire html:
    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
    <HTML>
     
      <HEAD>
        <STYLE type="text/css">                                                       <!--Feuilles de style-->
            <!--
            H1 { font-family: Times New Roman; font-size: 0.7 cm; font-style: normal; font-weight: 900; color: white; text-align: center;
                 margin-top: 1% }
            H2 { font-family: Times New Roman; font-size: 0.5 cm; font-style: italic; font-weight: 200; color: white}
            H3 { font-family: Times New Roman; font-size: 0.3 cm; font-style: normal; font-weight: 200; color: white; text-align: center; margin-top: 1% }
            H4 { font-family: Times New Roman; font-size: 0.4 cm; font-style: italic; font-weight: 200; color: white; text-align: center}
            H5 { font-family: Brush Script MT; font-size: 1 cm; font-style: italic; font-weight: 200; color: white; text-align: center;
               margin-left: auto; margin-right: auto ; margin-top: auto;  margin-bottom: auto }
            -->
        </STYLE>
      </HEAD>
     
     
      <BODY BGCOLOR="Black" body link="#660000" vlink="#660000">
      <CENTER>
      <BR>
      <BR>
      <H5>Contact<H5>
     
    <FORM NAME="contact" ACTION="saisie.php" METHOD="POST" ENCTYPE="multipart/form-data">
    <H2>Nom:</H2>      <INPUT TYPE="text" NAME="nom" SIZE="30" MAXLENGTH="50" VALUE="">
    <H2>e-mail:</H2>   <INPUT TYPE="text" NAME="mail" SIZE="30" MAXLENGTH="50" VALUE="">
    <CENTER><INPUT TYPE="submit" NAME="B1" VALUE="Envoyer"></CENTER>
    </FORM> 
     
      <H4>www.emmakaya.fr<H4>
    <H3>© 2009<H3></BODY>
     
      </BODY>                                                                       <!--fin du document-->
     
    </HTML>
    2) page php:
    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
    38
    <?php
     
    if (isset($_POST['B1']))
    {
     // teste les valeurs. $nom=trim(addslashes($_POST['nom']));
    $mail=trim(addslashes($_POST['mail']));
     $tableau=array();
     $tableau=Explode("@",$mail,2);
     echo $tableau[0];
     if ($nom=="" || $nom=="Nom")
     {
       echo "Veuillez rentrer un nom";
     }elseif ($mail==""){
       echo "Rentrez une adresse mail";
     }elseif (!isset($tableau[1])) {
       echo"Rentrez une adresse valide";
     }else{
      if(!mysql_connect('localhost','root')){
        Echo'Connection Impossible';
        exit();
      } else{
       Echo'Connexion réussie';
      }
      Mysql_select_db('ybet');
      $requete="insert formulaire SET nom='$nom', mail='$mail'" ;
      $resultat=mysql_query($requete);
      //die ();
    // envoi par mail
    $date=date('Ymd');
    $message=date("d/m/Y H:m:s\n")."\n Nouveau contact: "."\n nom: ".$nom."\n Adresse mail: ".$mail;
    $entetes = "From: contact@site.be\nReply-to: contact@site.be\n";
    $sujet="Nouveau contact ".$nom;
    $webmaster=('cemalkayaie@hotmail.com');
    mail($webmaster,$sujet,$message,$entetes);
     }
    }
     
    ?>
    3) message d'erreur lors du tes du formulaire sur internet:
    "adresse e-mail que je rentre dans le formulaire" + Connection Impossible

    4) voici le site: http://oz.kaya.free.fr/ek

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Probleme hebergement
    Bonjour CE.KA,

    Je doute que free autorise la fonction php mail( cela leur causerait trop de problème.
    Il faudrait un hébergement professionnel, le premier prix chez ovh (ou autre )avec php inclus suffira.

    Pour ne pas passer par php et donc la fonction mail on peut utiliser mailto: en html mais la présence d'un logiciel de messagerie configuré sur le poste de l'internaute est obligatoire.

    Cordialement

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut
    Bonjour mkweb

    Est tu sur que free free n'autorise pas la fonction php mail?
    http://www.free.fr/assistance/947-ac...nterdites.html

    Cordialement

  6. #6
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut
    http://www.free.fr/assistance/947-ac...nterdites.html
    "La fonction mail() fonctionne avec un quota d'envois (2 000 eMails par semaine)."
    Donc on peut avec mail()

    Je comprends pas ce qui cloche dans mons script. Pourtant c'est un truc simple pour essayer de me familiariser avec php ...

  7. #7
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!mysql_connect('localhost','root')){
    la tu dis : "si la connexion est differente de localhost, utilisateur root"...ok, mais ou est ta connexion ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Ben ... elle est là... dans le if...

    Mais bon, est tu sûr de tes identifiants de connexion ? où se trouve le mot de passe ?

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Je vais apprendre à lire
    Ok CE.KA
    Oui erreur de ma part, j'ai confondu avec autre chose

    Par contre pour se connecter à free mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id=mysql_connect("sql.free.fr","utilisateur","motdepasse");
    Utilisateur c'est le nom de ton mail sans le @free.fr
    Et mot de passe c'est le mot de passe de messagerie

    C'est vrai que si tu nous copiais tes messages d'erreur ça faciliterai.

  10. #10
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut
    Dans Free j'ai crée une base de donnée "oz_kaya" qui contient la table "base" qui va recevoir les éléments du formulaire:

    - sur Free on me demande de rentrer le nom des champs de la table "base". Dois je mettre "nom" et "mail" ou "$nom" et "$mail"?

    - ci joint le formulaire modifié: ca ne marche toujours pas, une page blanche s'affiche... au secours!!
    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
    38
    39
    40
    41
    42
    43
    <?php
     
    //Verification des valeurs entrées
    if (isset($_POST['B1']))
    {
     // teste les valeurs
     $nom=trim(addslashes($_POST['nom']));
     $mail=trim(addslashes($_POST['mail']));
     $tableau=array();
     $tableau=Explode("@",$mail,2);
     echo $tableau[0];
     if ($nom=="" || $nom=="Nom")
     {
       echo "Veuillez rentrer un nom";
     }elseif ($mail==""){
       echo "Rentrez une adresse mail";
     }elseif (!isset($tableau[1])) {
       echo"Rentrez une adresse valide";
     }else{
     
    //Ouverture connexion à une base de donnée
     $id=mysql_connect("sql.free.fr","oz.kaya","la j'ai mi mon code");
     
    //Transfert dans la base de donnée
    Mysql_select_db('oz_kaya');
    $requete="insert formulaire SET nom='$nom', mail='$mail'" ;
    $resultat=mysql_query($requete);
     
    // envoi par mail
    $date=date('Ymd');
    $message=date("d/m/Y H:m:s\n")."\n Nouveau contact: "."\n nom: ".$nom."\n Adresse mail: ".$mail;
    $entetes = "From: oz.kaya.fr/ek";
    $sujet="Nouveau contact ".$nom;
    $webmaster=('cemalkayaie@hotmail.com');
    mail($webmaster,$sujet,$message,$entetes);
     
    //Fermer la connexion à la base de données
    mysql_close($id); 
     
     }
    }
     
    ?>

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  2. [Formulaire] de contact
    Par inferno66667 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 19h32
  3. Prob avec formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2005, 18h53
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06
  5. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47

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