Fautes de redirection en PHP
Résolu
maitre-gohan
-
maitre-gohan -
maitre-gohan -
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..
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:
- Fautes de redirection en PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- L'url suivante, censée aboutir à un article, donne lieu à une redirection indiquant que la page n'a pas été trouvée. retrouvez la page recherchée. reportez le titre de l’article et son auteur. - Forum Microsoft Edge / Internet Explorer
- Redirection de mail - Guide
9 réponses
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>
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:
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.
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.
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
Cordialement Maitre-gohan
Bon, bein ça veux dire que j'ai pas tout perdu ^^.
Ton fichier, c'est l'index.php? Essaie ça comme code:
et tu fais un index2.php avec
J'ai un doute sur l'adresse de redirection en fait...
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...
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...
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?
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?
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
Merci beaucoup.
Cordialement