Header(location ) // javascript
sarah4794
Messages postés
80
Statut
Membre
-
jordane45 Messages postés 40051 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40051 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Jai un petit soucis quant au code suivant:
en fait dans ma page espace_candidat.html je n'arrive pas a recuperer le $user.
il n'est pas renseigne apparement.
j'utilise le javascript dans ce cas car le header(location )ne marche pas du tout
merci pour votre aide
Jai un petit soucis quant au code suivant:
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
/* Redirection vers la page d'accueil */
echo "<script
type='text/javascript'>document.location.replace('espace_candidat.html');</script>";
}
} else {
echo'<script language="javascript"> alert("Login ou mot de passe invalide!")</script>';
}
en fait dans ma page espace_candidat.html je n'arrive pas a recuperer le $user.
il n'est pas renseigne apparement.
j'utilise le javascript dans ce cas car le header(location )ne marche pas du tout
merci pour votre aide
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Header location js
- Logiciel location saisonniere - Forum Gestion de parc
- 400 bad request request header or cookie too large - Forum Windows
- Js/packed.agent.n ✓ - Forum Virus
- Logiciel location materiel - Forum Logiciels
- Location history - Accueil - Transports & Cartes
4 réponses
Bonjour,
espace_candidat.html ??
Renomme donc ta page en .php
Puis.. dans cette page... penses bien à y mettre également un
et enfin... pourquoi faire une redirection en javascript alors qu'en php il exise
espace_candidat.html ??
Renomme donc ta page en .php
Puis.. dans cette page... penses bien à y mettre également un
session_start();.
et enfin... pourquoi faire une redirection en javascript alors qu'en php il exise
header('location:tapage.php');
j'ai change mon fichier espace_candidat.html en espace_candidat.php
et y'avait deja un session_start();
pour ce qui est du javascript, je l'utilise parceque header ne marche pas..
j'ai essaye a nouveau avec header et lorsque je clique sur connexion ma page s'arrete
et y'avait deja un session_start();
pour ce qui est du javascript, je l'utilise parceque header ne marche pas..
j'ai essaye a nouveau avec header et lorsque je clique sur connexion ma page s'arrete
voici le script de la page login.php
et voici mnant le script de la page espace_candidat
<!doctype html>
<html>
<head>
<div data-role="header">
<!-- chargement des scripts -->
<link rel="stylesheet" href="jquery.mobile-1.4.2/jquery.mobile-1.4.2.css">
<script src="jquery.mobile-1.4.2/jquery-1.10.2.js"></script>
<script src="jquery.mobile-1.4.2/jquery.mobile-1.4.2.js"></script>
</head>
<body>
<div data-role="content">
<center><h1>Connexion</h1></center>
<form action="" method="POST">
Login: <input type="text" name="user"><br />
Password: <input type="password" name="pass"><br />
<input type="submit" value="connexion" name="submit" />
<center>
<p>Pas encore inscrit ?</p>
<p><a href="register.php" data-transition="flip">S'inscrire</a> </p>
</center>
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])) {
$user=$_POST['user'];
$pass=$_POST['pass'];
$con=mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('dev_mob_base') or die("cannot select DB");
$query=mysql_query("SELECT * FROM utilisateur WHERE login='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['login'];
$dbpassword=$row['password'];
}
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
/* Redirection vers la page d'accueil */
header('location: espace_candidat.php');
}
} else {
echo'<script language="javascript"> alert("Login ou mot de passe invalide!")</script>';
}
} else {
echo'<script language="javascript"> alert("tous les champs sont obligatoires!")</script>';
}
}
?>
</body>
</html>
et voici mnant le script de la page espace_candidat
<?php
session_start();
if(!isset($_SESSION["sess_user"])){
header("location:login.php");
} else {
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Espace Candidat</title>
<!-- chargement des scripts -->
<script type="text/javascript" src="scr/jquery.js" ></script>
<script type="text/javascript" src="scr/jquery-ui.js"></script>
<script type="text/javascript" src="scr/jquery.spasticNav.js"></script>
<style type="text/css">
<!-- Style pour la barre de menu-->
#container {width: 850px; margin-left: 150px;}
ul, li {margin: 5; padding: 0;}
#blob { border-right: 1px solid #0059ec; border-left: 1px solid #0059ec; position: absolute; top: 0; z-index : 1;
background: #0b2b61;
background: -moz-linear-gradient(top, #0b2b61, #1153c0);
background: -webkit-gradient(linear, left top, left bottom, from(#0b2b61), to(#1153c0));
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-moz-box-shadow: 2px 3px 10px #011331;
-webkit-box-shadow: 2px 3px 10px #011331;
}
#nav { position: relative; background: #292929; float: left; margin-left:83px;margin-top:50px}
#nav li { float: left; list-style: none; border-right: 1px solid #4a4a4a; border-left: 1px solid black;}
#nav li a { color: #e3e3e3; position: relative; z-index: 2; float: left; font-size: 22px; font-family: helvetica, arial, sans-serif; text-decoration: none; padding: 10px 35px;}
</style>
</head>
<body bgcolor="#40A497">
<center>
<h1>Votre Espace Candidat</h1>
</center>
<!-- Emplacement du menu -->
<div id="container">
<ul id="nav">
<li id="selected"><a href="accueil_principal.php">Accueil</a></li>
<li><a href="register.php">Creer un compte</a></li>
<li><a href="login.php">Se connecter</a></li>
<li><a href="modif_compte.php">Modifier son compte</a></li>
<li><a href="">Gerer ses posts</a></li>
</ul>
</div>
<!-- Initialisation de la fonction du menu -->
<script type="text/javascript">
$('#nav').spasticNav();
</script>
</body>
</html>
<?php
}
?>
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
Prends l'habitude de placer ton php AVANT le html.
Récupères également proprement les variables AVANT de les utiliser
page espace_candidat.php
- Ton Else ne servait à rien.
- Là encore, récupère proprement les variables AVANT de les utiliser.
- Tu peux faire un peu de debug pour voir si les variables sont bonnes.
NB: tu utilises l'ancienne extension mysql .. je t'invite fortement à passer à mysqli ou (je préfère...) PDO.
NB² : **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Cordialement,
Jordane
Récupères également proprement les variables AVANT de les utiliser
<?php
//démarrage des session à mettre EN TOUT PREMIER !
session_start();
//connexion à la BDD
$con=mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('dev_mob_base') or die("cannot select DB");
//récupération "propre" des variables
$user = !empty($_POST['user']) ? $_POST['user'] : NULL;
$pass = !empty($_POST['pass']) ? $_POST['pass'] : NULL;
if(isset($_POST["submit"])){
if($user && $pass) {
$query=mysql_query("SELECT * FROM utilisateur WHERE login='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0) {
$_SESSION['sess_user']=$user;
/* Redirection vers la page d'accueil */
header('location: espace_candidat.php');
}else{
echo'<script language="javascript"> alert("Login ou mot de passe invalide!")</script>';
}
}else {
echo'<script language="javascript"> alert("tous les champs sont obligatoires!")</script>';
}
}
?>
<!doctype html>
<html>
<head>
<!-- chargement des scripts -->
<link rel="stylesheet" href="jquery.mobile-1.4.2/jquery.mobile-1.4.2.css">
<script src="jquery.mobile-1.4.2/jquery-1.10.2.js"></script>
<script src="jquery.mobile-1.4.2/jquery.mobile-1.4.2.js"></script>
</head>
<body>
<div data-role="content">
<center><h1>Connexion</h1></center>
<form action="" method="POST">
Login: <input type="text" name="user"><br />
Password: <input type="password" name="pass"><br />
<input type="submit" value="connexion" name="submit" />
<center>
<p>Pas encore inscrit ?</p>
<p><a href="register.php" data-transition="flip">S'inscrire</a> </p>
</center>
</form>
</div>
</body>
</html>
page espace_candidat.php
- Ton Else ne servait à rien.
- Là encore, récupère proprement les variables AVANT de les utiliser.
- Tu peux faire un peu de debug pour voir si les variables sont bonnes.
<?php
session_start();
//le temps des tests... debug des variables de session
print_r($_SESSION);
//récupération "propre" des variables :
$sess_user = !empty($_SESSION["sess_user"]) ? $_SESSION["sess_user"] : NULL;
if(!$sess_user){
header("location:login.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Espace Candidat</title>
<!-- chargement des scripts -->
<script type="text/javascript" src="scr/jquery.js" ></script>
<script type="text/javascript" src="scr/jquery-ui.js"></script>
<script type="text/javascript" src="scr/jquery.spasticNav.js"></script>
<style type="text/css">
<!-- Style pour la barre de menu-->
#container {width: 850px; margin-left: 150px;}
ul, li {margin: 5; padding: 0;}
#blob { border-right: 1px solid #0059ec; border-left: 1px solid #0059ec; position: absolute; top: 0; z-index : 1;
background: #0b2b61;
background: -moz-linear-gradient(top, #0b2b61, #1153c0);
background: -webkit-gradient(linear, left top, left bottom, from(#0b2b61), to(#1153c0));
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-moz-box-shadow: 2px 3px 10px #011331;
-webkit-box-shadow: 2px 3px 10px #011331;
}
#nav { position: relative; background: #292929; float: left; margin-left:83px;margin-top:50px}
#nav li { float: left; list-style: none; border-right: 1px solid #4a4a4a; border-left: 1px solid black;}
#nav li a { color: #e3e3e3; position: relative; z-index: 2; float: left; font-size: 22px; font-family: helvetica, arial, sans-serif; text-decoration: none; padding: 10px 35px;}
</style>
</head>
<body bgcolor="#40A497">
<center>
<h1>Votre Espace Candidat</h1>
</center>
<!-- Emplacement du menu -->
<div id="container">
<ul id="nav">
<li id="selected"><a href="accueil_principal.php">Accueil</a></li>
<li><a href="register.php">Creer un compte</a></li>
<li><a href="login.php">Se connecter</a></li>
<li><a href="modif_compte.php">Modifier son compte</a></li>
<li><a href="">Gerer ses posts</a></li>
</ul>
</div>
<!-- Initialisation de la fonction du menu -->
<script type="text/javascript">
$('#nav').spasticNav();
</script>
</body>
</html>
NB: tu utilises l'ancienne extension mysql .. je t'invite fortement à passer à mysqli ou (je préfère...) PDO.
NB² : **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Cordialement,
Jordane
J'ai implémenté votre code en changeant les miens mais toujours rien, la page login s'arrete lorsque je clique sur connexion.
sauf que j'ai remarque une chose a l'affichage seul de la page candidat je vois que la variable user est deja renseignee
ne croyez vous pas que le probleme de connexion existe car il ya deja un utilisateur connecte? Normalement la nouvelle connexion devrait juste ecrasee l'ancienne a mon avis
dans vos scripts jai pas compris ces lignes
$sess_user = !empty($_SESSION["sess_user"]) ? $_SESSION["sess_user"] : NULL;
sauf que j'ai remarque une chose a l'affichage seul de la page candidat je vois que la variable user est deja renseignee
ne croyez vous pas que le probleme de connexion existe car il ya deja un utilisateur connecte? Normalement la nouvelle connexion devrait juste ecrasee l'ancienne a mon avis
dans vos scripts jai pas compris ces lignes
$sess_user = !empty($_SESSION["sess_user"]) ? $_SESSION["sess_user"] : NULL;