Membre
|
Bonjour,
Je suis en train de coder un espace membre pour mon site web.
Tout marche (inscription connexion)
Mais quand j'arrive dans l'espace membre, je vois l'espace membre de tous les autres comptes, et vu que dans l'espace membre il y a des informations importantes concernant le compte j'aimerais que chaque compte ai en gros une page à lui pour chaque pseudo, et bien sûr l'interdiction d'aller sur l'espace membre d'une autre personne
Exemple :
Mon ID dans la base de données est 1, donc je vais dans :
http://moi/membre.php?id=1
Et si mon ID et 1 et que j'essaye d'aller sur l'id 2 donc :
http://moi/membre.php?id=2
Je reçois une page d'erreur.
Comment faire?
Voila les codes de ma page de connexion et d'espace membre :
<?php
session_start();
session_register("login");
session_register("pass");
// Pour réutiliser une variable :
?>
<?php
mysql_connect("localhost", "root", "********");
mysql_select_db("site");
$reponses = mysql_query("SELECT * FROM membre");
while ($donnees = mysql_fetch_array($reponses) )
{
?>
Espace membre. <br />
<?php
}
?>
Et connexion (donc connexion2.php) :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '********');
mysql_select_db ('site', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$requete=mysql_db_query($membre,"select * from membre where id=\"$id\"",$base);
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
Donc en gros quand j'arrive sur l'espace membre je vois tous les espaces membres sur la page.
En espérant mettre fais compris.
Merci d'avance.
Cordialement.
|
Admin
|
Une erreur s'est produite <strong>Veuillez signaler le bug dans le forum de bugs</strong><br /><strong>Si vous ne pouvez pas, </strong> contactez nous par le formulaire de contact.
|
Membre
|
Désolé mais je n'ai pas bien compris votre question.
|
Admin
|
Bonjour,
pour commencer est ce que le code que je t'ai donné a fonctionné.
et ma question c'est quel est le rôle de chacune des deux pages que tu m'a donné.
Car j'ai compris que la première page sert à la connexion.
Et la deuxième page sert aussi à la connexion.
Cordialement
|
Membre
|
Bonjour,
Effectivement le code fonctionne correctement merci
Pour la 1ère page c'est l'espace membre (je me suis aidé de certains sites)
Pour la 2e page la connexion après le formulaire.
Pourquoi? Ca n'est pas bon?
|
Admin
|
Bonjour,
parceque je me demandait pourquoi tu a appelé la deuxième page connexion2.php
Mais je viens de comprendre, connexion.php contient le formulaire et connexion2.php après le formulaire.
Je suis heureux pour toi que ça fonctionne, et désolé, pour cette incompréhension.
Cordialement
|