Bonjour, je reposte afin d'avoir le maximum de conseil possible concernant mon casse tête
Je suis gros 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 tables 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.
Pourtant, lors de ce test, j'ai une incrémentation dans mes tables 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
$sql="INSERT INTO $association (nom,prenom,mail) VALUES ('$nom','$prenom','$mail')";
$resultat=mysql_query($sql);
}//fin foreach
}//fin if
mais si je rajoute un if (isset($_POST[oui])) pour confirmation ça n'enregistre pas dans les tables d'associations.
Mon code est "lourd", pas sécurisé et j'aimerai éviter le Javascript
Merci pour votre aide :
<?php
//Creation de la table qui va contenir le tableau des associations
echo'<form name"resultat" method="post">';
echo'<table border="1">';
echo'<tr><td width="">Associations</td>';
echo'<td width="">Infos</td>';
echo'<td width="">Choix</td>';
//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'<tr><td>'.$data["association"].'</td>';
echo'<td>'.$data["information"].'</td>';
echo"<td><input type='checkbox' name='choisir[]' value='".$data['association']."'></td>";
echo'</tr>';
}//fin While
echo'</table>';
//Affichage des choix effectués dans la table des associations
echo'<input type="submit" name="resultat" value="Resultat">';
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'<p></p>';
//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'<br/>';
echo'Confirmez-vous ce resultat ?';
echo'<form name="bouton" action="choix.php">';
echo'<input type="submit" name="oui" value="Oui">';
echo' <input type="submit" name="recommencez" value ="Recommencez">';
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'<br/>';
//Confirmation
echo'Confirmez-vous ce resultat ?';
echo'<form name="bouton2" action="choix.php">';
echo'<input type="submit" name="oui2" value="Oui">';
echo' <input type="submit" name="recommencez" value ="Recommencez">';
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 associations choisies
echo'<br />
<center><strong>Votre choix a bien été validé</strong></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'<br /><font color="#FF0000"><center><strong>Votre choix a bien été validé</strong></center></font>';
$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]))
?>