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 :

Insertion des valeurs transmises restent NULL dans la BdD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

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

    Informations forums :
    Inscription : Février 2023
    Messages : 7
    Par défaut Insertion des valeurs transmises restent NULL dans la BdD
    Bonjour,
    J'ai un souci avec php et mySQL quand j'essaye de faire un "insert into", tout va bien mais les valeurs transmis dans le formulaire reste null dans la base de données.

    voici le code:

    Code html : 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
    <form methode="post" action="InsertFilieres.php" class="form">
                            <div class="form-group">
                                <label>Nom de la filière: </label>
                                <input type="text" name="nomF" placeholder="Nom de la filière" class="form-control" >
                            </div>
     
                            <div class="form-group">
                                <label for="niveau">Niveau: </label>
                                <select name="niveau" class="form-control" id="niveau">
                                    <option value="ts" >Technicien spécialisé</option>
                                    <option value="t" selected >Technicien</option>
                                </select>
                            </div>
     
                            <button type="submit" class="btn btn-success">
                                <span class="glyphicon glyphicon-save"></span>
                                Enregistrer
                            </button>
                        </form>

    La page d'insertion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
        require_once('Connexiondb.php');
     
        $nomf=isset($_POST['nomF']);
        $niveau=isset($_POST['niveau']);
     
        $requete="insert into Filiere(nomFiliere, niveau) values(?,?)";
        $params=array($nomf,$niveau);
        $resultat=$pdo->prepare($requete);
        $resultat->execute($params);
     
        header('location:Filieres.php');
    ?>

    La connexion à la bd:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
        try{
            $pdo=new PDO("mysql:host=localhost;dbname=gestionstagiaire","root","");
        }catch(Exception $e){
            die('Erreur de connexion: ' .$e->getMessage());
        }
    ?>

    Quand je fais un "select * from filière", l'identifiant est là mais les autres champs reste vide.


    Merci de votre aide

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Bonjour,

    Supprimez les isset():
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nomf=isset($_POST['nomF']);
    $niveau=isset($_POST['niveau']);

    Utilisez la balise [code]/*le code ici..*/[/code] pour une bonne lisibilité.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

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

    Informations forums :
    Inscription : Février 2023
    Messages : 7
    Par défaut
    Sans les isset() ca me renvoie des erreurs

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Bonjour,

    ça vous retourne des erreurs parce que probablement que les variables n'existent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if( !empty($_POST['nomF']) && !empty($_POST['niveau']) ){//vérifier d'abord que les deux variables existent
        $nomf=$_POST['nomF'];//récupération de $_POST["nomF"]
        $niveau=$_POST['niveau'];//récupération de $_POST["niveau"]
        /* Procéder à l'insertion ici ....*/
    }

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Une remarque en passant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form methode="post" action="InsertFilieres.php" class="form">
    Il faut écrire: method. Je n'ai pas testé, mais probablement que vous n'avez pas de requête POST, peut-être du GET par défaut - et encore.

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Bien vu binarygirl.

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

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

    Informations forums :
    Inscription : Février 2023
    Messages : 7
    Par défaut
    Salut à tous, le problème est l'erreur d'orthographe, method. Ca marche bien, Merci à vous et désolé de vous avoir embêter pour si peu.
    Je le met en résolu


    Au fait Toufik83, avec ou sans isset ca marche.
    Merci

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par MohamedIvan Voir le message
    Au fait Toufik83, avec ou sans isset ca marche.
    Ceci n'a aucun sens et ne fera qu'insérer des booléens / des 0 ou des 1 (retour de isset() et pas la valeur du formulaire) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        require_once('Connexiondb.php');
     
        $nomf=isset($_POST['nomF']);
        $niveau=isset($_POST['niveau']);
     
        $requete="insert into Filiere(nomFiliere, niveau) values(?,?)";
        $params=array($nomf,$niveau);

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

Discussions similaires

  1. Problème lors de l'insertion des valeurs d'un formulaire dans une base
    Par nour93 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 05/03/2015, 02h29
  2. Réponses: 3
    Dernier message: 22/01/2013, 16h23
  3. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17
  4. [SQL] Problème de récupération des valeurs d'une liste multiple en php
    Par BOLARD dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/05/2006, 00h29
  5. [JDBC]Probleme d'insertion des valeurs !!
    Par tarik75 dans le forum JDBC
    Réponses: 6
    Dernier message: 27/07/2005, 12h41

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