
Membre
|
Bonjour,
J'ai mit le script de l'espace membre qu'il y a sur support du web sur mon site, mais quand l'utilisateur apui sur son profil, il y a écrit
"L'identifiant de l'utilisateur n'est pas défini. "
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
$dn = mysql_query('select pseudo, email, avatar, dateinscription from utilisateurs where id="'.$id.'"');
if(mysql_num_rows($dn)>0)
{
$dnn = mysql_fetch_array($dn);
//On affiche les donnees de lutilisateur
?>
Voici le profil de "<?php echo htmlentities($dnn['pseudo']); ?>" :
<table style="margin:auto;width:500px;">
<tr>
<td><?php
if($dnn['avatar']!='')
{
echo '<img src="'.htmlentities($dnn['avatar']).'" alt="Image Perso" style="max-width:100px;max-height:100px;" />';
}
else
{
echo 'Cet utilisateur n\'a pas d\'image perso.';
}
?></td>
<td><span style="font-size:30px;"><?php echo htmlentities($dnn['pseudo']); ?></span><br />
Email: <?php echo htmlentities($dnn['email']); ?><br />
Cet utilisateur c'est inscrit le <?php echo date('d/m/Y',$dnn['dateinscription']); ?></td>
</tr>
</table>
<?php
}
else
{
echo 'Cet utilisateur n\'existe pas.';
}
}
else
{
echo 'L\'identifiant de l\'utilisateur n\'est pas défini.';
}
?>
|

Membre
|
tu à creer la table utilisateur dans ta base sql?
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

Membre
|
Bonjour,
C'est peut être parce que le ".php?id=" n'est pas défini ! .
donc il faut une adresse URL du genre :"http:tonsite.com/ledossier/afficher_profil.php?id=3"
ici le 3 c'est l'id de l'utilisateur
je crois que ça doit être sa le soucis !!!
|

Admin
|
Bonjour,
peut-tu copier le code de ta page utilisateurs.php
Cordialement
|

Membre
|
voila utilisateur.php
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
//On affiche la liste des utilisateurs sous la forme dun tableau
?>
Voici la liste des utilisateurs:
<table>
<tr>
<th>Id</th>
<th>Nom d'utilisateur</th>
<th>Email</th>
</tr>
<?php
//On recupere les identifiants, les pseudo et les emails des utilisateurs
$req = mysql_query('select id, pseudo, email from utilisateurs');
while($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td><?php echo $dnn['id']; ?></td>
<td><a href="profil.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['pseudo']); ?></a></td>
<td><?php echo htmlentities($dnn['email']); ?></td>
</tr>
<?php
}
?>
</table>
|

Admin
|
Bonjour,
le problème provenait de la page inscription, voici le nouveau code que tu doit utiliser pour la page inscription.php:
<?php
//On se connecte a la Base de donnee
include('mysqlcnn.php');
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['pseudo']!='')
{
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['pass']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['pass'])>=6)
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['pseudo'] = stripslashes($_POST['pseudo']);
$_POST['pass'] = stripslashes($_POST['pass']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$pass = mysql_real_escape_string($_POST['pass']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from utilisateurs where pseudo="'.$pseudo.'"'));
if($dn==0)
{
//On recupere le nombre dutilisateur pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from utilisateurs'));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into utilisateurs(id, pseudo, pass, email, avatar, dateinscription) values ('.$id.', "'.$pseudo.'", "'.$pass.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
Vous avez bien été inscrit. Vous pouvez dorénavant vous connecter.<br />
<a href="connection.php">Se connecter</a>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mot de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//On affiche le formulaire
?>
<form action="inscription.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe(6 caractères min.):<input type="password" name="pass" /><br />
Mot de passe(vérification):<input type="password" name="passverif" /><br />
Email:<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo $_POST['email'];} ?>" /><br />
Image perso(non obligatoire):<input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo $_POST['avatar'];} ?>" /><br />
<input type="submit" value="Envoyer" />
</form>
<?php
}
?>
Il faudra aussi vider la table utilisateurs pour que les problèmes disparaissent.
http://www.supportduweb.com/scripts_tutoriaux-code-source-84-espace-membre-en-php-mysql-utilisateurs-espace-membre-inscription-connection-sessions-php-mysql.html
Cordialement
|