ou ce ne serai pas $_POST['predef_name'] qu'il faut récupérer ?a quoi correspond $_POST['avatar']
le nom de la liste est "predef" d'apres ton code ! je sais pas trop ce que tu veut vraiment récupérer avec tout ça.
header("Location: bravo.htm");
qui en principe devrai rediriger correctement, donc n'exécute pas le reste du code qu'il y a apres cela.
<?php
session_start() ;
$message = "";
//Vérifier si le pseudo et mot de passe sont envoyés non vides
if (
isset($_POST['pseudo']) && isset($_POST["passe"])
&& !empty($_POST["pseudo"]) && !empty($_POST["passe"])
)
{
//on recupere les données du formulaire
$login = $_POST['pseudo'];
$passe = $_POST['passe'];
// on recupère les info du membre à partir de la base ce qui permet aussi
//de voir si le pseudo et pass sont corrects
//Exécuter la requête
$db= mysql_connect(localhost, xxxx, xxxx) or die("Impossible de se connecter à la base de données");
// sélection de la base
mysql_select_db('xxxx',$db) or die('Erreur de selection base'.mysql_error());
$req = mysql_query("select * from membres where pseudo='$login' and passe='$passe'",$db)or die(mysql_error());
//Tester si la requête est réussie et qu'un membre est trouvé
if ($req && mysql_num_rows($req) >0) {
//Lire le résultat retourné par la requête
$data = mysql_fetch_assoc($req);
if ($data) {
//Lire et stocker les infos dans la session
$_SESSION['pseudo'] = $login;
$_SESSION['age'] = $data["age"];
$_SESSION['sexe'] = $data["sexe"];
$_SESSION['statut'] = $data["statut"];
$_SESSION['billet'] = $data["billet"];
$_SESSION['avatar'] = $data["typeava"];
//rediriger vers la page membre
header("Location: page_membre.php");
}
else //pour if ($data ...
$message = '<p>Une erreur est survenue, Merci de recommencer</p>';
}
else //pour if ($req ...
$message = '<p><center>Mauvais pseudo / mot de passe. Veuillez recommencer</p></center>';
}
else //pour if (isset($_POST["pseudo ...
$message = '<p>Merci de bien vouloir passer par la page Inscription</p>';
include ("inscription.php");
echo $message;
?>
A NOTER que pour la ligne de session correspondante j'ai testé avec "predef" avec "avatar" ca ne donne rien non plus.... <?php
session_start();
?>
<body background="images/fond.jpg" bgproperties="fixed">
<center>
<table width="20%" border="3">
<tr>
<td width="20%" height="30" bgcolor="#FFFFFF"> <center>
<font size="4"><strong><font color="#EB0130" face="Calligraph421 BT">
<? echo $_SESSION['pseudo'] ?> </strong></font></font>
</center>
</td>
</tr>
</table>
<table width="9%" border="2" bgcolor="#FFFFFF">
<tr>
<td width="10%" height="25"><strong><font face="Calligraph421 BT">
<? echo $_SESSION['sexe']?> <? echo $_SESSION['age'] ?> ans
</font></strong>
</td>
</tr>
</table>
<table width="8%" border="2" bgcolor="#FFFFFF">
<tr>
<td width="8%" height="60"><center><? echo $_SESSION['avatar']?></center></td>
</tr></table></center>
$sql = "INSERT INTO membres(id, pseudo, passe, email, sexe, age, avatar) VALUES ('','$login','$passe','$email', '$sexe','$age','$typeava')";
il faudrait donc faire:$_SESSION['avatar'] = $data["avatar"]; <?php
// On commence par récupérer les champs
if(isset($_POST['pseudo']))$login=addslashes($_POST['pseudo']);
else $login="";
if(isset($_POST['passe']))$passe=htmlentities($_POST['passe']);
else $passe="";
if(isset($_POST['email']))$email=htmlentities($_POST['email']);
else $email="";
if(isset($_POST['sexe']))$sexe=$_POST['sexe'];
else $sexe="";
if(isset($_POST['age']))$age=$_POST['age'];
else $age="";
if(isset($_POST['predef']))$typeava=$_POST['predef'];
else $typeava="./avatars/avx.gif";
// On vérifie si les champs sont vides
if(empty($login) OR empty($passe) OR empty($email) OR empty($sexe) OR empty($age))
{
echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
}
// on se connecte à MySQL
// connexion à la base
$db= mysql_connect(localhost, xxxx, xxxx) or die("Impossible de se connecter à la base de données");
// sélection de la base
mysql_select_db('xxxxl',$db) or die('Erreur de selection base'.mysql_error());
// on regarde si le type existe déjà
$req = mysql_query("select * from membres where pseudo='". $login ."'",$db)or die(mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res!=0) // le pseudo existe déjà, on affiche un message d'erreur
{
echo '<center><font color="red">Désolé, mais ce pseudo est déjà pris !</font></center>';
}
else // Le pseudo est pas encore pris, on insère les informations du formulaire dans la table
{
$sql = "INSERT INTO membres(id, pseudo, passe, email, sexe, age, avatar) VALUES ('','$login','$passe','$email', '$sexe','$age','$typeava')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
// on redirige vers une page de confirmation
header("Location: bravo.htm");
mysql_close($db); // on ferme la connexion
}
?>
normal il n'y a pas de balises image dans ton codeA présent, l'avatar s'affiche mais le nom du fichier uniquement![]()
(exemple 044.gif) au lieu "de l'icone 044.gif...."
<img src="<?php echo $_SESSION['avatar']?>" alt="" />
par contre dans la BD comment sont enregistré les images?src="./avatars/<?php echo $_SESSION['avatar']?>"
et dans ce cas$typeava="avx.gif";