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 :

[PHP-JS] probleme avec mon formulaire contact


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut [PHP-JS] probleme avec mon formulaire contact
    Bonjour a tous je me suis fais un pti formulaire en php pour gèrer la page contact .
    dans ce formulaire le destinataire est selectionner via un menu deroulant appellant ainsi le contact depuis mysql .
    jusque la rien de tres compliquer mais le probleme c'est que je mo formulaire n'envoi rien et n'affiche aucun message venant des prints ou de message d'erreur ????
    comme si le bouton ne faisais rien ???
    voila mon 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
    function formulaire($Nom="",$Profession="",$Email="",$Message="") {
    ?>
    <form action="<?php echo $PHP_SELF ?>" method="post" style="margin:0; padding:0 ">
    <table width="519" style="height:117px " border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="85" valign="top" style="padding-top:3px ">
    <div align="right" style="margin-right:7px ">
    Votre nom:<br>
    <br>
    votre Profession:<br>
    <br>
    Votre E-mail:<br><br>
    Vous contacter:<br>
    </div>
    	</td>
        <td width="174" valign="top">
    <input type="text" name="Nom" class="form" value="<?php echo trim(htmlentities($Nom)) ?>" /><br>
    <br style="line-height:13px ">
    <input type="text" class="form" name="Profession" value="<?php echo trim(htmlentities($Profession)) ?>"><br>
    <br style="line-height:13px ">
    <input type="text" class="form" name="Email" value="<?php echo trim(htmlentities($Email)) ?>"><br>
    <br style="line-height:4px ">
    <?php se_connecter();
       $destinataire = '<select name="contact">';
    	$req = mysql_query('select nom from contact');
    	while($res = mysql_fetch_assoc($req))
        $destinataire .= '<option value="'.$res['id'].'">'.$res['nom'].'</option>';
    	$destinataire .= '
    	</select>';
    	echo $destinataire;?><br>
    	</td>
        <td width="121" valign="top" style="padding-top:3px ">
    	<div style="margin-right:7px " align="right">
    	Comments & questions:
    	</div>
    	</td>
        <td width="139" valign="top">
    <textarea class="textarea" cols="5" rows="5"><?php if (ereg("[]%~#`$&|}{^[><]",$Message)) { echo "Certains caractres utiliss sont interdits";
      $erreur=1; }
      else {echo trim($Message); } ?></textarea><br>
    <br style="line-height:9px "> 
    <div align="right"><input name="" type="image" src="images/reset.jpg" title="Reset">
    <input name="Submit" value="Envoi" alt="Envoi" type="image" src="images/submit_b.jpg" title="Envoi de votre message" style="margin-left:43px; margin-right:5px ">
    </div>        
    <?php
    }
    if(!isset($Nom)) { 
    	formulaire();
    }
    else {
    	$vNom=trim(htmlentities($_POST["Nom"]));
    	$vProfession=trim(htmlentities($_POST["Profession"]));
    	$vMessage=trim($_POST["Message"]);
    	$vEmail=trim(htmlentities($_POST["Email"]));
    	$destinataire_id=intval($_POST['contact']);
    	//Maintenant on recherche l'email dans la base ne fonction de l'id transmis
    	$requete = 'select email from contact where id=' .$destinataire_id;
    	$res = mysql_query($requete);
    	if (mysql_num_rows($res) > 0 ) {//email trouv
    	$destinataire=mysql_result($res,0,0);
    	}
    	else {
    	//Erreur pas d'email slectionne
    	//A completer, pour genere une erreur
    	print 'Vous n\'avez pas selectionner de contact'; 
    	}
    	$titre="Contact";
    	$message="Provenance : $HTTP_REFERER\n";//affiche la provenence dans le message reus
    	$message.="Adresse IP : $REMOTE_ADDR,\n";//affiche l'ip dans le message reus
    	$message.="Navigateur : $HTTP_USER_AGENT\n";//affiche le navigateur utiliser par le client dans le message reus
    	$message.="Nom : $vNom\n";//affiche le nom 
    	$message.="Profession : $vProfession\n";//affiche la profession
    	$message.="E-mail : $vEmail\n";//affiche le mail
    	$message.="Message : $vMessage\n";//affiche le message
    	if (empty($vNom) || empty($Message) || empty($Email)) {
    		echo "<p class='red'>Vous n'avez pas complt toutes les zones&nbsp;:</p>";
    		$erreur=1;
    	}
    	if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
    		echo "<p class='red'>L'adresse e-mail n'est pas correcte&nbsp;:</p>";
    		$erreur=1;
    	}
    	if ($erreur==1) {
    		formulaire($Nom,$Profession,$Email,$Message);
    	}
    	else {
    		mail($destinataire,$titre,$message,"From: $vEmail") ;
    		echo "<p class='vi4'>Votre message :</p>";
    		echo "<ul><li>Nom : <span class='red'>" . $vNom . "</span><br />";
    		echo "<li>Profession : <span class='red'>" . $vProfession. "</span></li>";
    		echo "<li>E-mail : <span class='red'>" . $vEmail. "</span></li>";
    		echo "<li>Message : <span class='red'>" . $vMessage.'</span></li></ul>';
    		echo "<p class='vi4'>a bien t envoy au webmestre du site. Nous vous remercions.</p>\n" ;
    		echo "<form name='boutons'><table border='0' cellspacing='0' cellpadding='0' width='200px' align='left'><tr><td><center>" ;
    	}
    }
    ?>
    je ne trouve pas a quel ligne je me suis planté , faudrai au moins que le script fasse quelque chose ^^ ^^

  2. #2
    Membre habitué Avatar de rougedragon
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 128
    Points
    128
    Par défaut
    Salut,

    j'ai testé (rapidement) ton script et j'ai un message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function se_connecter() in F:\test\index.php on line 26
    A+

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Euh déjà je vois qu'il y a un problème de terminaison du form ca peut venir de là. EN gros il manque le </form>

  4. #4
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    rougedragon c'est normal que tu es cette erreur ma fonction de connection est a part lol
    pour ce qui du probleme j'ai changer quelque erreur .
    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
    if(!isset($_POST['Nom'])) {
            formulaire();
    }
    else {
    	$vNom=trim(htmlentities($_POST["Nom"]));
    	$vProfession=trim(htmlentities($_POST["Profession"]));
    	$vMessage=trim($_POST["Message"]);
    	$vEmail=trim(htmlentities($_POST["Email"]));
    	$destinataire_id=intval($_POST['contact']);
    	//Maintenant on recherche l'email dans la base ne fonction de l'id transmis
    	$requete = 'select email_mod from contact where id_email=' .$destinataire_id;
    	$res = mysql_query($requete) or die('erreur mysql a la ligne :'.__LINE__);
    	if (mysql_num_rows($res) > 0 ) {//email trouv
    	$destinataire=mysql_result($res,0,0);
    	}
    	else {
    	//Erreur pas d'email slectionne
    	//A completer, pour genere une erreur
    	print 'Vous n\'avez pas selectionner de contact'; 
    	}
    la requete n'etais pas bonne et le test non plus j'ai donc changer cela mais en local le script s'arrete tout de meme a vous n'avez pas remplis tous les champs ????

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Es-tu sur que ton select a bien des valeurs ??
    Si tu fais un echo de la requete tu as quoi ?

  6. #6
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    ben j'ai bien le nom des personnes dans mon select j'ai peut etre sauté une étape ..
    pour ce qui est de l'echo de la requete je ne vois aucun changement ????

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Le echo a pour but d'afficher la requete pour qu'on sache ce qu'elle contient, rien de plus. Donc tu demandes un echo et tu regardes s'il y a bien tout ce qu'il faut

  8. #8
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    je fais simplement echo $requete; ????
    car je ne vois rien d'afficher

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Maintenant on recherche l'email dans la base ne fonction de l'id transmis
    	$requete = 'select email_mod from contact where id_email=' .$destinataire_id;
    	$res = mysql_query($requete) or die('erreur mysql a la ligne :'.__LINE__);
    	if (mysql_num_rows($res) > 0 ) {//email trouv
    	$destinataire=mysql_result($res,0,0);
    tu rajoutes un echo devant $requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Maintenant on recherche l'email dans la base ne fonction de l'id transmis
    	echo $requete = 'select email_mod from contact where id_email=' .$destinataire_id;
    	$res = mysql_query($requete) or die('erreur mysql a la ligne :'.__LINE__);
    	if (mysql_num_rows($res) > 0 ) {//email trouv
    	$destinataire=mysql_result($res,0,0);
    Ou ce que tu peux faire c'est faire directement un echo sur $_POST['contact']

  10. #10
    Membre habitué Avatar de rougedragon
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 128
    Points
    128
    Par défaut
    Salut gtraxx,

    Quand je répond à une question, je ne connais pas mon niveau par rapport à celui qui la pose et je ne sais pas si il a pondu le script ou juste récupérer sur un site ( ce que je fais souvent) . Je répond donc avec mes moyens.

    A+

  11. #11
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Kerod voila ce que me retourne echo :

    0select email_mod from contact where id_email=0Vous n'avez pas selectionner de contact

    donc apparement il ne trouve pas l'email ?? mais le plus marrant c'est que je le vois donc il le selectionne bien .

    rougedragon je suis tout a fais d'accord avec toi et il m'arrive de reprendre quelque bout de code aussi car on ne peut réinventer la roue mdrrr mais la plus grande statisfaction c'est de reprendre un code et d'ameliorer son contenu

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu es sur qu'il y a un id à 0, ça m'étonne ca commence toujours à 1

    Il faudrait que l'on sache aussi à quoi correspond ton id_email (quel type de valeur)

  13. #13
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    je me demande si ce n'est pas a cause de la base de donnée ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE `contact` (
      `id_email` int(11) NOT NULL auto_increment,
      `nom` varchar(100) collate utf8_bin NOT NULL,
      `email_mod` varchar(50) collate utf8_bin NOT NULL,
      PRIMARY KEY  (`id_email`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=11 ;
    pensez vous que j'aurai du mettre index au lieu de clé primaire ???
    faut dire que dés que j'utilise mysql je fais plein de betise lol

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    C'est bien ce que je disais ton id ne peut etre null donc le 0 est du à une erreur lors de la récupération. DOnc il va falloir voir le code de création du select

    Ceci a aucun sens vu ta bdd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $destinataire .= '<option value="'.$res['id'].'">'.$res['nom'].'</option>';
    Pour vraiment avoir ce qu'il faut coté bdd tu dois faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $destinataire .= '<option value="'.$res['id_email'].'">'.$res['nom'].'</option>';
    Là ca va fonctionner

  15. #15
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Donc il faut retoucher ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $destinataire = '<select name="contact">';
    	$req = mysql_query('select nom from contact');
    	while($res = mysql_fetch_assoc($req))
        $destinataire .= '<option value="'.$res['id_email'].'">'.$res['nom'].'</option>';
    	$destinataire .= '</select>';
    	echo $destinataire;
    mais quel est l'erreur dans le select car comme l'affichage se fais c'est que je recupere quelque chose au moins graphiquement lol

    ps : j'avais pas vu votre message lol , je l'avais deja retoucher et il me retourne toujours 0

  16. #16
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu es sur que tu as ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $destinataire .= '<option value="'.$res['id_email'].'">'.$res['nom'].'</option>';
    Car dans le premier code c'était pas ça.

  17. #17
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    oui oui je confirme bien que j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $destinataire = '<select name="contact">';
    	$req = mysql_query('select nom from contact');
    	while($res = mysql_fetch_assoc($req))
        $destinataire .= '<option value="'.$res['id_email'].'">'.$res['nom'].'</option>';
    	$destinataire .= '</select>';
    	echo $destinataire;
    mais toujours 0 c'est curieux et pourtant j'ai 3 enregistrement qui sont incrementer de 1 à 3 pour le test ???

  18. #18
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Aaaah j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = mysql_query('select nom, id_email from contact');

  19. #19
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    je pense aussi que c'etais cela car j'ai laisser l'echo et il ma retourné ceci :

    3select email_mod from contact where id_email=3

    mais toujours pas de test d'adresse mail ??

    voyez par vous même sur cette page :
    http://www.f2c.fr/contact.php
    le script s'arrete ???

  20. #20
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben au moins cette fois-ci tu as les id_email c'est déjà bien. Et pas de message disant que tu as pas choisi d'adresse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     if (mysql_num_rows($res) > 0 ) {//email trouv
       $result = mysql_fetch_array($res);
    	$destinataire= $result['email_mod'];
    	}
    	else {
    	//Erreur pas d'email slectionne
    	//A completer, pour genere une erreur
    	print 'Vous n\'avez pas selectionner de contact'; 
    	}

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. probleme gmail et formulaire contact php
    Par eckso7 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 29/05/2014, 21h47
  2. probleme avec mon formulaire
    Par pitichamo dans le forum Langage
    Réponses: 2
    Dernier message: 21/10/2009, 14h08
  3. Probleme avec mon formulaire
    Par rane dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 18/05/2009, 19h22
  4. probleme avec mon site php
    Par zoe88 dans le forum Langage
    Réponses: 4
    Dernier message: 06/04/2007, 19h43
  5. php : probleme avec mon formulaire
    Par rane dans le forum Langage
    Réponses: 39
    Dernier message: 29/06/2006, 20h13

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