Fautes de redirection en PHP

Résolu/Fermé
maitre-gohan - Modifié par maitre-gohan le 2/12/2010 à 09:16
 maitre-gohan - 2 déc. 2010 à 12:29
Bonjour tout le monde,

J'ai un problème avec mon code PHP, lors de ma connexion, je fais une redirection si la connexion est bonne. Seulement voilà, ma redirection ne marche pas... je n'est aucune erreur, et j'ai également fais des écho partout, et il s'affiche...

Je mets mon code PHP si sa peux vous aidé ...

session_start();
require("../identifiant/bdd.php");
if(!empty($_SESSION['pseudo'])){
header("location : ../index.php");
}
if(!empty($_POST['connexion'])){
extract($_POST);
$erreur = array();

$verif = true;
if(empty($pseudo) && strlen($pseudo) < 6 ){
$verif = false;
$erreur[] = "Le pseudo est vide ou invalide";
}
$verif1 = true;
if(empty($pass) && strlen($pass) < 6 ){
$verif1 = false;
$erreur[] = "Le mot de passe est vide ou incorect";
}
if($erreur == NULL){
$salt = "2a36bd5196";
$pass = sha1($salt . $pass);
$requete = $bdd->query("SELECT * FROM membre WHERE pseudo = '" . $pseudo . "'");
$reponse = $requete->fetch();
if($pass == $reponse['pass']){
$_SESSION['active'] = true;
$_SESSION['pseudo'] = $pseudo;
header("location :../index.php");
}
}
else{
foreach($erreur as $affiche){
echo $affiche;
}
}
}
?>

Si quelqu'un c'est d'ou viens mon problème ^^ .

Merci.

Cordialement.

Edit : Je viens d'essay" dans un dossier totalement vide, j'ai juste placer header("location :../index.php"); et ben... rien du tout, aucune redirection, page blanche O_o..

A voir également:

9 réponses

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
2 déc. 2010 à 09:42
Tiens, refait les deux fichiers comme dis plus haut et colle ça dans le premier index. (Fait bien un copier/coller, recopie pas à la main)
<code><?php 
  header("location:index2.php");  
?> 
<html><body><p>Pas de redirection</p></body></html>
</code>
1
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
Modifié par Apatik le 2/12/2010 à 09:16
Bonjour,

Si je saisis bien, on a que la partie "après traitement" de la connexion là c'est ça?

Si on a créé une variable de session, on rebalance sur l'index, sinon on fait les tests et on connecte?

Déjà tes tests m'ont l'air foireux:
if(empty($pseudo) && strlen($pseudo) < 6 )

Si $pseudo est vide ET $pseudo compte moins de 6 caractères.

Ca devrait pas être un OU ?

Sinon, est-ce que tu as du HTML avant ce code?
La fonction "header" doit être placé avant tout HTML.
Live free, learn free, help free, Happy Hacking!
Plus que tout en informatique, l'erreur est humaine.
0
Merci pour ta réponse, en effet, mes condition sont foireuse :D, je vais les modifier tout de suite, de plus je n'est aucun code, avant le code PHP... j'ai également editer mon premier post, j'ai fais un test sur une page vierge de faire une redirection, mais rien ne se passe...

Cordialement Maitre-gohan
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
2 déc. 2010 à 09:25
Bon, bein ça veux dire que j'ai pas tout perdu ^^.

Ton fichier, c'est l'index.php? Essaie ça comme code:
<?php
  header("location :index2.php"); 
?>
<html><body><p>Pas de redirection</p></body></html>

et tu fais un index2.php avec
<html><body><p>Redirection ok</p></body></html>


J'ai un doute sur l'adresse de redirection en fait...
0

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

Posez votre question
Je viens d'éssayé, j'ai mis les deux fichiers dans le même dossier, et sa me marque, pas de redirection...
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
2 déc. 2010 à 09:29
Quel navigateur? Il bloquerai pas les redirections par hasard?
Sinon, Php autorise la fonction header? (je cherche où trouver ça desuite)
0
J'ai déjà tester sous chrome, sous IE, et sous FF....
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
2 déc. 2010 à 09:38
Ok, donc déjà t'as un bug de IE 5.5 qui ne prend pas cette redirection. Mais c'est pas ça. J'ai vu un sujet où un type ne pouvait pas faire cette redirection à cause de la configuration du serveur qu'il louait. T'es en local?
Je cherche qu'est-ce qu'il faut modifier pour bloquer ou non l'accès à la modif des header de PHP si jamais tu tourne en local.
Serveur Apache je présume?
0
Tout a fais ^^ , je suis en local, serveur apache...
0
Sa marche, j'ai éssayé avec ton code, et je l'ai comparer au mien, c'est juste parce que j'avais des espace dans le header ...

Merci beaucoup.

Cordialement
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
2 déc. 2010 à 12:28
Exact, en fait c'était un bête problème de synthaxe:

Les headers ne doivent contenir strictement aucun espace.

Bon courage pour la suite =)
0
Merci ^^ ... Je ne savais pas ca ^^
0