Remplir une table sous conditions

MARTEGAL Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
MARTEGAL Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour à toutes et à tous,

Je suis en train d'écrire un script qui doit, à partir d'un formulaire extérieur, remplir une table si les éléments fournis correspondent à partir de la fonction IF...ELSE

Malheureusement, la table "adherents2022" qui doit recevoir le pw donné dans le formulaire, n'est jamais rempli. Je n'arrive pas à saisir les variables de mon ARRAY permettant le choix IF, c'est toujours le ELSE qui rejette.

Merci d'avance de m'éclairer.

//On insère les données : nom, prenom et pw dans la table mots_de_passe
			
			$sth=$conn->prepare("
					INSERT INTO mots_de_passe (Nom, Prenom, pw)
					VALUES(:Nom, :Prenom, :pw)");
					
			$sth->bindparam(':Nom',$Nom);
			$sth->bindparam(':Prenom' ,$Prenom);
			$sth->bindparam(':pw', $PW);
			$sth->execute();
						
			echo "saisie réussie dans la table Mots_de_passe";
			
			//on scrute la table adherents2022
			$sth=$conn->prepare ("SELECT Nom, Prenom FROM adherents2022");
			$sth->execute();
			
			$resultat=$sth->fetchALL(PDO::FETCH_ASSOC);
			echo'<pre>';
			print_r($resultat);
			echo'<pre>';
			
			$taille_adherents2022=count($resultat);
			echo $taille_adherents2022;
			
			for ($i=0; $i<$taille_adherents2022; $i++){				
				$p = $resultat[$i];
				echo'<pre>';
			print_r($p);
			echo'<pre>';
			if(echo($p==$Nom) AND echo($p==$PRENOM)){
				$sth=$conn->prepare("
					INSERT INTO adherents2022 (pw)
					VALUES(:pw)");			
			$sth->bindparam(':pw', $PW);
			$sth->execute();
			}
			else{echo '<br> PW non copié dans table adherent2022';}
			}


Windows / Edge 104.0.1293.70

A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour, je commencerais par supprimer les "echo" de la ligne 31.

0
MARTEGAL Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 

OK, tu as raison yg_be. Mais j'ai mis cet echo afin de m'assurer que les variables arrivent bien jusqu'à cette ligne de script. Cet echo ne change rien à mon pb

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Montre alors ton code adapté.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

A y regarder de plus prêt, ton code est bourré d'erreurs de logique.

Est-ce ton premier exercice?

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

En complément de la très juste remarque d'Yg_be ...

Sais tu utiliser un WHERE dans une requête SQL ?

Connais tu l'instruction foreach ?

Que viennent faire des echo dans un IF ?

Et comment .. une même variable ($p) peut-elle être égale à la fois au nom et au prénom ?

D'ailleurs .. $p .. est un ARRAY contenant plusieurs informations ( résultat d'une ligne de ta requête SQL )

Ce qui amène une nouvelle question ..  sais tu utiliser des ARRAY associatifs ?

Dernière question ..  pourquoi insérer des données dans la table mots_de_passe  .. pour ensuite aller voir si le nom et prénom de l'utilisateur existe dans la table adhérent pour y copier le password ?  Pourquoi ne pas directement updater ( tiens.. encore une instruction sql que tu ne connais peut-être pas... ) l'adhérent concerné  ?

Tu sembles ne pas avoir acquis le minimum requis de connaissances avant de te lancer.  Essaye de suivre quelques tutos/formations sinon tu ne vas pas t'en sortir... 


0
MARTEGAL Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 

Merci Jordane pour tes remarques. Je suis effectivement un "bleu", et j'apprends petit à petit avec les bouquins de Pierre GIRAUD. Voici le schéma général de mon script :

  • Dans une Bdd, une première table doit contenir : NOM PRENOM et PW d'un adhérent qui s'inscrit. La seconde table contient tous les renseignements de l'adhérent hormis le PW
  • Le jeu consiste à copier le PW de la 1ère table dans la seconde de façon à ce que l'adhérent puisse se connecter avec ses NOMS, PRENOMS et PW et avoir accès à la seconde table.

Je reconnais que c'est tordu, mais c'est un exercice que j'essaie de réussir.

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Je pense que tu n'as pas encore les connaissances pour faire cet exercice, ni en programmation, ni en bases de données.

0

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

Posez votre question
MARTEGAL Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   2
 

Merci yg_be. Je vais retourner à mes chères études. Je reviendrai quand j'aurai plus de connaissance.

Merci encore

0