Menu

Salut j'ai un problème avec insert into

mourad - 8 oct. 2018 à 11:01 - Dernière réponse : jordane45 22735 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 9 octobre 2018 Dernière intervention
- 9 oct. 2018 à 15:44
Bonjour,


$pseudo=$_POST['pseudo'];
$motdepasse =$_POST['mot_de_passe'];
$poste=$_POST['poste'];

session_start();
if(isset($_POST['ajouter'])) { // si le bouton "ajouter" est appuyé
    // on vérifie que le champ "Pseudo" n'est pas vide
    // empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
    if(empty($_POST['pseudo'])) {
        echo "Le champ Pseudo est vide.";
  
    } else {
        // on vérifie maintenant si le champ "Mot de passe" n'est pas vide"
        if(empty($_POST['mot_de_passe'])) {
            echo "Le champ Mot de passe est vide.";
        } else { 
  
  if(empty($_POST['poste'])) {
            echo "Le champ poste est vide.";
        } else {
       
            //on se connecte à la base de données:
            $mysqli = mysqli_connect("localhost", "root", "", "gestionstock");
        
            //on vérifie que la connexion s'effectue correctement:
            if(!$mysqli){
                echo "Erreur de connexion à la base de données.";
    
            } else {
     
    mysqli_query($mysqli,"SELECT * FROM utilisateurs");
                 $Requet = " INSERT INTO `utilisateurs` (``, `pseudo`, `mot_de_passe`, `poste`) VALUES('','$pseudo','$motdepasse','$poste')"; 
                 
       // on insère les informations du formulaire dans la table 
                            
       $result=mysqli_query($mysqli, $Requet); 
    
       // on insère les informations du formulaire dans la table 
                            
   
                 if($result)
   {
     echo 'enregistrer';
    
   } else 
    {
     echo 'non enregistrer';
    }
               // on affiche le résultat  
     
      header('location: listeutilisateur.php');
               
      
                 }
            }
        }
    }
}


EDIT : Ajout des balises de code
Afficher la suite 

Votre réponse

3 réponses

jordane45 22735 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 9 octobre 2018 Dernière intervention - 8 oct. 2018 à 11:53
0
Merci
Bonjour,

1 - Lorsque tu postes du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

2 - Il faut "gérer" les éventuelles erreurs dans ton code..
En mysqli, tu peux utiliser, par exemple,
$result = mysqli_query($mysqli, $Requet);  
if (!$result) {
    printf("Erreur lors de l'insertion : %s\n", mysqli_error($mysqli));
   exit();
}

Et pour finir, ta requête ne doit pas être bonne... le champ ' ' ne correspond à rien.
Tu dois écrire :
  $Requet = " INSERT INTO `utilisateurs` (`pseudo`, `mot_de_passe`, `poste`) VALUES('$pseudo','$motdepasse','$poste')"; 


Au passage
 header('location: listeutilisateur.php');
exit(); // toujours mettre un exit après une redirection




Commenter la réponse de jordane45
jean jim 411 Messages postés vendredi 14 mars 2008Date d'inscription 9 octobre 2018 Dernière intervention - Modifié par jean jim le 9/10/2018 à 15:05
-1
Merci
 
$mysqli = mysqli_connect("localhost", "root", "", "gestionstock");
$Requet = $mysqli->prepare('
INSERT INTO utilisateurs
 (idUtilisateur, pseudo, mot_de_passe, poste) 
VALUES(NUll ,:pseudo,:motDePasse,:poste');
 $Requet->execute(array(
            'pseudo'=>$pseudo,
            'motDePasse'=>$motdepasse,
            'poste'=>$poste
    ));


le champs vide dois a mon avis correspondre a un id pour la table qui doit être et en clef primaire et en autoIncremente mais comme elle n'est pas appelé dans la requête inutile de renseigner ce champ


si c'est le cas le code ci dessus et le bon avec des variable :PDO qui vont avec (si tu dois mettre NULL les ' ' ne servent a rien)
jordane45 22735 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 9 octobre 2018 Dernière intervention - 9 oct. 2018 à 15:44
Bonjour,
Donc toi tu mélanges du mysqli objet et du mysqli procédurale ?
Et tu mélanges le PDO et le mysqli ?

Joli.... (ou pas...) mais surtout ... non fonctionnel....
Commenter la réponse de jean jim