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 -&gt;</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":

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
Voila donc si vous pouviez éclairer ma lanterne.
Merci d'avance.
Cordialement.