Rechercher : dans
Par :

Problème requête INSERT INTO [PHP/MySQL]

Dernière réponse le 24 oct 2008 à 15:43:09 Durst1805, le 21 jui 2008 à 21:10:20 
 Signaler ce message aux modérateurs

Bonjour, j'ai un petit souci avec ma requête INSERT INTO de mon formulaire, je ne comprend pas, lors de la validation des données de mon formulaire, les données sont sensées s'inscrire dans la table utilisateur de ma base mabase. Hors a chaque fois sur les deux champs de la table (login, password) il n'y a que le champ login qui se complète, et password reste vide.
Voici mon code :

LE FORMULAIRE :

<h1>Créer un nouvel utilisateur</h1>
<h3>Informations de connexion</h3>
<form name="creation" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table>
<tr><td>
	Login : 
    </td>
    <td>
    <input type="text" name="nom" />
</td></tr>
<tr><td>
    Mot de passe :
    </td>
    <td>
    <input type="text" name="motdepasse" />
</td></tr>
    </table>
<br />
    <input type="submit" name="valider" value="Valider" />
</form>


LE SCRIPT PHP :
<?php

$nom = $_POST[nom];
$motdepasse = $_POST[motdepasse];

include 'connexion.php';
$nomdelabase = 'mysql';

mysql_select_db($nomdelabase, $connexion);

$utilisateur = "CREATE USER '".$nom."'@'localhost' IDENTIFIED BY '".$motdepasse."'";
$acces = "GRANT USAGE TO '".$nom."'@'localhost' ON *.*";
$tabUtilisateur = "INSERT INTO `mabase`.`utilisateur` (`id`, `login`, `password`) VALUES ('','$nom','$motdepasse')";


mysql_query($utilisateur, $connexion);
mysql_query($acces, $connexion);
mysql_query($tabUtilisateur, $connexion);

?>


Je pige pas, la variable nom s'inscrit bien dans le champ login, mais pas la variable motdepasse dans le champ password. Je tiens aussi à préciser que je n'ai pas essayer de me connecter à la base avec le nouvel utilisateur créer par la requête juste au dessus, donc je ne sais pas si pour lui aussi la variable motdepasse déconne ou pas, mais ce qui est sur c'est que l'utilisateur est bel est bien créer dans les privilèges PHPMyAdmin.
Merci d'avance à tous ceux qui pourront m'aider, j'ai épluché je ne sais combien de message mais aucun d'eux n'as réussi à faire bouger quoi que ce soit. Par pitié ...
Configuration: Windows Vista
Firefox 3.0.1

1

vignemail1, le 21 jui 2008 à 21:28:35

Déjà commence par

$nom = $_POST['nom'];
$motdepasse = $_POST['motdepasse'];


concernant l'id de mabase.utilisateur, il serait mieux d'utiliser NULL au lieu de '' car c'est un int avec auto-incrément je suppose.
Membre contributeur
Spécialisé réseaux, webmastering, programmation

Répondre à vignemail1

2

Durst1805, le 21 jui 2008 à 22:59:25

Merci de tes conseils mais en réalité ça n'avance pas beaucoup le problème.
Quelqu'un aurait-il quelque chose d'autre à proposer ? cette erreur est tout de même très étrange je trouve.

Répondre à Durst1805

3

Durst1805, le 21 jui 2008 à 23:18:16

Merci pour tes conseils mais ca n'avance pas tellement le problème.

Répondre à Durst1805

4

Durst1805, le 22 jui 2008 à 18:02:13

Merci de tes conseils mais ca n'avance pas beaucoup le problème.

Répondre à Durst1805

5

Durst1805, le 22 jui 2008 à 18:03:49

Désolé e ce multi post, mais comme j'avais un problème avec le net, les messages ne s'affichaient pas

Répondre à Durst1805

6

 DarkStar, le 24 oct 2008 à 15:43:09
  • +1

C'est normal que le mot de passe ne s'enregistre pas. 'password' est un mot qui ne peut pas être utilisé pour un nom de champ...

Répondre à DarkStar
Collection CommentÇaMarche.net