bonjour ,
Donc j'ai créer un script de connexion et d'inscription et une page membre .
Seulement je n'arrive pas a gérer les redirections .
j'aimerais que une fois identifier à la base de donnée le formulaire de connexion face place a la page membre.php ( dans la page index ) . j'ai chercher pas mal de tutoriel sur le net mais rien ne marche :s . Je requiert donc votre aide pour me dire quoi faire :s



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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Carnage Prod</title>	
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link type="text/css" rel="stylesheet" media="screen" href="style.css" />
</head>
 
<body>
 
<div id="site">
<div id="header"></div>
<div id="sous-header">    
        <div id="mh">
            <a title="Lien" href="#">Rubrique</a>
            <a title="Lien" href="#">Rubrique</a>
            <a title="Lien" href="#">Rubrique</a>
            <a title="Lien" href="#">Rubrique</a>
        </div>
    </div>
    <div id="corp">
    <div id="left">
        <div id="contenu-left">
            <div id="title">Espace Membre</div>
            <div id="contenu-menu">
			<?php
 
    if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = 0;
 
 
    switch ($page) {
        case 3 : include("membre.php"); break;
 
        default : include("connexion.php"); break;
    }
 
?>    	
            </div>
            <div id="title">Menu</div>
            <div id="menu">
                <a href="?page=2" title="">Accueil</a><br /><br />
                <a href="membre.inc.php?page3" title="">membre test</a><br /><br />
                <a href="#" title="">pouet pouet</a><br /><br />
                <a href="#" title="Nous contacter">Nous contacter</a>
            </div>
            <br />
            <br />
            <div id="contenu-menu">
 
            </div>
        </div>
    </div>
    <div id="right">
        <div id="contenu-right">
            <div id="arbo">
                <i><marquee>Mettre un texte déroulant ici</marquee></i>
            </div>
            <?php
 
    if (isset($_GET["page"])) $page = $_GET["page"];
    else $page = 0;
 
 
    switch ($page) {
        case 1 : include("inscription.php"); break;		
 
        default : include("accueil.php"); break;
    }
 
?>    
        </div>
    </div>
    </div> 
</div>
<span class="spacer">-</span>
 
<div id="footer">
    <p>Copyright 2008 C@rn@ge Prod - Toute reproduction est scrictement interdite et constitut un délit </p>
</div>
 
</body>
 
</html>
page connexion.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
55
56
57
58
59
60
61
<?php
 
 // on teste si le visiteur a soumis le formulaire de connexion  
 if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
    if ((isset($_POST['pseudo_membre']) && !empty($_POST['pseudo_membre'])) && (isset($_POST['password_membre']) && !empty($_POST['password_membre']))) { 
 
       $base = mysql_connect ('localhost', 'root', ''); 
       mysql_select_db ('soiree', $base); 
 
       // on teste si une entrée de la base contient ce couple login / pass 
       $sql = 'SELECT count(*) FROM membre WHERE pseudo_membre="'.mysql_escape_string($_POST['pseudo_membre']).'" AND password_membre="'.md5(mysql_escape_string($_POST['password_membre'])).'"'; 
       $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['pseudo_membre'] = $_POST['pseudo_membre']; 
          header('location = index.php?page=3'); 
          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.'; 
    }
 
 }  
 ?>
 <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Accueil</title>
 </head>
 
 <body>
 Connexion à l'espace membre :<br />
 <form action="index.php" method="post">
 Pseudo   : <br><input type="text" name="pseudo_membre" value="<?php if (isset($_POST['pseudo_membre'])) echo htmlentities(trim($_POST['pseudo_membre'])); ?>"><br />
 password : <br><input type="password" name="password_membre" value="<?php if (isset($_POST['password_membre'])) echo htmlentities(trim($_POST['password_membre'])); ?>"><br />
 
 <input type="submit" name="connexion" value="Connexion">
 </form>
 <center>
 <a href="?page=1">Vous inscrire</a>
 </center>
 <?php
 if (isset($erreur)) echo '<br /><br />',$erreur;  
 ?>
 </body>
 </html>
ma page inscription.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<html>
    <head>
        <title>Inscription : </title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
    </head>
    <body>
 
	<?php
	$sql_server = 'localhost'; 
	$db='soiree';
	$user='root';
	$password='';
 
mysql_connect($sql_server, $user, $password) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
 
$html = formulaire_inscription();
echo "<div id='formul'>".$html['formulaire_inscription']."</div><br />";
function formulaire_inscription($num_salarie = 0)
{
	if($_SERVER['REQUEST_METHOD'] == "POST")
	{
		//Si le bouton "S'inscrire" à été validé
		if(isset($_POST['valid'])) 
		{
			$sql = 'SELECT count(*) FROM membre WHERE pseudo_membre="'.$_POST['pseudo_membre'].'"';
			$curseur = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
			$result = mysql_fetch_array($curseur);
			//Si le pseudo est renseigné et qu'il n'existe pas
			if(isset($_POST['pseudo_membre']) && $result[0]==0)
			{
				//Si le pseudo contient plus de 2 caractères
				if (strlen($_POST['pseudo_membre'])>2)
				{
					//Si le mot de passe est renseigné et qu'il est similaire à la vérification
					if(isset($_POST['password_membre']) && $_POST['password_membre'] == $_POST['password_verif'])
					{
						$sql = 'SELECT count(*) FROM membre WHERE email_membre="'.$_POST['email_membre'].'"';
						$curseur = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
						$result = mysql_fetch_array($curseur);
						//Si l'email n'existe pas deja
						if($result[0]==0)
						{
							//Si l'email est renseigné et qu'il correspond à la vérification
							if(isset($_POST['email_membre']) && $_POST['email_membre'] == $_POST['email_verif'])
							{
								//Si l'email comporte au moin 6 caractères
								if(strlen($_POST['email_membre']) > 5)
								{
									mysql_query("INSERT INTO membre(pseudo_membre, password_membre, email_membre, date_inscription, num_cat) VALUES ('".$_POST['pseudo_membre']."', '".md5($_POST['password_membre'])."', '".$_POST['email_membre']."', '".date("Y/m/d").
									"', 3);") 								or 
									die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
									$msg="Membre Inscrit";
								}
								else
								$msg="L'email doit compter au moin 6 caractères.";
							}
							else
							$msg="Les 2 emails entrés ne correspondent pas.";
						}
						else
						$msg="Cet email est déjà utiliser";
					}
					else
					$msg="Les 2 mots de passes entrés ne correspondent pas.";
				}
				else
				$msg="Le pseudo doit contenir au minimum 3 caractères.";				
			}
			elseif($result[0]!=0)
			{
			$msg="Le pseudo est déjà utilisé";
			}
			else
			$msg="Renseignez les champ comprenant une *";
		}
	}
	$html['formulaire_inscription'] = "<form action=".$_SERVER['PHP_SELF']." method='post'>
			<table>
				<tr>
					<th>Pseudo : </th>
					<td><input type='text' name='pseudo_membre' maxlength='32'/>*</td>
				</tr>
				<tr>
					<th>Password : </th>
					<td><input type='password' name='password_membre' maxlength='32'/>*</td>
				</tr>
				<tr>
					<th>Vérifier le password : </th>
					<td><input type='password' name='password_verif' maxlength='32'/>*</td>
				</tr>
				<tr>
					<th>Email : </th>
					<td><input type='text' name='email_membre' maxlength='32'/>*</td>
				</tr>
				<tr>
					<th>Vérifier l'email : </th>
					<td><input type='text' name='email_verif' maxlength='32' />*</td>
				</tr>
			<tr><td><input type='submit' name='valid' value=S'inscrire />&nbsp;<input type='reset' name='annuler' value='annuler'/></td></tr></table>
	</form>";
	return $html;
}
et 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
 <?php
 session_start();  
 if (!isset($_SESSION['pseudo_membre'])) { 
    header ('Location: index.php'); 
    exit();  
 }  
 ?>
 
 <html>
 <head>
 <title>Espace membre</title>
 </head>
 
 <body>
 Bienvenue <?php echo htmlentities(trim($_SESSION['pseudo_membre'])); ?>!<br />
 <a href="deconnexion.php">Déconnexion</a>
 </body>
 </html>
désolé pour la longueur du message mais je voulais vous donnez le plus de détail possible . si vous avez des question n'hésitez pas ! merci par avance