Pas d'inscription dans la base apres confirmation bouton "oui"
christophe110
Messages postés5Date d'inscriptionvendredi 1 juillet 2005StatutMembreDernière intervention 4 juin 2009
-
2 juin 2009 à 17:56
christophe110
Messages postés5Date d'inscriptionvendredi 1 juillet 2005StatutMembreDernière intervention 4 juin 2009
-
4 juin 2009 à 00:10
Bonjour,
Je suis débutant en php.
J'ai fait une newsletter ou, sur une première page l'identifiant rempli un formulaire.
Puis, il est dirigé vers une seconde page ou il choisi les associations (case à cocher générées par une requete sql) pour lesquelles il veut recevoir les news.
Il confirme et, ses identifiants sont repartis dans les table assos qu'il a choisi.
S'il ne chois pas d'assos, il recoit par defaut la newsletter des activités du village.
Il confirme et idem dans la table village.
Mon problème est que la validation dans les tables assos ne se fait pas lors de la confirmation.
Lors de mes tests, ça marche mais lorsque je met le if (isset($_POST[oui])) ça n'enregistre pas dans les tables d'associations.
Mon code est "lourd" et pas sécurisé.
Merci pour votre aide :
<?php
//Creation de la table qui va contenir le tableau des associations
echo'<form name"resultat" method= "post">';
echo'';
echo'----
Associations, ';
echo'Infos, ';
echo'Choix, ';
//Requete pour afficher ce que va contenir la table des associations
include (/*Mes paramètres de connexion*/);
$sql=\"SELECT*FROM table_association\";
$resultat=mysql_query($sql);
while ($data=mysql_fetch_array($resultat)){
echo'----
'.$data["association"].', ';
echo''.$data["information"].', ';
echo\", \";
echo'';
}//fin While
echo'
';
//Affichage des choix effectués dans la table des associations
echo'';
if(strlen($_POST["resultat"])>0){/*Condition pour ne pas afficher le resultat des choix dès que la page est appelée pour la première fois (SI j'ai déjà appelé la page alors le resultat s'affiche)*/
echo'
';
//si choix d'associations
$choix= count($choisir);
if($choix>0){
echo'Vous avez choisi les newsletters de : ';
foreach ($choisir as $association){
echo " $association, "; //affichage du ou des choix
}//fin foreach
//Confirmation des choix
echo'
';
echo'Confirmez-vous ce resultat ?';
echo'<form name ="bouton" action= "fenetre5.php">';
echo'';
echo' ';
echo'</form>';
}//fin if
//Sinon on recoit la newsletter par defaut
else {
echo"Vous n'avez pas choisi d'association, vous recevrez uniquement la newsletter PAR DEFAUT";
echo'
';
//ICI PROBLEME L'INSCRIPTION DANS LES TABLES NE SE FAIT PAS !
if (isset($_POST[oui])){// Confirmation inscription association choisie
echo'
<center> Votre choix a bien été validé </center>';
$nom =$_POST['nom'];
$prenom= $_POST['prenom'];
$mail=$_POST['mail'];
$sql="INSERT INTO $association (nom,prenom,mail) VALUES ('$nom','$prenom','$mail')";
$resultat=mysql_query($sql);
}//fin if(isset($_POST[oui]))
//ICI L'INSCRIPTION DANS LA TABLE PAR DEFAUT EST OK
if(isset($_POST[oui2])){// Confirmation inscription newsletter par defaut
echo'
<center> Votre choix a bien été validé </center>';
$nom =$_POST['nom'];
$prenom=$_POST['prenom'];
$mail=$_POST['mail'];
$sql_village="INSERT INTO village (nom,prenom,mail) VALUES ('$nom','$prenom','$mail')";
$resultat=mysql_query($sql_village);
}//fin if(isset($_POST[oui2]))
?>
A voir également:
Pas d'inscription dans la base apres confirmation bouton "oui"
nautilus99
Messages postés661Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention18 septembre 20091 2 juin 2009 à 21:31
if (isset($_POST['oui']))
sinon PHP y voit une constante et génère un warning et évidemment ne trouve pas ce qu'il cherche, donc ton bloc n'est pas exécuté.
christophe110
Messages postés5Date d'inscriptionvendredi 1 juillet 2005StatutMembreDernière intervention 4 juin 2009 2 juin 2009 à 23:42
Merci beaucoup Nautilus99 mais ça ne marche pas. Quand je verifie sur phpmyadmin je n'ai toujours pas d'entrée dans mes tables.
Comment expliquer : En fait sans ce if (isset($_POST[oui])) la variable $association recoit bien les noms des tables choisies dans ce code :
$choix= count($choisir);
if($choix>0){
echo'Vous avez choisi les newsletters de : ';
foreach ($choisir as $association){
echo " $association, "; //affichage du ou des choix
}//fin foreach
Ex si j'ai choisi table1 et table 4
J'ai bien une incrémentation dans table1 et table4 dans mon phpmyadmin via la requete :
$sql ="INSERT INTO $association (nom,prenom,mail) VALUES ('$nom','$prenom','$mail')";
$resultat=mysql_query($sql);
Seulement voilà avec ce if (isset($_POST[oui])) ou ['oui '] (comme tu me le conseilles) ça bloque...J'ai l'impression que $association "est vide"...