PHP et redirect
Résolu
kenshin24
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
kenshin24 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
kenshin24 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour s'implifier et unifier toutes mes connexions à ma BD MySQL, j'ai décidé de créer un fichier "connexion.php" et de faire un include dans chacune de mes pages qui vont utiliser la BD. Même s'il n'y a pas aucun lien vers ce fichier, il est toujours possible d'y accéder en tapant l'adresse directement. Comme ça donne une page web vide, je veux faire une redirection vers la page principale pour éviter de tomber sur une page blanche.
Dans ma page, j'ai fais un echo de ça :
"<html><head><meta HTTP-EQUIV=\"REFRESH\" content=\"0; url=monUrl"></head></html>"
comme il est fait en HTML pour faire des redirections.
Le problème c'est qu'à chaque fois qu'une page fait le include du fichier PHP, il fait la redirection, donc des boucles de reload car ma page principale utilise le "connexion.php".
Est-ce qu'il existe un autre moyen !?
Merci!
Pour s'implifier et unifier toutes mes connexions à ma BD MySQL, j'ai décidé de créer un fichier "connexion.php" et de faire un include dans chacune de mes pages qui vont utiliser la BD. Même s'il n'y a pas aucun lien vers ce fichier, il est toujours possible d'y accéder en tapant l'adresse directement. Comme ça donne une page web vide, je veux faire une redirection vers la page principale pour éviter de tomber sur une page blanche.
Dans ma page, j'ai fais un echo de ça :
"<html><head><meta HTTP-EQUIV=\"REFRESH\" content=\"0; url=monUrl"></head></html>"
comme il est fait en HTML pour faire des redirections.
Le problème c'est qu'à chaque fois qu'une page fait le include du fichier PHP, il fait la redirection, donc des boucles de reload car ma page principale utilise le "connexion.php".
Est-ce qu'il existe un autre moyen !?
Merci!
A voir également:
- PHP et redirect
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- 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
- Alert php - Forum PHP
28 réponses
Je n'ai plus de redirection en boucle, mais j'obtient un gros warning dans mes autres pages :
Warning: Cannot modify header information - headers already sent by (output started at /home/content/k/e/n/kenshin24/html/index.php:20) in /home/content/k/e/n/kenshin24/html/connexion.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at /home/content/k/e/n/kenshin24/html/index.php:20) in /home/content/k/e/n/kenshin24/html/connexion.php on line 8
Pourtant, j'ai seulement ajouter le bout de code que tu m'as donné un peu plus haut. Je fais aucun accès à des cookies ou des sessions dans tout le site.
Merci
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ah oui c'est vrai
Que du code php avant les headers
Car une fois que tu envoie du code HTML ou JavaScript le Server passe dans la phase "lecture" il considere qu'il a tous les headers pour cette page
Que du code php avant les headers
Car une fois que tu envoie du code HTML ou JavaScript le Server passe dans la phase "lecture" il considere qu'il a tous les headers pour cette page
Ok, pas de code disont... pour des fonctions ou autre. Car j'ai du code PHP à l'intérieur de mon code HTML, mais c'est pour populer des listes de nouvelles ou autres éléments semblables.
Par contre, j'ai retrouver ma boucle infinie, même Firefox l'a trouvée cette fois.
Peut-être que ce que je demande n'est pas possible, que je suis trop paranoiaque. ;-) =)
Merci
Par contre, j'ai retrouver ma boucle infinie, même Firefox l'a trouvée cette fois.
Peut-être que ce que je demande n'est pas possible, que je suis trop paranoiaque. ;-) =)
Merci
non ce n'est pas impossible
en fait si j'ai bien compris, tu veux créer une page qui te permette de te connecter à ta base de donnée et d'utilser des requetes, puis de l'inclure dans tout tes pages??
en fait si j'ai bien compris, tu veux créer une page qui te permette de te connecter à ta base de donnée et d'utilser des requetes, puis de l'inclure dans tout tes pages??
En gros c'est ça. La page contient seulement les infos nécessaires à la connexion (username, password et hôte).
Je suis capable de l'inclure sans problème.
Par contre, si je fais http://www.domaine.com/connexion.php, ça me renvoit une page blanche vide. Je veux éviter ça en faisant une redirection.
Merci
Je suis capable de l'inclure sans problème.
Par contre, si je fais http://www.domaine.com/connexion.php, ça me renvoit une page blanche vide. Je veux éviter ça en faisant une redirection.
Merci
Au début oui, quand j'avais le message de Warning de PHP qui ne pouvait modifier le warning. Ensuite, j'ai déplacé mon include au début de la page avec n'importe quelle balise HTML. Dans cette situation, j'ai une boucle infinie de redirection.
Ahhhh,
c'est normal: dans ta page principale tu tente d'inclure ta page connexion.php qui te redirige vers ta page principale, donc tu inclut ta page principale qui inclut connexion.php qui te redirige vers ta page principale et ainsi de suite...
Donc tu ne peux pas faire un header dans connexion.php vers ta page principale. Le mieux serai de creer une page erreur.php qui te dirai "cette page n'exite pas" et tu redirige connexion.php vers cette page.
mais en fesant un include tu "incluera" cette page dans la tienne. Et ce n'est pas ce que tu veux je presume.
Donc utilise: require_once('connexion.php'); qui chargera ton code php
c'est normal: dans ta page principale tu tente d'inclure ta page connexion.php qui te redirige vers ta page principale, donc tu inclut ta page principale qui inclut connexion.php qui te redirige vers ta page principale et ainsi de suite...
Donc tu ne peux pas faire un header dans connexion.php vers ta page principale. Le mieux serai de creer une page erreur.php qui te dirai "cette page n'exite pas" et tu redirige connexion.php vers cette page.
mais en fesant un include tu "incluera" cette page dans la tienne. Et ce n'est pas ce que tu veux je presume.
Donc utilise: require_once('connexion.php'); qui chargera ton code php
Donc tu fais un header ( "Location: ./erreur.php" ); dans connexion.php apres tes parametres php
et tu met require_once('connexion.php'); dans ta page principale dans le code php ou tu en a besoin
et tu met require_once('connexion.php'); dans ta page principale dans le code php ou tu en a besoin
Hum, j'ai bien ajouter le fichier erreur.php. J'ai modifier le fichier connexion.php pour que la fonction header() pointe vers erreur.php. Par contre, j'ai toujours l'erreur dans mon fichier principal comme quoi je ne peux pas changer les informations du header :
Warning: Cannot modify header information - headers already sent by (output started at /home/content/k/e/n/kenshin24/html/index.php:24) in /home/content/k/e/n/kenshin24/html/connexion.php on line 8
Merci
Warning: Cannot modify header information - headers already sent by (output started at /home/content/k/e/n/kenshin24/html/index.php:24) in /home/content/k/e/n/kenshin24/html/connexion.php on line 8
Merci