Ajouter une ligne dans une table

Ajouter une ligne dans une table - PHP - Programmation

Marsh Posté le 28-02-2005 à 10:37:33    

Bonjour, j'ai un problème pour ajouter une ligne dans ma base de données.
 
J'ai créer une page html avec un formulaire qui demande le nom, prénom, service et le type d'utilisateur.
J'ai créer une page php qui envoie les données vers ma base de données mais cela ne marche pas.
Je ne m'y connais pas très bien en php mais je pense que c'est un problème de variable...Quelqu'un peut m'aider???
Voici le script de ma page html :  
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>main</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css">
</head>
<body bgcolor="#6495ED">
 
<h1>Accueil</h1>
 
<br><br>
<!-- la balise la plus importante ici est la balise form, ne pas oublier de la fermer en bas de votre page ,sans elle aucune action ne se déclenche sur le bouton d'envoi-->
<form action="creuser.php" method="post">
<!-- dans action on place la page qui va récupérer les données et envoyer le mail -->
 
<table width="500" align="center" cellpadding="0" cellspacing="1" border="0">
 <tr>
  <th colspan="2"><p>Entrez les informations con&ccedil;ernant l'utilisateur </p>
       <p>&nbsp; </p></th>
  <!-- on utilise ici th au lieu de td : gras et centrage automatique -->
 
 </tr>
 <tr>
  <td align="right" width="150">Nom :</td>
  <td><input type="text" name="$nom" size="20"></td><!-- très important  ce que l'on met dans name va être notre variable php qui récupère la donnée -->
 </tr>
 <tr>
  <td align="right" width="150">Prénom :</td>
  <td><input type="text" name="$prenom" size="20"></td><!-- même commentaire ici pour l'adresse -->
 
 </tr>
 <tr>
  <td align="right" width="150" valign="top">Service :</td>
  <td><input type="text" name="$service" size="20"></td><!-- même commentaire ici pour le commentaire -->
 </tr>
 <tr>
  <td align="right" width="150" valign="top">Type d'utilisateur :</td>
  <td><input type="text" name="$type" size="20"></td><!-- même commentaire ici pour le commentaire -->
 </tr>
 <tr>
  <th colspan="2"><p>&nbsp;
    </p>
    <p>
      <input type="submit" name="action" value="Valider">
       </p></th><!-- bouton d'envoi du formulaire -->
 </tr>
 
</table>
 
 
<p>&nbsp;</p>
</form><!--fermeture du formulaire -->
 
 
 
 
 
</body>
</html>
 
et celui de ma page php :  
 
<?
mysql_connect('localhost','root');
 
mysql_select_db('gestion des portables');
 
mysql_query("insert into user values ('',$nom,$prenom,$service,$type)" );
 
mysql_close();
?>
 
<html>
<head>
<title>validation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css">
</head>
<body bgcolor="#6495ED">
 
<font>La saisie à réussie!!</font>
 
 
 
 
</body>
</html>

Reply

Marsh Posté le 28-02-2005 à 10:37:33   

Reply

Marsh Posté le 28-02-2005 à 10:43:27    

Corrige d'abord ton code HTML.
 
Et quand je vois des trucs genre :

<!-- on utilise ici th au lieu de td : gras et centrage automatique -->


 
TH N'EST PAS LA POUR CENTRER ET METTRE EN GRAS [:florentg]
 
<th> est pour mettre les entêtes de colonnes dans un tableau :o
 
Ensuite, ça :

"insert into user values ('',$nom,$prenom,$service,$type)"


Faut accéder aux variables avec $_POST : $_POST['nom'], $_POST['prenom'], etc... Faut aussi tester qu'ils sont présent, mettre des slash, etc...

Reply

Marsh Posté le 28-02-2005 à 10:49:55    

cad qu'à l'intérieur de values je doit mettre $_post[nom]...etc???

Reply

Marsh Posté le 28-02-2005 à 10:51:44    

FlorentG a écrit :


<th> est pour mettre les entêtes de colonnes dans un tableau :o


[:delarue]  
J'imagine qu'avoir des td pour faire ça c'est mal?[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 28-02-2005 à 10:51:46    

Pas à l'intérieur, mais quelque chose comme ça
 

'INSERT INTO user VALUES(, \'' . addslashes($_POST['nom']) . '\', ....


Message édité par FlorentG le 28-02-2005 à 10:51:53
Reply

Marsh Posté le 28-02-2005 à 10:53:08    

skeye a écrit :

[:delarue]  
J'imagine qu'avoir des td pour faire ça c'est mal[:joce]


Exactement. Les entêtes doivent être mis dans des <th>... Et dans son cas, il aurait dû mettre des <label> pour les associer aux contrôles correspondant...

Reply

Marsh Posté le 28-02-2005 à 10:54:20    

FlorentG a écrit :

Exactement. Les entêtes doivent être mis dans des <th>...


Bon, il faudrait que je pense à modifier ça, donc...[:ddr555]


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed