bonjour,
je viens de taper du code pour supprimer un utilisateur de ma base et je ne comprend pas pourquoi la variable $data['username'] n'affiche rien dans le cas ou l'utilisateur n'est pas supprimé. Pouvez vous m'expliquer pourquoi?

Voila le code php:


//Connexion à la base
	$db=mysql_connect("localhost","root","") or die ("Erreur de connexion à la base de données bd_imm!");
	//Sélection de la base
	mysql_select_db("bd_imm",$db);
	
	//On récupère l'id de l'utilisateur
	$id=$_GET['id'];
	
	//On récupère le nom de l'utilisateur
	$sql = "SELECT username FROM phpbb_users WHERE user_id = '".$id."'";
	$req = mysql_query($sql) or die('Erreur SQL : <br />'.mysql_error());
	$data = mysql_fetch_assoc($req);
	
	//On supprime l'utilisateur
	$sql = "DELETE FROM phpbb_users WHERE user_id = '".$id."'";
	$req = mysql_query($sql) or die('Erreur SQL : <br />'.mysql_error());
	
	//Si la requête a fonctionné et que le nombre d'enregistrement supprimé est égal à 1
	if($req && mysql_affected_rows()==1)
	{
		//Mise en session du message d'erreur associé + redirection
		$_SESSION['type_mess']="modif";
		$_SESSION['message']="Utilisateur ".$data['username']." supprimé";
	  	header("Location: message.php");
		exit();
	}
	//Sinon, si la requête n'a pas fonctionné ou que le nombre d'enregistrement est différent de 1 : erreur
	else
	{
		//Mise en session du message d'erreur associé + redirection
		$_SESSION['type_mess']="erreur";
		$_SESSION['message']="Utilisateur ".$data['username']." non supprimé";
	  	header("Location: message.php");
		exit();
	}
	
	//On ferme la connection
	mysql_close();


merci... Smiley cligne
Modifié par nicof (20 Apr 2006 - 17:36)
Au risque de faire le rabat-joie, les forums d'Alsacréations sont consacrés aux standards du web, et en particulier aux CSS. Il existe bien un forum « Standards web et langages serveurs », mais il n'est consacré qu'à l'interaction entre ces deux domaines, pas au debugging de code PHP.

Mais sinon : dans le cas où l'utilisateur n'est pas supprimé, c'est à priori parce que l'identifiant récupéré au début du script ne correspond à aucune ligne de la table, non ? Du coup, la sélection du nom de l'utilisateur ne peut pas se faire, vu qu'elle passe aussi par cet identifiant invalide. $data sera donc vide, non ?
Mes compétences en PHP sont très limitées, désolé.