Les Fées Tisseuses Forum Index

Les Fées Tisseuses Forum IndexFAQSearchRegisterLog in

Problème codage
Goto page: 1, 2  >
 
Post new topic   Reply to topic    Les Fées Tisseuses Forum Index -> Mettre vos créations en valeur -> Créations de sites internet
Previous topic :: Next topic  
Author Message
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Sat 7 May 2011 - 11:46    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
Publicité






PostPosted: Sat 7 May 2011 - 11:46    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Eva
Fondatrice Féerique

Offline

Joined: 09 Dec 2007
Posts: 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

PostPosted: Sun 8 May 2011 - 01:06    Post subject: Problème codage Reply with quote

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^^)
_________________
Back to top
Visit poster’s website Facebook
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Mon 9 May 2011 - 06:43    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
mp_
Bouton de Fée

Offline

Joined: 10 May 2011
Posts: 7
Couture: Découvre
Masculin

PostPosted: Thu 12 May 2011 - 10:34    Post subject: Problème codage Reply with quote

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é :-(
Back to top
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Thu 12 May 2011 - 18:45    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
Azaelia
Fileuse du Destin

Offline

Joined: 07 Jan 2010
Posts: 874
Localisation: France
Ma machine: Brother NV50
Couture: Se dépatouille
Style: Goth
Activités: couture, tricot
Féminin

PostPosted: Thu 12 May 2011 - 19:02    Post subject: Problème codage Reply with quote

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...
_________________
Back to top
Visit poster’s website Facebook Pinterest
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Thu 12 May 2011 - 19:28    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
Azaelia
Fileuse du Destin

Offline

Joined: 07 Jan 2010
Posts: 874
Localisation: France
Ma machine: Brother NV50
Couture: Se dépatouille
Style: Goth
Activités: couture, tricot
Féminin

PostPosted: Thu 12 May 2011 - 19:51    Post subject: Problème codage Reply with quote

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 ?
_________________
Back to top
Visit poster’s website Facebook Pinterest
mp_
Bouton de Fée

Offline

Joined: 10 May 2011
Posts: 7
Couture: Découvre
Masculin

PostPosted: Fri 13 May 2011 - 07:57    Post subject: Problème codage Reply with quote

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
Back to top
mp_
Bouton de Fée

Offline

Joined: 10 May 2011
Posts: 7
Couture: Découvre
Masculin

PostPosted: Fri 13 May 2011 - 08:05    Post subject: Problème codage Reply with quote

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
Back to top
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Sat 14 May 2011 - 09:18    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
mp_
Bouton de Fée

Offline

Joined: 10 May 2011
Posts: 7
Couture: Découvre
Masculin

PostPosted: Sat 14 May 2011 - 10:20    Post subject: Problème codage Reply with quote

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 !
Back to top
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Sat 14 May 2011 - 14:31    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
mp_
Bouton de Fée

Offline

Joined: 10 May 2011
Posts: 7
Couture: Découvre
Masculin

PostPosted: Mon 16 May 2011 - 08:27    Post subject: Problème codage Reply with quote

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.
Back to top
ali[cia]
Fée Marraine

Offline

Joined: 02 Mar 2008
Posts: 1,534
Localisation: Yvelines - 78
Ma machine: Husqvarna Emerald 116
Couture: Connait
Activités: couture / tricrochet
Féminin

PostPosted: Mon 16 May 2011 - 21:01    Post subject: Problème codage Reply with quote

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
Back to top
Visit poster’s website Pinterest
Contenu Sponsorisé






PostPosted: Today at 22:47    Post subject: Problème codage

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Les Fées Tisseuses Forum Index -> Mettre vos créations en valeur -> Créations de sites internet All times are GMT + 1 Hour
Goto page: 1, 2  >
Page 1 of 2

 
Jump to:  

Index | Create forum | Free support forum | Free forums directory | Report a 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