Insertion base de données formulaire php

voici mon code php pour faire une insertion à la base de données mais r1 l'insertion est faite le champ id incrémenté mais les restes champs sont nuls !!
stp die moi qsq je doit faire

<?php

// connexion à la base

$db = mysql_connect('127.0.0.1', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('gestion') or die('Erreur de selection '.mysql_error());
// 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['cod_grad'])) $cod_Grad=$_POST['cod_grad'];
else $cod_Grad="";

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

// on écrit la requête sql
$sql = ("INSERT INTO enseignant VALUES('','$nom','$prenom','$cod_Grad','$cod_Ens')");

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}

?>

<html>
<form method="POST" action="insert.php">
<center>
<input type="text" name="Nom" size="20" value="nom" ><br>
<input type="text" name="Prenom" size="20" value="prenom"><br>
<input type="text" name="Cod_Ens" size="20" value="code enseignant" ><br>
<input type="text" name="Cod_Grad" size="20" value="code grade" ><br>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>

</html>

6 réponses

  1. Bonjour,

    Je suis en phase avec le père.
    Je pense que pour commencer, on pourrait arrêter d'enregistrer une ligne vide à chaque fois que tu charges la page, en rajoutant un
    if
    à ton code :

    // on insère les informations du formulaire dans la table
    if ($nom != '')
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 


    Je me demande si dans ta base, tu n'as pas en fait bien enregistré les données, mais que tu ne les voies pas car elles seraient complètement noyées sous les lignes vides...

    Donc exécute aussi au passage un petit coup de nettoyage :
    DELETE FROM enseignant WHERE nom = ''

    (Je ne connais pas le nom de la colonne « nom », mets le bon dans la requête...

    Xavier
    0
    1. méme si j' ajoute un if la mème chose l'insertion est fait car le ID est incrémenter mais le contenu des champs de la base sont vides 0 !!
      je ne compris pas pourquoi !!
      0