Redirection qui ne devrait pas exister !

Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour, bonsoir,

J'ai une page "connexion.php" avec un form qui agit sur une page "connected.php", qui contient un script de connexion, que je vous mets en dessous. Cependant lorsque je clique sur "me connecter", c'est comme si je n'étais pas renvoyé à "connected.php", je retourne simplement sur l'index du site. Pourtant il n'y a aucune redirection dans mon script !
Voici le code:


<?php
session_start();

// On se connecte à la BDD
mysql_connect("localhost", "root", "");
mysql_select_db("mabdd");


// Si les champs ne sont pas vides
if(!empty($_POST['pseudo'])) AND !empty($_POST['pass'])
{
// On définit les variables
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$pass = sha1($_POST['pass']); // On crypte le pass
$pass = mysql_real_escape_string(htmlspecialchars($pass));

$nbre = mysql_query("SELECT COUNT(*) AS exist FROM membres WHERE pseudo='$pseudo'"); // Si le pseudo existe
$donnees = mysql_fetch_array($nbre);

if($donnees['exist'] != 0) // Si le pseudo existe
{
// On fait un SELECT de l'utilisateur
$quete = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");
$infos = mysql_fetch_array($quete);

if($pass == $infos['pass']) // Si le couple pseudo / mdp est bon
{
// On crée la session
$_SESSION['pseudo'] = $_POST['pseudo'];
setcookie('pseudo', $_SESSION['pseudo'], time() + 365*24*3600, null, null, false, true);
echo 'Vous allez être redirigé, si ce n\'est pas le cas, <a href="index.php" title="accueil">cliquez ici</a>';
}

else
{
echo 'Les informations saisies sont incorrectes. <a href="connexion.php">Retourner à la page de connexion.</a>';
}
}

else
{
echo 'Ce pseudo n\'existe pas. <a href="connexion.php">Retourner à la page de connexion.</a>';
}
}

else
{
echo 'Veuillez remplir tous les champs ! <a href="connexion.php">Retourner à la page de connexion.</a>';
}
?>

Merci de m'aider !

12 réponses

Utilisateur anonyme
 
Qu'est-ce qui te permet d'affirmer qu'il y a une redirection ? Peut-être que tu ne vas jamais dans connected.php. Peut-être que connexion.php n'envoie pas vers connected.php. Peux-tu montrer le code de connexion.php ?
0
Azraka Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   13
 
Salut,

Je suis du même avis que le père, peux-tu nous monter ton script connexion.php ?
0
Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Voici connexion.php, un simple formulaire


<?php include "haut.php"; ?>

<form method="post" class="form_inscription" action="connected.php">
<p>
<label for="pseudo">
Pseudo:
</label>
<input type="text" name="pseudo"/>
</p>

<p>
<label for="pass">
Mot de passe:
</label>
<input type="password" name="pass"/>
</p>

<input type="submit" value="Connexion" style="width: 140px; float: right; margin-right: 7px; text-align: center;"/>
</form>
<?php include "bas.php"; ?>
0
Utilisateur anonyme
 
Effectivement, rien à redire au niveau de connexion.php
Par contre, quand j'essaye ton code chez moi, je n'ai aucune redirection mais un beau message d'erreur à cause d'un parenthèse mal placée dans :
if(!empty($_POST['pseudo'])) AND !empty($_POST['pass'])
Il fallait écrire :
if(!empty($_POST['pseudo']) AND !empty($_POST['pass']))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Ah oui merci :)
Tu as une idée d'où ça pourrait venir ? :/
0
Utilisateur anonyme
 
Non, car je n'y crois pas.
À ta place, je parsèmerais le code de connected.php de die("coucou1");, die("coucou2"); ... pour voir jusqu'où ça va et où ça ne va plus. Tu coinceras bien la zone qui a un problème comme ça.
Au fait, vois-tu bien l'affichage fait par "haut.php" et "bas.php" ? Car le fait que toi tu n'ais pas eu d'affichage d'erreur me laisse penser que ton script n'est pas interpreté par php.

Y a-t-il une "redirection" aussi quand tu lances directement connected.php (sans l'appeler via le formulaire) ?
0
Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour le père !
Alors oui quand je vais directement sur connected.php sans passer par le formulaire c'est comme si j'allais sur index.php !
Ensuite, oui je vois bien haut.php et bas.php, aucun soucis.
En mettant des die() de partout aucun ne s'affiche, pas même celui touttau début du code. Il semblerait en effet que la page ne soit pas interprétée par php. J'ai donc mis un texte en html avant le script php, mais idem, je me retrouve direct sur l'index sans avoir la page connected.php avec mon texte...

EDIT: Le fait que je n'ai pas eu le message d'erreur et toi si m'intrigue. J'essaye de voir d'où ça peut venir.
0
Utilisateur anonyme
 
Fais-tu tes essais en local ou en ligne?

N'y a-t-il pas un fichier .htaccess qui te jouerait des tours ?
0
Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Non tout est en local !
0
Utilisateur anonyme
 
N'as tu pas deux copie de tes fichiers, et tu ne travailles pas sur le bon exemplaire ?
Dans ton formulaire connexion.php, fais deux modifs l'une après l'autre pour mieux voir.
1 - Change le VALUE de ton bouton submit et vérifie que tu vois bien le libellé du bouton changer
2 - change le "action" du post pour une url quelconque (une inexistante, ou celle de google par exemple) pour voir ce qui se passe.
0
Ozby Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Je n'ai pas de copie, c sont les bons fichiers. Mon submit est modifié et en mettant l'adresse de google je suis dirigé vers google. Alors qu'avec connected.php ca marche pas, que ce soit un lien relatif ou absolu.
0
Utilisateur anonyme
 
Peux-tu mettre ton fichier "connected.php" (quitte à le renommer "connecetd.txt" ou "connected.jpg" ) sur cjoint.com ? Je serais curieux de voir avec un éditeur hexadécimal s'il n'y a pas des caractères invisibles ou autres bizarreries...
0