[RESOLU] Problème update bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème update bdd

Re: Problème update bdd

par Ikbal » 29 déc. 2021, 13:31

Le code n'exécute que jusqu'à la 3ème condition et cela si seulement je modifie ET le pseudo ET le mail. Si je modifie le pseudo il va à la deuxième condition mais si je modifie autre chose que le pseudo il reste à la toute première condition.

Re: Problème update bdd

par two3d » 29 déc. 2021, 12:46

Il te faut débuguer, voir jusqu'où tu arrive dans tes conditions, mettre un echo "ici1", echo "ici2" et éventuellement afficher les erreurs PHP à l'écran.

Problème update bdd

par Ikbal » 29 déc. 2021, 11:55

Bonjour, Bonsoir
Je réalise un site et j'en suis à la page d'édition des profils. Mon soucis est que j'ai réalisé mon code en partant d'un que j'avais utilisé y a biiiien longtemps et qui fonctionnait mais qui était limité dans les actions (ne vérifier pas si le nouveau pseudo est déjà existant, de même pour le mail) et un autre gros soucis était que l'ancien code effectuait les mises à jour dans la base de données dès qu'au moins le pseudo ou le mail était changé mais ne prenait pas en compte la condition que j'avais mise pour tester si le nouveau mdp avec le mdp de confirmation sont identiques.
Voilà le code que j'utilise actuellement, il n'y a pas d'erreur lors de l'exécution mais ma bdd reste inchangée.
<?php
session_start();
	 
include("pdo.php");
	 
if(isset($_SESSION['id'])) {
   $requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
   $requser->execute(array($_SESSION['id']));
   $user = $requser->fetch();
   if(isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo'])
   {
      	$newpseudo = htmlspecialchars($_POST['newpseudo']);
   		if(isset($_POST['newmail']) AND !empty($_POST['newmail']) AND $_POST['newmail'] != $user['mail'])
   		{
     	 	$newmail = htmlspecialchars($_POST['newmail']);
   			if(isset($_POST['newmdp1']) AND !empty($_POST['newmdp1']) AND isset($_POST['newmdp2']) AND !empty($_POST['newmdp2']))
   			{
			    $mdp1 = sha1($_POST['newmdp1']);
			    $mdp2 = sha1($_POST['newmdp2']);
				$reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
                $reqmail->execute(array($mail));
                $mailexist = $reqmail->rowCount();

				$reqpseudo = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ?");
				$reqpseudo->execute(array($pseudo));
				$pseudoexist = $reqpseudo->rowCount();
				if($pseudoexist == 0){                             
	                if($mailexist == 0){  
						if($mdp1 == $mdp2)
		     			{
						    $insertpseudo = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?");
						    $insertpseudo->execute(array($newpseudo, $_SESSION['id']));
						    $insertmail = $bdd->prepare("UPDATE membres SET mail = ? WHERE id = ?");
					        $insertmail->execute(array($newmail, $_SESSION['id']));
			   		        $insertmdp = $bdd->prepare("UPDATE membres SET motdepasse = ? WHERE id = ?");
							$insertmdp->execute(array($mdp1, $_SESSION['id']));
							header('Location: profil.php?id='.$_SESSION['id']);
		     			}else
		     			{
			        		$msg = "Vos deux mdp ne correspondent pas !";
		     			}
		     		}else
		     		{
		     			$msg = "Ce mail est déjà utilisé !";
		     		}
		     	}else
		     	{
		     		$msg = "Ce pseudo est déjà utilisé !";
		     	}
   			}
   		}
   }
}
?>