Pas d'inscription dans la base apres confirmation bouton "oui"

christophe110 Messages postés 5 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 4 juin 2009 - 2 juin 2009 à 17:56
christophe110 Messages postés 5 Date d'inscription vendredi 1 juillet 2005 Statut Membre Derniè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'&nbsp;';
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'
';


//Confirmation
echo'Confirmez-vous ce resultat ?';
echo'<form name="bouton2" action="fenetre5.php">';
echo'';
echo'&nbsp;';
echo'</form>'; 
}//fin else


}// FIN if(strlen($_POST["valider"])>0)




//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]))
?>

5 réponses

nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
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é.
0
christophe110 Messages postés 5 Date d'inscription vendredi 1 juillet 2005 Statut Membre Derniè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"...

Merci
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
3 juin 2009 à 00:20
ça veut donc dire qu'il faut regarder dans ton formulaire et savoir pourquoi le oui n'est pas activé...
0
christophe110 Messages postés 5 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 4 juin 2009
3 juin 2009 à 01:05
ok, c'est toi le pro je regarderai demain.

Cependant, ce qui me rend fou c'est pourquoi ayant fait la même structure de confirmation pour les 2 cas (Newsletter Asso et Newsletter village)

seul la newsletter village incremente bien ma table "village"

if(isset($_POST[oui2])){// Confirmation inscription newsletter par defaut
 echo'Votre choix a bien été validé';
 
  $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]))

encore merci et à demain

bonne nuit
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
christophe110 Messages postés 5 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 4 juin 2009
4 juin 2009 à 00:10
Non, là je baisse les bras y arrive pas !!! comprends pas !!! cerveau en marmelade !!!
0
Rejoignez-nous