Bonjour,
je travail avec dreamweaver et easyphp, j'ai terminé toute les pages de mon site et je voulais insérer un espace membre.
J'ai donc changer le nom de mon serveur (localhost car j'utilise easyphp), le login (root), le mot de passe (aucun) et le nom de ma base (zonemembre).
Arrivé sur l'index, pas de problème, pas d'erreur de connexion à la base. Je clique sur inscription (qui me renvoi donc sur inscription.php) et je m'inscris. Je fais ok (qui doit m'envoyer sur la page meme.php) mais la le navigateur me dit qu'il n'arrive pas à afficher la page ... Alors que dans ma base donnée l'utilisateur s'est bien créer. Donc quand je reviens sur index.php pour me connecter avec le login créer avant, la page menbre ne s'affiche pas non plus.
Donc le problème vient visiblement d'un paramètre mal renseigné dans "membre.php" mais je n'arrive pas à voir lequel.
Voici le code de ma page "index.php":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <?php 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 ('zonemembre', $base); $sql = 'SELECT id FROM membres WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 1) { $data = mysql_fetch_array($req); session_start(); $_SESSION['login'] = $_POST['login']; // on enregistre en plus l'id du membre dans une variable de session $_SESSION['id'] = $data['id']; mysql_free_result($req); mysql_close(); header('Location: membre.php'); exit(); } elseif ($nb == 0) { $erreur = 'Compte non reconnu.'; } else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } mysql_free_result($req); mysql_close(); } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <P><A href=/#><STRONG>Connexion -></STRONG></A></P> <p><form action=index.php method=post> Login :<br> <input name=login onfocus=this.style.backgroundColor='#CCCCFF'; onfocus=this.style.backgroundColor='white';> <br /> Mot de passe : <br><input type=password name=pass onfocus=this.style.backgroundColor='#CCCCFF'; onfocus=this.style.backgroundColor='white';> <br /> <input type=submit name=connexion value=Connexion> </form><div text=red><h3> <p></P><P> </p></div></h3> <a href=inscription.php>Vous inscrire</a> <?php if (isset($erreur)) echo '<br /><br />',$erreur; ?>
Et celui de ma page "membre.php":
Voila donc si vous pouviez éclairer ma lanterne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } ?> <html> <head> <title>Espace membre</title> </head> <body> Les messages de <?php echo htmlentities(trim($_SESSION['login'])); ?><br /><br /> <?php $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('zonemembre', $base); $sql = 'SELECT titre, date, membres.login as expediteur, messages.id as id_message FROM messages, membres WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membres.id ORDER BY date DESC'; // lancement de la requete SQL $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 0) { echo 'Vous n\'avez aucun message.'; } else { // si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message while ($data = mysql_fetch_array($req)) { echo $data['date'] , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ Message de ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ]<br />'; } } mysql_free_result($req); mysql_close(); ?></P> <a href=envoyer.php>Envoyer un message
Merci d'avance.
Cordialement.
Partager