Page 1 sur 1

définir la table ou on enregiste a partir d'une liste

Posté : 14 déc. 2006, 20:19
par dr.smoogy
Hello,

J'ai une page inscription qui jusque là marche nickel, car je dis ou écrire du moin dans quel table, mais là j'ai crée une liste (formulaire) avec comme name 'selecter', a cette liste il y a 3 choix, le but étant a l'utilisateur de choisir ou il s'inscrit.

J'ai donc fais ceci:
$selecter = htmlentities ($POST['selecter']);
et
mysql_query("INSERT INTO $selecter VALUES('','$login', '$login', '$pass','$mail','$pseudo_perso','2000','100','0')");
et sa ne marche pas, peut-être ya til une méthode, un erreur de syntaxe.

merci.

Posté : 14 déc. 2006, 21:32
par Ajoloca
Bonsoir,

Tu as quoi comme erreur ?

Est-tu sur que la valeur de $selecter est bien une table qui est dans la base?
C'est normal que ta requête il y ait deux fois $login ?

Posté : 14 déc. 2006, 21:47
par dr.smoogy
Il n'y a aucune erreur seulement rien ne s'inscrit dans la table voila le script total:

pour le choix en html de la table:

Votre monde:<select name="selecter">
<option value="tbl_user">tbl_user</option>
<option value="monde1">monde1</option>
<option value="monde2">monde2</option>
<option value="monde3">monde3</option>
</select>

et le script inscription.php
<?php
if (isset($_POST['login']) AND isset($_POST['pass'])AND isset($_POST['pseudo_perso'])AND isset($_POST['mail'])AND isset($_POST['selecter'])) // Si les variables existent
{
    if ($_POST['login'] != NULL AND $_POST['pass'] != NULL AND $_POST['pseudo_perso']!= NULL AND $_POST['mail'] != NULL AND $_POST['selecter'] != NULL) // Si on a quelque chose à enregistrer
    {
        // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "root", "");
        mysql_select_db("drsmoogy");

        // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
        $selecter = htmlentities ($_POST['selecter']);
        $login = htmlentities ($_POST['login']);
        $pass = htmlentities ($_POST['pass']);
        $pseudo_perso = htmlentities ($_POST['pseudo_perso']);
        $mail = htmlentities ($_POST['mail']);

        // Ensuite on ajoute les valeurs entrées dans la BDD
        mysql_query("INSERT INTO $selecter VALUES('','$login', '$login', '$pass','$mail','$pseudo_perso','2000','100','0','','','','','','','')");
        echo("inscription réussie !");
        
        
        
        // On se déconnecte de MySQL
        mysql_close();
    }else{
    echo("ERREUR veuillez recommencer !");
    }
}


// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages

// Tout d'abord le formulaire :
?>
et il y a bien les tables dans la bdd ;)

merci

Posté : 14 déc. 2006, 22:10
par Ajoloca
Re,
Remplace cette ligne
mysql_query("INSERT INTO $selecter VALUES('','$login', '$login', '$pass','$mail','$pseudo_perso','2000','100','0','','','','','','','')");
Par celles-ci
$qry = "INSERT INTO $selecter VALUES('','$login', '$login', '$pass','$mail','$pseudo_perso','2000','100','0','','','','','','','')";
mysql_query($qry ) or die ('ERR_SQL :<br />' . $qry . '<br />' . mysql_error());
Et poste le résultat

Posté : 14 déc. 2006, 23:07
par dr.smoogy
ERR_SQL :
INSERT INTO monde3 VALUES('','max', 'max', 'max','max','max','2000','100','0','','','','','','','')
Column count doesn't match value count at row 1
merci

Posté : 14 déc. 2006, 23:10
par Ajoloca
Re,
Bonsoir,

Tu as quoi comme erreur ?

Est-tu sur que la valeur de $selecter est bien une table qui est dans la base?
C'est normal que ta requête il y ait deux fois $login ?
C'est bien ce que je te disais, regarde la dernière question.

Le message d'erreur te dis que le nombre de paramètres ne correspond pas au nombre de colonnes dans la table.

Posté : 14 déc. 2006, 23:31
par dr.smoogy
Effectivement c'était sa, j'ai honte des fois :D merci ;)

Posté : 14 déc. 2006, 23:35
par Ajoloca
Re,

Et mon petit [Résolu] ? :lol: