Problème PHP
Fermé
nadou
-
17 mars 2010 à 16:59
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 18 mars 2010 à 14:37
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 18 mars 2010 à 14:37
A voir également:
- Problème PHP
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
5 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
17 mars 2010 à 18:57
17 mars 2010 à 18:57
<?php //////ATTENTION cette partie de code php doit être au tout début de ta page avant toute balise HTML, ni ligne vide !!!! //sinon le header('Location..... ne marchera pas, tu auras un message d'erreur if(isset($_POST['situation'])){ //le choix a ete fait //recup du choix $situation=$_POST['situation']; //on va switcher en fct du choix switch($situation){ case 'enseignant': header('Location: membre1.php'); break; case 'enseignant': header('Location: membre.php'); break; case 'enseignant': header('Location: membre2.php'); break; } } ?> Situation: </td><td> <select name="situation" > <!-- il ne faut pas mettre d'argument value dans la balise select --> <option value="enseignant">Enseignants</option> <option value="personnel">Personnels Administratifs</option> <option value="etudiant">Etudiants</option> </select></td></tr>
dreustounet
Messages postés
21
Date d'inscription
jeudi 25 février 2010
Statut
Membre
Dernière intervention
18 mars 2010
3
17 mars 2010 à 23:19
17 mars 2010 à 23:19
Bonsoir,
le session_start(); doit être placer avant tout ligne de code !!!!!!!!!
exemple :
<?php
session_start();
.....
Sinon cela ne fonctionnera pas !
le session_start(); doit être placer avant tout ligne de code !!!!!!!!!
exemple :
<?php
session_start();
.....
Sinon cela ne fonctionnera pas !
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
18 mars 2010 à 08:52
18 mars 2010 à 08:52
il te manquait 3 accolades fermantes !
quand il y a une erruer en fin de code c'est ça en généarl: manque accolades fermantes
tu as rajouté des if sans la fin
quand il y a une erruer en fin de code c'est ça en généarl: manque accolades fermantes
tu as rajouté des if sans la fin
<?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']))) { mysql_connect ('localhost', 'root', ''); mysql_select_db ('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="'.mysql_escape_string(md5($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nombre_rep=mysql_num_rows($req); //compte le nombre de reponses $data = mysql_fetch_array($req); mysql_free_result($req); // si on obtient une réponse, alors l'utilisateur est un membre if ($nombre_rep == 1) { session_start(); //il faut mettre session start avant de charger la variable de session $_SESSION['login'] = $_POST['login']; if(isset($_POST['situation'])){ //le choix a ete fait //recup du choix $situation=$_POST['situation']; //on va switcher en fct du choix switch($situation){ case 'enseignant': header('Location: membre1.php'); break; case 'personnel': //erreur la, je n'avait pas mis le bon header('Location: membre.php'); break; case 'etudiant': //erreur la, je n'avait pas mis le bon header('Location: membre2.php'); break; } } } } } //il manquait 3 accolades ?> <html> <head> <title>Accueil</title> </head> <body> <?php include "menu1.php"; ?> <div class="art-Block"> <div class="art-Block-tl"></div> <div class="art-Block-tr"></div> <div class="art-Block-bl"></div> <div class="art-Block-br"></div> <div class="art-Block-tc"></div> <div class="art-Block-bc"></div> <div class="art-Block-cl"></div> <div class="art-Block-cr"></div> <div class="art-Block-cc"></div> <div class="art-Block-body"> <div class="art-BlockHeader"> <div class="l"></div> <div class="r"></div> <div class="art-header-tag-icon"> <div class="t">Espace Intranet</div> </div> </div><div class="art-BlockContent"> <div class="art-BlockContent-body"> <div> <table><form action="intranett.php" method="post"> <p><tr><td>Login :</td></tr> <tr><td><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td></tr> <tr><td>Mot de passe : </td></tr> <tr><td> <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></td></tr> <tr><td><input type="submit" name="connexion" value="Connexion"></td></tr> </p> <p><tr><td><a href="inscription.php" >Vous inscrire</a></td></tr> <tr><td><?php if (isset($erreur)) echo '<br /><br />',$erreur; ?></td></tr> </p> </form></table> </div> </div> </div> </div> </div> <br><br><br> </body> </html>
on n'a pas un erreur et la page s'affiche mais on cliquons sur le bouton connexion on ne trouve rien c à d il n'a y pas Access aux pages:membre.php,.....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
18 mars 2010 à 14:37
18 mars 2010 à 14:37
J'avais pas vu que tu avais SELECT COUNT donc essayes comme ça:
<?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']))) { mysql_connect ('localhost', 'root', ''); mysql_select_db ('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="'.mysql_escape_string(md5($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); //$nombre_rep=mysql_num_rows($req); //compte le nombre de reponses $data = mysql_fetch_array($req); mysql_free_result($req); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { session_start(); //il faut mettre session start avant de charger la variable de session $_SESSION['login'] = $_POST['login']; if(isset($_POST['situation'])){ //le choix a ete fait //recup du choix $situation=$_POST['situation']; //on va switcher en fct du choix switch($situation){ case 'enseignant': header('Location: membre1.php'); break; case 'personnel': //erreur la, je n'avait pas mis le bon header('Location: membre.php'); break; case 'etudiant': //erreur la, je n'avait pas mis le bon header('Location: membre2.php'); break; } } } } } //il manquait 3 accolades ?> <html> <head> <title>Accueil</title> </head> <body> <?php include "menu1.php"; ?> <div class="art-Block"> <div class="art-Block-tl"></div> <div class="art-Block-tr"></div> <div class="art-Block-bl"></div> <div class="art-Block-br"></div> <div class="art-Block-tc"></div> <div class="art-Block-bc"></div> <div class="art-Block-cl"></div> <div class="art-Block-cr"></div> <div class="art-Block-cc"></div> <div class="art-Block-body"> <div class="art-BlockHeader"> <div class="l"></div> <div class="r"></div> <div class="art-header-tag-icon"> <div class="t">Espace Intranet</div> </div> </div><div class="art-BlockContent"> <div class="art-BlockContent-body"> <div> <table><form action="intranett.php" method="post"> <p><tr><td>Login :</td></tr> <tr><td><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td></tr> <tr><td>Mot de passe : </td></tr> <tr><td> <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></td></tr> <tr><td><input type="submit" name="connexion" value="Connexion"></td></tr> </p> <p><tr><td><a href="inscription.php" >Vous inscrire</a></td></tr> <tr><td><?php if (isset($erreur)) echo '<br /><br />',$erreur; ?></td></tr> </p> </form></table> </div> </div> </div> </div> </div> <br><br><br> </body> </html>
17 mars 2010 à 21:40
<?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']))) {
mysql_connect ('localhost', 'root', '');
mysql_select_db ('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="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
$_SESSION['login'] = $_POST['login'];
session_start();
if(isset($_POST['situation'])){ //le choix a ete fait
//recup du choix
$situation=$_POST['situation'];
//on va switcher en fct du choix
switch($situation){
case 'enseignant':
header('Location: membre1.php');
break;
case 'enseignant':
header('Location: membre.php');
break;
case 'enseignant':
header('Location: membre2.php');
break;
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
<?php include "menu1.php"; ?>
<div class="art-Block">
<div class="art-Block-tl"></div>
<div class="art-Block-tr"></div>
<div class="art-Block-bl"></div>
<div class="art-Block-br"></div>
<div class="art-Block-tc"></div>
<div class="art-Block-bc"></div>
<div class="art-Block-cl"></div>
<div class="art-Block-cr"></div>
<div class="art-Block-cc"></div>
<div class="art-Block-body">
<div class="art-BlockHeader">
<div class="l"></div>
<div class="r"></div>
<div class="art-header-tag-icon">
<div class="t">Espace Intranet</div>
</div>
</div><div class="art-BlockContent">
<div class="art-BlockContent-body">
<div>
<table><form action="intranett.php" method="post">
<p><tr><td>Login :</td></tr>
<tr><td><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td></tr>
<tr><td>Mot de passe : </td></tr>
<tr><td> <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></td></tr>
<tr><td><input type="submit" name="connexion" value="Connexion"></td></tr>
</p>
<p><tr><td><a href="inscription.php" >Vous inscrire</a></td></tr>
<tr><td><?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?></td></tr>
</p>
</form></table>
</div>
</div>
</div>
</div>
</div>
<br><br><br>
</body>
</html> j ai trouvé une erreur a ce niveau !!!!!!!
17 mars 2010 à 22:12
//////ATTENTION cette partie de code php doit être au tout début de ta page avant toute balise HTML, ni ligne vide !!!!
//sinon le header('Location..... ne marchera pas, tu auras un message d'erreur
if(isset($_POST['situation'])){ //le choix a ete fait
//recup du choix
$situation=$_POST['situation'];
//on va switcher en fct du choix
switch($situation){
case 'enseignant':
header('Location: membre1.php');
break;
case 'enseignant':
header('Location: membre.php');
break;
case 'enseignant':
header('Location: membre2.php');
break;
}
}
?>
Situation: </td><td>
<select name="situation" >
<!-- il ne faut pas mettre d'argument value dans la balise select -->
<option value="enseignant">Enseignants</option>
<option value="personnel">Personnels Administratifs</option>
<option value="etudiant">Etudiants</option>
</select></td></tr>
mm ton code possede une erreur dans la fin