Insertion dans une table

Fermé
amn - 19 juin 2014 à 12:49
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 23 juin 2014 à 16:28
Bonjour,


j'ai créer une table users, ou tout les inscrit sont, et j'ai rajouter à cette table des colonnes pour pouvoir rajouter un abonnement : date, abonnement, id_commentaire,id_article. Pour les id je sais le nom n'a rien à voir j'ai juste repris les mêmes noms qu'une autre table pour faire les tests.

Donc le soucis est que dès que je choisi un abonnement, seul id article se rempli, et crée automatiquement un "nouveau client", et ne rajoute donc pas l abonnement au client connecté.

Voici le code :
-if(isset($_POST['submit']))
{
$pd = htmlspecialchars(trim(mysql_real_escape_string($_POST['pd'])));
$cl = htmlspecialchars(trim(mysql_real_escape_string($_POST['cl'])));
$vip = htmlspecialchars(trim(mysql_real_escape_string($_POST['vip'])));
$ms = htmlspecialchars(trim(mysql_real_escape_string($_POST['ms'])));
$gd = htmlspecialchars(trim(mysql_real_escape_string($_POST['gd'])));

if(empty($pd) && empty($cl) && empty($vip) && empty($ms) && empty($gd))
{
echo "Veuillez sélectionner au moins un abonnement !";
}

else
{
inserer_commentaire($pseudo, $commentaire);
header("location: abologin.php?id={$_GET['id']}");

}
}

La fonction pour inserer :

<?php
function inserer_commentaire($pseudo, $commentaire)
{
mysql_query("INSERT INTO users VALUE('','{$_GET['id']}','$pd','$cl','$vip','$ms','$gd', NOW())") or die(mysql_error());
}
?>

et le formulaire :
<FORM method="post" action="">
Pass day<input type="radio" name="pd"/><br>
Classic<input type="radio" name="cl"/><br>
Vip<input type="radio" name="vip"/><br>
Malsch<input type="radio" name="ms"/><br>
GOLD<input type="radio" name="gd"/><br>
<input type="submit" name="submit"/>
</FORM>
A voir également:

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juin 2014 à 16:28
Bonjour,

Les variables $pd, $cl, $vip, $ms, $gd ne sont pas définies à l'intérieur de la fonction.
Tu peux soit les déclarer en global, mais ce n'est pas très conseillé, soit les passer en paramètres de la fonction.
D'ailleurs, les paramètres $pseudo et $commentaire ne sont pas utilisés...

inserer_commentaire($pd, $cl, $vip, $ms, $gd);
[...]
function inserer_commentaire($pd, $cl, $vip, $ms, $gd) 
{
    mysql_query("INSERT INTO users VALUE('','{$_GET['id']}','$pd','$cl','$vip','$ms','$gd', NOW())") or die(mysql_error()); 
}
0