Les Fées Tisseuses Index du Forum

Les Fées Tisseuses Index du ForumFAQRechercherS’enregistrerConnexion

Problème codage
Aller à la page: 1, 2  >
 
Poster un nouveau sujet   Répondre au sujet    Les Fées Tisseuses Index du Forum -> Mettre vos créations en valeur -> Créations de sites internet
Sujet précédent :: Sujet suivant  
Auteur Message
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Sam 7 Mai 2011 - 11:46    Sujet du message: Problème codage Répondre en citant

Salut les fées !

J'ai créé mon site internet, avec des formulaires etc, et tout fonctionnait bien jusqu'à ce que je fasse une modification de rien du tout et là, BAM ! ça marche plus Sad


Voilà la partie du code qui pose problème :

Code:
 $req->execute(array('nom' => $nom, 'prenom' => $prenom, 'mail' => $mail,
                        'vosenvies' => $vosenvies,
                        'fichier1' => $fichier1, 'fichier2' => $fichier2, 'fichier3' => $fichier3,
                        'taillepap' => $taillepap,
                        'vousaimez' => $vousaimez, 'vousnaimezpas' => $vousnaimezpas,
                        'commsupp' => $commsupp
                        )
                        )
                        ;

Impossible d'envoyer le formulaire à la base de données, il y a une erreur sur l'avant-dernière ligne que j'ai recopiée : " ) "
Je ne vois pas quel peut-être le problème... Si vous pouviez m'éclairer...
Si vous avez besoin de plus de code, je vous le mettrai Smile

Mon site : http://www.pinkoclock.com
Et la page qui pose problème : http://www.pinkoclock.com/conception.php
_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
Publicité






MessagePosté le: Sam 7 Mai 2011 - 11:46    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Eva
Fondatrice Féerique

Hors ligne

Inscrit le: 09 Déc 2007
Messages: 2 947
Localisation: Toulouse
Ma machine: Brother
Couture: Maitrise
Style: Victorien
Activités: Couture
Réalise surtout: Corsets
Préfère faire: Corsets
Féminin

MessagePosté le: Dim 8 Mai 2011 - 01:06    Sujet du message: Problème codage Répondre en citant

Il est trop tard pour que je cogite correctement sur ton code, mais en visitant ton site je remarque qu'il manque une page contact (et pas juste une page "créons votre modèle) il te manque aussi une page "Conditions générales de ventes" et "mentions légales" avec ton nom, adresse complète, adresse de l'hébergeur, ton numéro siret si tu en as un, la mention "TVA non applicable art293B du CGI" si tu es en franchise de TVA etc...

Ce sont des pages indispensables quand on veut vendre sur internet (et surtout ca rassure les acheteurs^^)
_________________
Revenir en haut
Visiter le site web du posteur Facebook
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Lun 9 Mai 2011 - 06:43    Sujet du message: Problème codage Répondre en citant

Coucou Eva,

Merci d'avoir jeté un œil. Effectivement il faut que je prenne le temps de rédiger tout ça Smile
_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
mp_
Bouton de Fée

Hors ligne

Inscrit le: 10 Mai 2011
Messages: 7
Couture: Découvre
Masculin

MessagePosté le: Jeu 12 Mai 2011 - 10:34    Sujet du message: Problème codage Répondre en citant

Salut,


Le code que tu as posté est (syntaxiquement) correct. Sans le code autour (à quoi correspond l'objet "$req", par exemple ?), ni l'erreur jetée par PHP, pas moyen de te dépanner, désolé :-(
Revenir en haut
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Jeu 12 Mai 2011 - 18:45    Sujet du message: Problème codage Répondre en citant

Salut

L'erreur renvoyée est :


Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 1' in /web/pinkoclock/www/cible2.php:72 Stack trace: #0 /web/pinkoclock/www/cible2.php(72): PDOStatement->execute(Array) #1 {main} thrown in /web/pinkoclock/www/cible2.php on line 72


La ligne 72 étant cette fameuse parenthèse " ) "


La requête SQL complète c'est ça :
Code:
 $req = $bdd->prepare('INSERT INTO demandesdevis(nom, prenom, mail, vosenvies, fichier1, fichier2, fichier3, taillepap, vousaimez, vousnaimezpas, commsupp)
    VALUES(:nom, :prenom, :mail, :vosenvies, :fichier1, :fichier2, :fichier3, :taillepap, :vousaimez, :vousnaimezpas, :commsupp)');
    $req->execute(array('nom' => $nom, 'prenom' => $prenom, 'mail' => $mail,
                        'vosenvies' => $vosenvies,
                        'fichier1' => $fichier1, 'fichier2' => $fichier2, 'fichier3' => $fichier3,
                        'taillepap' => $taillepap,
                        'vousaimez' => $vousaimez, 'vousnaimezpas' => $vousnaimezpas,
                        'commsupp' => $commsupp
                        )
                        )
                        ;
Ce que je ne comprends pas c'est que j'ai fait une modif dans le fichier formulaire mais pas dans la cible, et ça a tout planté quand même XD



_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
Azaelia
Fileuse du Destin

Hors ligne

Inscrit le: 07 Jan 2010
Messages: 862
Localisation: France
Ma machine: Brother NV50
Couture: Se dépatouille
Style: Goth
Activités: couture, tricot
Féminin

MessagePosté le: Jeu 12 Mai 2011 - 19:02    Sujet du message: Problème codage Répondre en citant

sans avoir tout le code pour tout vérifier, c'est un peu dur de te dire, mais aide-toi de ce site : http://www.manuelphp.com/php/function.pdostatement-execute.php

mais si t'as fait une modif dans le fichier formulaire, vérifie peut-être que t'as pas modifié l'orthographe d'une des valeurs, ce qui pourrait tout faire foirer...
_________________
Revenir en haut
Visiter le site web du posteur Facebook Pinterest
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Jeu 12 Mai 2011 - 19:28    Sujet du message: Problème codage Répondre en citant

Je suis en train de chercher des infos sur le site que tu proposes.

J'ai vérifié l'orthographe, tout me semble bon :s

Voilà sinon le code complet :
 
Code:
<!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">

 <head><title>Pink O'Clock | Demande validée</title>
    <link href="style.css" type="text/css" rel="stylesheet" >
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 </head>
 <body>
    <?php include("entete.php"); ?>
   
    <?php include("menu.php"); ?>
   
   
    <?php
    // On commence par récupérer les champs
    if(isset($_POST['nom']))            $nom=$_POST['nom'];
    else    $nom="";
   
    if(isset($_POST['prenom']))        $prenom=$_POST['prenom'];
    else    $prenom="";
   
    if(isset($_POST['mail']))        $mail=$_POST['mail'];
    else    $mail="";
   
    if(isset($_POST['vosenvies']))        $vosenvies=$_POST['vosenvies'];
    else    $vosenvies="";
   
    if(isset($_POST['fichier1']))        $fichier1=$_POST['fichier1'];
    else    $fichier1="";
   
    if(isset($_POST['fichier2']))        $fichier2=$_POST['fichier2'];
    else    $fichier2="";
   
    if(isset($_POST['fichier3']))        $fichier3=$_POST['fichier3'];
    else    $fichier3="";

    if(isset($_POST['taillepap']))        $taillepap=$_POST['taillepap'];
    else    $taillepap="";

    if(isset($_POST['vousaimez']))        $vousaimez=$_POST['vousaimez'];
    else    $vousaimez="";

    if(isset($_POST['vousnaimezpas']))        $vousnaimezpas=$_POST['vousnaimezpas'];
    else    $vousnaimezpas="";

    if(isset($_POST['commsupp']))        $commsupp=$_POST['commsupp'];
    else    $commsupp="";
   
    //On vérifie si les champs sont vides
    if(empty($nom) OR empty($prenom) OR empty($mail) OR empty($vosenvies) OR empty($taillepap))
    { echo 'Certains champs requis n\'ont pas été renseignés, merci de les compléter.<br/><br/>'; }
   
    //Aucun champ n'est vide, on peut enregistrer dans la table
    else
    {
    //connexion à la base de données "" sur le serveur "", id "", mdp ""
    try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=;dbname=', '', '', $pdo_options);
    }
    catch (Exception $e) { die('Erreur : '.$e->getMessage()); }
   
    //On écrit la requête sql
    $req = $bdd->prepare('INSERT INTO demandesdevis(nom, prenom, mail, vosenvies, fichier1, fichier2, fichier3, taillepap, vousaimez, vousnaimezpas, commsupp)
    VALUES(:nom, :prenom, :mail, :vosenvies, :fichier1, :fichier2, :fichier3, :taillepap, :vousaimez, :vousnaimezpas, :commsupp)');
    $req->execute(array('nom' => $nom, 'prenom' => $prenom, 'mail' => $mail,
                        'vosenvies' => $vosenvies,
                        'fichier1' => $fichier1, 'fichier2' => $fichier2, 'fichier3' => $fichier3,
                        'taillepap' => $taillepap,
                        'vousaimez' => $vousaimez, 'vousnaimezpas' => $vousnaimezpas,
                        'commsupp' => $commsupp
                        )
                        )
                        ;
   
    //On affiche le résultat pour le visiteur
    echo '<h4>Merci</h4>
    Votre demande a bien été enregistrée. Un devis vous sera envoyé dans les plus brefs délais.<br/><br/>';
    }
    ?>
   
    <a href="conception.php">Retour à la page concevez votre modèle.</a>

   
    <br/><br/><br/>
   

    <br/><br/>
   
    <?php include("pieddepage.php"); ?>
 </body>
</html>


_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
Azaelia
Fileuse du Destin

Hors ligne

Inscrit le: 07 Jan 2010
Messages: 862
Localisation: France
Ma machine: Brother NV50
Couture: Se dépatouille
Style: Goth
Activités: couture, tricot
Féminin

MessagePosté le: Jeu 12 Mai 2011 - 19:51    Sujet du message: Problème codage Répondre en citant

Oui, mais ça c'est pas le code que tu as modifié, si ? (si je comprend bien tu as modifié formulaire, donc ca dois merdouiller dans formulaire, il doit y avoir dans formulaire une indication fausse qui lui fait croire qu'il y a une valeur fausse dans cible, mais si tu n'as pas touché au fichier cible, c'est pas le moment de le tripoter... on commence par tripoter le premier malade, et on voit ce que ça donne)
le code que tu as modifié, tu as pu le remettre comme avant ? ça te fais toujours l'erreur ou pas ?
_________________
Revenir en haut
Visiter le site web du posteur Facebook Pinterest
mp_
Bouton de Fée

Hors ligne

Inscrit le: 10 Mai 2011
Messages: 7
Couture: Découvre
Masculin

MessagePosté le: Ven 13 Mai 2011 - 07:57    Sujet du message: Problème codage Répondre en citant

Salut !


Mh, plutôt étrange ... Pourquoi utilises-tu PDO pour te connecter à MySQL plutôt que les fonctions MySQL standard de PHP (mysql_connect, mysql_query et cie) qui fonctionnent très bien et qui simplifient le code ?


Mais là n'est pas le problème. Ton code PHP est bon Wink D'après le message d'erreur ("Duplicate entry '0' for key 1"), c'est du côté des enregistrements dans ta base de données que ça ne va pas. Je suppose que sur ta table, tu dois avoir un champ qui est défini comme étant "unique", mais tu essaies malgré tout d'insérer une ligne en mettant sur ce champ une valeur déjà enregistrée dans une autre ligne (la valeur semble être '0')


J'espère t'être utile en te disant ceci Wink
Revenir en haut
mp_
Bouton de Fée

Hors ligne

Inscrit le: 10 Mai 2011
Messages: 7
Couture: Découvre
Masculin

MessagePosté le: Ven 13 Mai 2011 - 08:05    Sujet du message: Problème codage Répondre en citant

Et je me permet de te mettre ton code en utilisant les fonctions MySQL standard de PHP :
Code:

<!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">

 <head><title>Pink O'Clock | Demande validée</title>
    <link href="style.css" type="text/css" rel="stylesheet" >
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 </head>
 <body>
    <?php include("entete.php"); ?>
   
    <?php include("menu.php"); ?>
   
   
    <?php
    // On commence par récupérer les champs
    if(isset($_POST['nom']))            $nom=$_POST['nom'];
    else    $nom="";
   
    if(isset($_POST['prenom']))        $prenom=$_POST['prenom'];
    else    $prenom="";
   
    if(isset($_POST['mail']))        $mail=$_POST['mail'];
    else    $mail="";
   
    if(isset($_POST['vosenvies']))        $vosenvies=$_POST['vosenvies'];
    else    $vosenvies="";
   
    if(isset($_POST['fichier1']))        $fichier1=$_POST['fichier1'];
    else    $fichier1="";
   
    if(isset($_POST['fichier2']))        $fichier2=$_POST['fichier2'];
    else    $fichier2="";
   
    if(isset($_POST['fichier3']))        $fichier3=$_POST['fichier3'];
    else    $fichier3="";

    if(isset($_POST['taillepap']))        $taillepap=$_POST['taillepap'];
    else    $taillepap="";

    if(isset($_POST['vousaimez']))        $vousaimez=$_POST['vousaimez'];
    else    $vousaimez="";

    if(isset($_POST['vousnaimezpas']))        $vousnaimezpas=$_POST['vousnaimezpas'];
    else    $vousnaimezpas="";

    if(isset($_POST['commsupp']))        $commsupp=$_POST['commsupp'];
    else    $commsupp="";
   
    //On vérifie si les champs sont vides
    if(empty($nom) OR empty($prenom) OR empty($mail) OR empty($vosenvies) OR empty($taillepap))
    { echo 'Certains champs requis n\'ont pas été renseignés, merci de les compléter.<br/><br/>'; }
   
    //Aucun champ n'est vide, on peut enregistrer dans la table
    else
    {
    //connexion à la base de données "" sur le serveur "", id "", mdp ""
    $sqlCon = mysql_connect('host', 'username', 'password');
   
    //On écrit la requête sql
    $res = mysql_query("INSERT INTO demandesdevis(nom, prenom, mail, vosenvies, fichier1, fichier2, fichier3, taillepap, vousaimez, vousnaimezpas, commsupp) VALUES('$nom','$prenom','$mail','$vosenvies','$fichier1','$fichier2','$fichier3','$taillepap','$vousaimez','$vousnaimezpas','$commsup')");

    if (!$res) echo "<h4>Erreur d'insertion<h4>" . mysql_error();
    else {
        //On affiche le résultat pour le visiteur
        echo '<h4>Merci</h4>
        Votre demande a bien été enregistrée. Un devis vous sera envoyé dans les plus brefs délais.<br/><br/>';
    }
    }
    ?>
   
    <a href="conception.php">Retour à la page concevez votre modèle.</a>

   
    <br/><br/><br/>
   

    <br/><br/>
   
    <?php include("pieddepage.php"); ?>
 </body>
</html>


Le résultat de la requête est écrit dans la variable $res. Si la requête a échoué, $res sera égal à "false", et dans ce cas, le test suivant la requête écrira l'erreur SQL retournée (qui sera peut-être plus explicite que cette envoyée par PDO) Wink
Revenir en haut
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Sam 14 Mai 2011 - 09:18    Sujet du message: Problème codage Répondre en citant

Aaaaah ça marche !!  woohoo
Je pouvais toujours chercher une erreur dans le code XD
Merci !!

Du coup j'ai plus que mes ID et timestamp qui sont uniques.


J'utilise PDO car les tutos que j'ai lus proposaient cette solution, mais si les fonctions MYSQL sont mieux je peux toujours changer ^-^


[EDIT] j'ai changé le code avec les fonctions mysql que tu as notées mais je me demande de quelle façon on indique le nom de la base de données (celle où on enregistre), pour l'instant il y a un message "No database selected"
Code:

  //connexion à la base de données "" sur le serveur "", id "", mdp ""
    $sqlCon = mysql_connect('host', 'username', 'password');

_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
mp_
Bouton de Fée

Hors ligne

Inscrit le: 10 Mai 2011
Messages: 7
Couture: Découvre
Masculin

MessagePosté le: Sam 14 Mai 2011 - 10:20    Sujet du message: Problème codage Répondre en citant

Effectivement, j'avais oublié ce point  Wink


Juste après le mysql_connect, rajoute :


 
Code:
$selectDb = mysql_query("USE nom_de_ta_base;"); 



Ca devrait rouler !
Revenir en haut
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Sam 14 Mai 2011 - 14:31    Sujet du message: Problème codage Répondre en citant

Grrr j'envoie de mauvaises ondes ou quoi ?

J'ai copié-collé ton code, en changeant bien entendu le nom de la bdd et ça ne change rien :s

Voilà ce que j'ai en ce moment :
Code:

     //connexion à la base de données "demandesdevis" sur le serveur "sql8", id "", mdp ""
      $sqlCon = mysql_connect ('sql8', '', '');
      $selectDb = mysql_query("USE demandesdevis;");


_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
mp_
Bouton de Fée

Hors ligne

Inscrit le: 10 Mai 2011
Messages: 7
Couture: Découvre
Masculin

MessagePosté le: Lun 16 Mai 2011 - 08:27    Sujet du message: Problème codage Répondre en citant

Ah ? Plutôt étrange ...

casse

tu peux tenter de remplacer
 
Code:
$selectDb = mysql_query("USE demandesdevis;");


par

Code:
$selectDb = mysql_select_db("demandesdevis");


tu peux éventuellement tester ensuite $selectDb qui donnera "true" si il a réussi, "false" sinon.
Revenir en haut
ali[cia]
Fée Marraine

Hors ligne

Inscrit le: 02 Mar 2008
Messages: 1 530
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

MessagePosté le: Lun 16 Mai 2011 - 21:01    Sujet du message: Problème codage Répondre en citant

Pffff je suis un boulet quand je m'y mets XD
Je m'obstinais à vouloir me connecter à la base de données "demandesdevis" alors que ce n'est qu'une table de ma bdd "pinkoclock", grumph !

En tout cas merci mille fois de ton aide, maintenant TOUT fonctionne et mon code est bien plus clair Very Happy
_________________
Vous pouvez écrire Alicia, si mes crochets vous embêtent ^-^
Mon site : www.pinkoclock.com
Projets en cours : Tenue 1910 // Costume Ier Empire

Si j'écris en prune et italique, c'est que je poste en tant que modératrice Smile
Revenir en haut
Visiter le site web du posteur Pinterest
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 23:39    Sujet du message: Problème codage

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Les Fées Tisseuses Index du Forum -> Mettre vos créations en valeur -> Créations de sites internet Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2  >
Page 1 sur 2

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Layout "The Fairies of Lady Bird" créé par Hiena et Eva des images tirées du site de Charlotte Bird
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com