par
Hugo9568 » 05 avr. 2013, 14:10
Bonjour,
Je suis obligé de cliquer 2 fois par exemple pour me connecter (une fois inscrit) et pourtant en local le site fonctionne bien, mais une fois sur le serveur.
Le probleme est sur tous les boutons de validation de formulaire, meme sur un simple lien de déconnexion.
par exemple sur bouton "connextion" pour acceder à espace membre, je entre mon pseudo et mon password, je reste sur la meme page, mais la page s'actualise et quand je rappuis le bouton (sans les codes d'acces), j'ai les messages erreurs (veuillez rentre un pseudo et un password valide, classic et normal), mais je suis connecter sur la meme page, j'ai un message de bienvenue.
Mais testez, vous allez comprendre le probleme et j'espere aussi la solution.
et je rajoute que le site fonctionne tres bien en local et aussi quand je me déconnecte je suis redirigé vers la page membre, alors que mon fichier logout pointe sur la page accuiel
" header('location:index.php?page=accueil')".
D'avance merci pour votre aide
page index
Code : Tout sélectionner
<?php
include('functions/connect.php');
$page=htmlentities($_GET['page']);
include('functions/'.$page.'.func.php');
$pages=scandir('pages');
if(!empty($page)&& in_array($_GET['page'].".php",$pages))
{
$content='pages/'.$_GET['page'].".php";
}else{
header("Location:index.php?page=login");
}
if(isset($_SESSION['pseudo']) && $page !="membre")
{
header("Location:index.php?page=membre");
}
?>
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Partager vos sorties </title>
<meta name="description" content="Site de sorties." />
<meta name="keywords" content="partager vos sorties." />
<meta name="autor" content=" sites internet" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>ogin
<body>
<div id='content'>
<?php
include($content);
?>
</div><!-- fin content -->
</body>
</html>
Page login
Code : Tout sélectionner
<div id="content">
<p>page de connexion</p>
<?php
if(isset($_POST['submit']))
{
if(empty($_POST['pseudo']))
{
$errors[]="veuillez saisir votre pseudo";
}
if(empty($_POST['password']))
{
$errors[]="veuillez saisir un password valide";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
if(verifier_combinaison_pseudo_password($_POST['pseudo'],$_POST['password'])==0)
{
echo"<div class='error'>Pseudo ou password invalide</div>";
}else{
$_SESSION['pseudo']=$_POST['pseudo'];
header("Location:index.php?page=membre");
}
}
}
?>
<!-- Formulaire du login -->
<form method="POST" action="">
<label for="pseudo">Votre pseudo:</label>
<input type="text" name="pseudo" /><br />
<label for="password">Votre password:</label>
<input type="password" name="password" /><br />
<input type="submit" value="Se connecter" name="submit" />
</form>
<a href="index.php?page=register">Pas encore membre</a>
<div>
la function login
Code : Tout sélectionner
<?php
//function verifie la combinaison pseudo/password dans la base
function verifier_combinaison_pseudo_password($pseudo,$password)
{
$pseudo = mysql_real_escape_string(htmlentities($_POST['pseudo']));
$password = mysql_real_escape_string(htmlentities($_POST['password']));
$password = sha1($password);
$query = mysql_query("SELECT pseudo,password FROM utilisateurs WHERE pseudo='$pseudo' AND password='$password'");
$rows = mysql_num_rows($query);
return $rows;
}
?>
Bonjour,
Je suis obligé de cliquer 2 fois par exemple pour me connecter (une fois inscrit) et pourtant en local le site fonctionne bien, mais une fois sur le serveur.
Le probleme est sur tous les boutons de validation de formulaire, meme sur un simple lien de déconnexion.
par exemple sur bouton "connextion" pour acceder à espace membre, je entre mon pseudo et mon password, je reste sur la meme page, mais la page s'actualise et quand je rappuis le bouton (sans les codes d'acces), j'ai les messages erreurs (veuillez rentre un pseudo et un password valide, classic et normal), mais je suis connecter sur la meme page, j'ai un message de bienvenue.
Mais testez, vous allez comprendre le probleme et j'espere aussi la solution.
et je rajoute que le site fonctionne tres bien en local et aussi quand je me déconnecte je suis redirigé vers la page membre, alors que mon fichier logout pointe sur la page accuiel
" header('location:index.php?page=accueil')".
D'avance merci pour votre aide
page index
[code]<?php
include('functions/connect.php');
$page=htmlentities($_GET['page']);
include('functions/'.$page.'.func.php');
$pages=scandir('pages');
if(!empty($page)&& in_array($_GET['page'].".php",$pages))
{
$content='pages/'.$_GET['page'].".php";
}else{
header("Location:index.php?page=login");
}
if(isset($_SESSION['pseudo']) && $page !="membre")
{
header("Location:index.php?page=membre");
}
?>
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Partager vos sorties </title>
<meta name="description" content="Site de sorties." />
<meta name="keywords" content="partager vos sorties." />
<meta name="autor" content=" sites internet" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>ogin
<body>
<div id='content'>
<?php
include($content);
?>
</div><!-- fin content -->
</body>
</html>[/code]
Page login
[code]<div id="content">
<p>page de connexion</p>
<?php
if(isset($_POST['submit']))
{
if(empty($_POST['pseudo']))
{
$errors[]="veuillez saisir votre pseudo";
}
if(empty($_POST['password']))
{
$errors[]="veuillez saisir un password valide";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
if(verifier_combinaison_pseudo_password($_POST['pseudo'],$_POST['password'])==0)
{
echo"<div class='error'>Pseudo ou password invalide</div>";
}else{
$_SESSION['pseudo']=$_POST['pseudo'];
header("Location:index.php?page=membre");
}
}
}
?>
<!-- Formulaire du login -->
<form method="POST" action="">
<label for="pseudo">Votre pseudo:</label>
<input type="text" name="pseudo" /><br />
<label for="password">Votre password:</label>
<input type="password" name="password" /><br />
<input type="submit" value="Se connecter" name="submit" />
</form>
<a href="index.php?page=register">Pas encore membre</a>
<div>[/code]
la function login
[code]<?php
//function verifie la combinaison pseudo/password dans la base
function verifier_combinaison_pseudo_password($pseudo,$password)
{
$pseudo = mysql_real_escape_string(htmlentities($_POST['pseudo']));
$password = mysql_real_escape_string(htmlentities($_POST['password']));
$password = sha1($password);
$query = mysql_query("SELECT pseudo,password FROM utilisateurs WHERE pseudo='$pseudo' AND password='$password'");
$rows = mysql_num_rows($query);
return $rows;
}
?>[/code]