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

Eléphanteau du PHP | 45 Messages

14 déc. 2006, 20:19

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.

ViPHP
ViPHP | 1961 Messages

14 déc. 2006, 21:32

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 ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

14 déc. 2006, 21:47

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

ViPHP
ViPHP | 1961 Messages

14 déc. 2006, 22:10

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
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

14 déc. 2006, 23:07

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

ViPHP
ViPHP | 1961 Messages

14 déc. 2006, 23:10

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.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

14 déc. 2006, 23:31

Effectivement c'était sa, j'ai honte des fois :D merci ;)

ViPHP
ViPHP | 1961 Messages

14 déc. 2006, 23:35

Re,

Et mon petit [Résolu] ? :lol:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein