cyrilherve
Messages postés324Date d'inscriptiondimanche 12 août 2007StatutMembreDernière intervention26 août 2011
-
20 mars 2009 à 10:10
cyrilherve
Messages postés324Date d'inscriptiondimanche 12 août 2007StatutMembreDernière intervention26 août 2011
-
21 mars 2009 à 09:32
bonjour,
voici un bout de code qui me permet d'enregistrer un utilisateur dans ma table 'UTILISATEURS' à partire du fichier 'enregistreruser.php'
<?php
$grpeuser=$_POST['groupeuser'];
$nomuser=$_POST['nomuser'];
$prenomuser=$_POST['prenomuser'];
$identifiantuser=$_POST['identifiantuser'];
$motpasseuser=$_POST['motdepasseuser'];
$emailuser=$_POST['emailuser'];
mysql_connect("localhost", "root", "") or die ("erreur de connexion à la base de données");
mysql_select_db("projetcourier") or die ("erreur de connection ");
$req="select id_groupe from GROUPES where description_groupe= '$grpeuser' ";
$rep=mysql_query($req);
$ligne=mysql_fetch_array($rep);
$id_groupe=$ligne['id_groupe'];
mysql_connect("localhost", "root", "") or die ("erreur de connexion à la base de données");
mysql_select_db("projetcourier") or die ("erreur de connection ");
$req=mysql_query(" insert into UTILISATEURS values ('', '$nomuser', '$prenomuser', '$identifiantuser', '$motpasseuser', '$emailuser', '$id_groupe') ");
mysql_close();
echo" l'utilisateur à ete correctement ajouté ";
?>
voici le formulaire qui appelle ce fichier à partir du fichier :
<form method="post" action="enregistreruser.php">
<fieldset>
<legend> utilisateur </legend>
----
<label> groupe utilisateur </label>
<select name="groupeuser">
<?php
mysql_connect("localhost", "root", "") or die ("erreur de connexion à la base de données");
mysql_select_db("projetcourier");
$req= "select * from GROUPES";
$rep= mysql_query($req);
if ($rep)
{
while ($ligne1=mysql_fetch_row($rep) )
{
$lgn=$ligne1[1];
echo " <option value=$lgn> $lgn </option> ";
}
}
mysql_close();
?>
</select> ,
,
----
<label> nom </label>,
,
<label> prenom </label>,
,
----
<label> identifiant </label>,
,
<label> mot de passe </label>,
,
----
<label> e-mail </label>,
,
</fieldset>
</form>
mais seulement l'enregistrement d'un nouveau utilisateur ne marche que lorsque la valeurs du champ 'groupe utilisateur' du formulaire est une chaine de caracteres en un mot ( par exemple : administrateur, receptionniste) et ne fonctionne pas quand la valeur de ce champ est un chaine de caractere à plusieurs mots separes par des espaces (exemple: chef des operations, directeur de services)
Il faut se mettre à la place de l'interpréteur HTML. Il fait quoi ?
Bah, il lit...
< : ah, une balise va venir apparemment...
option : ah, je connais, c'est une...option, super.
espace : j'attends autre chose donc
value : un attribut
= : une assignation pour la valeur de l'attribut
et là...les ennuis commencent :
<option value=mon groupe>
Donc...
mon : tien, j'ai pas de délimiteur...donc mon est ma valeur
espace : ok, j'attends autre chose, un attribut ou le chevron fermant
groupe : un attribut donc
> : ah ben je dois fermer la balise ouvrante.
Alors que :
<option value="mon groupe">
Après le égal
" : ah, un délimiteur, donc tant que je ne rencontre pas le même, c'est la valeur de mon attribut
mon : valeur
espace : toujours la valeur
groupe : toujours la valeur
" : la valeur est terminée. Va valeur de mon attribut value est donc : mon groupe
Voilà voilà...un chtit tour sur un tuto sur le fonctionnement du HTML serait approprié.