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 :

code PHP => n'enregistre pas dans la table mySQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Par défaut code PHP => n'enregistre pas dans la table mySQL
    Bonjour,
    Après nombreux essais "vite fait bien fait" j'ai ne suis arrivé à rien.
    Où voulais-je arriver? Créer des formulaires PHP qui écrivent dans des tables mySQL.
    Je me suis alors résigné à suivre le pas à pas de tutoriels mais, à l'étape où mon formulaire pile tiptop (copié-collé ) de l'auteur, devrait écrire dans la table, c'est toujours NIET.
    Le dernier tutoriel essayé est celui-ci: https://sylvie-vauthier.developpez.c...ge=formulaires
    Mais à l'étape 6, la table étant bien créée sur mon serveur Wamp, le formulaire d'inscription qui reste à l'écran affiche la ligne suivante sous lui-même:

    '.mysql_error()); // on ferme la connexion mysql_close(); } ?>

    Mon Wamp c'est le 3.1.0
    Celui de l'auteur (ses captures d'écran) c'est le 2.0
    Je suis sous Win 7 pro

    Pourrais-je savoir SVP de quel côté je dois chercher pour corriger l'erreur et réussir à écrire dans la table prévue? (avec phpMyAdmin j'ai codé la table comme sur le tuto. La BD ayant bien le nom du tuto de même que les quelques fichiers .php du tuto.

    D'avance merci !

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Avant de te lancer à corps copier/coller perdu dans un tutoriel, je te conseille d'effectuer au préalable un test au carbone 14 sur le dit tutoriel afin de vérifier qu'il ne vient pas tout droit du paléozoïque. Tout ce qui commence par mysql_ est déprécié depuis au moins dix ans et provoque une erreur à partir des versions 7 de php.
    Néanmoins, vu que ta page affiche du code php, il y a sûrement une faute de frappe quelque part qui ferme prématurément la partie du code réservée au coté serveur. Donc regarde s'il n'y a pas un ?> qui traine là où il ne devrait pas être. Car voir du code php, même déprécié voire faux n'est pas normal.

    Je te conseille donc de te tourner vers des tutoriels plus récents qui parlent de PDO ou de mysqli_ qui sont les deux extensions en mesure de communiquer avec des bases de données à l'heure actuelle.

  3. #3
    Membre averti
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Par défaut
    Merci beaucoup !
    Je vais me documenter sur ces extensions que tu cites, elles me tombent toutes nouvelles...
    De ce fait, je vais alors juste tenter de découvrir une éventuelle faute de frappe dans le code de la page (ci-dessous), sans insister.
    Il est préférable, comme tu le suggères, d'investir mon apprentissage dans un environnement de codes actuels.

    Grâce à ce tutoriel ancien j'ai tout de même eu la satisfaction de faire quelques progrès, élémentaires sans doute mais j'ai avancé.

    A toute fin utile, voici le code du form.php qui génère l'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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>Formulaire de saisie utilisateur </title></head>
        <body>
            <h1>Inscrivez-vous !</h1>
            <h2>Entrez les données demandées :</h2>
            <form name="inscription" method="post" action="form.php">
                Entrez votre pseudo : <input type="text" name="pseudo"/> <br/>
                Garçon ou fille ? 	<input type="radio" name="sexe" value="G"/>Garçon<input type="radio" name="sexe" value="F"/>Fille<br/>
                Entrez votre age : <input type="text" name="age"/><br/>
                <input type="submit" name="valider" value="OK"/>
            </form>
            <?php
            if (isset ($_POST['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
                $pseudo=$_POST['pseudo'];
                $age=$_POST['age'];
                $sexe=$_POST['sexe'];
                //On construit la date d'aujourd'hui
                //strictement comme sql la construit
                $today = date("y-m-d");
                //On se connecte
                connectMaBase();
     
                //On prépare la commande sql d'insertion
                $sql = 'INSERT INTO Utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")'; 
     
                /*on lance la commande (mysql_query) et au cas où, 
                on rédige un petit message d'erreur si la requête ne passe pas (or die) 
                (Message qui intègrera les causes d'erreur sql)*/
                mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
                // on ferme la connexion
                mysql_close();
            }
            ?>
        </body>
    </html>
    et voici le code de fonctions.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function connectMaBase(){
        $base = mysql_connect ('localhost', 'root', '');  
        mysql_select_db ('MaBase', $base) ;
    }

    Cordialement à tous et bien merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Dans le tutoriel que tu cites, seule la partie "base de données" (MySQL) est obsolète.

    Il faut utiliser PDO.

    Dernière modification par Invité ; 21/07/2018 à 11h03.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je répète :

    Citation Envoyé par jreaux62 Voir le message

  6. #6
    Membre averti
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Par défaut
    D'accord, je traduits: dans la mesure où msql est dépassé, c'est pas la peine de venir à bout des erreurs générés déjà au niveau tuto sur lequel je travaille.
    Je remercie les personnes qui ont bien voulu m'aider à résoudre (malgré tout) et comme il n'y a pas de futur avec msql, il vaut mieux que j'en reste là.
    AVERTISSEMENT très sérieux: attendez-vous à me revoir bientôt ici en pleurant à cause de problèmes avec PDO...

    Merci à tous. Si je trouve comment clore le sujet, je le fais tout de suite.
    A+

  7. #7
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    @Ciccillo

    Regarde le code source de la page. Il y a sûrement d'autres éléments relatifs à l'erreur qui ne sont pas affichés par le navigateur.

    IE : clic droit puis afficher la page.

    Chrome : clic droit afficher le code source de la page.

  8. #8
    Membre averti
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Par défaut
    Merci aux indications/ suggestions du modérateur et de Badaze. Je m'en vais découvrir ce PDO et j’espère qu'il me fera bon accueil...
    Quant au message d'erreur, il s'affiche dans la dernière version de FireFox. Par curiosité j'ouvrirai le fichier avec IE pour voir s'il y aurait un plus comme envisagé par Badaze.
    Merci encore et A+

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 30
    Par défaut
    Salu
    La requette sql comporte un guilleme " de tros

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/02/2008, 11h46
  2. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17
  3. [SQL] Enregistrement pas dans la table
    Par alexandrebergercyr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/04/2007, 14h38
  4. Réponses: 10
    Dernier message: 14/02/2007, 12h03
  5. [Mail] Les codes PHP ne s'executent pas
    Par Rajhonson dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2006, 13h40

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