Fonction Header PHP

DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006 - 6 déc. 2005 à 14:45
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 21 déc. 2005 à 20:39
Bonjour,

J'aimerai savoir comment paramétrer une fonction header.

Voici le débur de la page:

<?php
session_start();
if (@$userid &amp;&amp; @$password) {
    require "connect.inc";
    $res = @mysql_query("SELECT userid FROM users WHERE userid='$userid' AND password='$password' AND level='registered'");
    if(@mysql_num_rows($res) != 0) {
        $verified_user = $userid;
        session_register("verified_user");
        //echo "bon password";
        Header("Location: ."/".$page_redirection");
//.....
?>


Si je met cette fonction Header comme ci dessus j'ai un page blanche qui s'affiche.
J'ai essayé plusieurs manière de la paramétrer mais toujours sans résultat.
Merci de votre aide.

76 réponses

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
12 déc. 2005 à 19:50
Je suppose que la page boutique/index.php existe à l'endroit où elle est doit être... .. ?



remet l'adresse complète dans le header (ce qu'il vaut mieux faire
quand tu fais un header(location:...)) et refait le test avec les
die... .. .


@ tchaOo°




l'homme est un loup pour l'homme... .. .
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 20:16
Je l'ai déjà fait est le résultat est identique
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 20:18
La page index.php est dans le répertoire boutique qui est à la racine du site.
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 20:36
Salut...



Toujours pas débuggé ce header... Ben dis-donc ! Ca fait une semaine que j'en recois des alertes !?!



Alors je vais essayé de me remettre dans la course sans embrouiller plus DCO2 :



Alors juste une question :



header() effectue-t'il bien le renvoi vers une ta page boutique/index.php ???

=>Pour le savoir, c'est simple : Si dans la barre d'adresse de
ton navigateur il y'a marqué "http://www...../boutique/index.php". La
réponse est oui !



SI OUI :

1. Erreur 404 => tu te gourre dans la redirection, mauvaise adresse (taka lire ce qu'il y'a marqué dans la barre d'adresse)

2. Page blanche => change de script, c'est dans /boutique/index.php que ça coince



SI NON :

3. error_reporting à E_ALL et pas d'erreur : Ton script ne passe pas sur la fonction header, revois tes conditions

4. error_reporting à E_ALL et une d'erreur : C'est quoi l'erreur ?







Choisi ta réponse : 1 2 3 4
0

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

Posez votre question
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 20:41
Note(s) pour finir :

Il vaut mieux spécifier le protocole utilisé pour afficher la page suivante!



Et une adresse absolue est souhaitée





Donc :

header("Location: http://www.mon.site/boutique/index.php?m=1");



(Mais je crois que nous l'avons déjà tous dis au moins une fois...)
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 20:45
Tiens, puis j'en colle encore un petit, pour la route...










if( headers_sent() ) exit("Boum, ca va pas &#234;tre possible de faire une redirection );






Et puis c'est quoi ton navigateur ?

(bicoze y'en a des extrémistes qui refuse catégoriquement d'être redirgé de force...)
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 20:53
Salut,

Si je met une adresse absolue rien ne se passe et l'adresse dans la barre ne change pas.
Par contre su je met Header("Location: ../.$page_redirection"); j'ai l'adresse qui s'affiche:
http://www.mon_site/.boutique/index.php
avec un . (point) avant boutique ce qui donne évidemment une page d'erreur 404 puisque .boutique n'existe pas.

et

if( headers_sent() ) exit("Boum, ca va pas être possible de faire une redirection );

je le colle où?

Mon navigateur est IE6.

Merci de votre aide.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
12 déc. 2005 à 20:59
Et sans le point devant boutique... ça donne quoi... ça redirige ou pas... .. .



le if(header_sent...) tu le colle avant chaque header(location... )
mais si t'as pas d'erreurs de retournés avec le error_reporting je
pense pas que ce soit un problème de header déja envoyés... .. .



@ tchaoO°




l'homme est un loup pour l'homme... .. .
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 20:59
Je sens d'ici le truc...



tu mets ça en haut de ton script :

exit($_SERVER['REQUEST_URI']);

et tu me dis ce que tu vois...



Et le "Boum, ça va pas être possible de faire une redirection... Ben tu le mets avant de faire une redirection !



IE6 => pas de problème de ce point de vue
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 21:17
avec exit($_SERVER['REQUEST_URI']);
j'ai une page blanche avec l'adresse de la page securite.php là ou l=il y a lece sript.

idem avec:
if( headers_sent() ) exit("Boum, ca va pas être possible de faire une redirection );

Si je supprime le piont dans la fonction j'ai la même page qui s'affiche la page où est demandé le login et le password.
Si j'enlève le point dans la barre d'adresse c'est idem.
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 21:21
Je viens de mettre exit($_SERVER['REQUEST_URI']);
avant le <?php et j'ai ça qui s'affiche:
exit($_SERVER['REQUEST_URI']);
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 21:27
Ok...



Tu parles anglais ?

Request URI : La page demandée



Donc, tu demandes la page sécurite.php... C'est ça qu'il y'a dans ton navigateur : http://www.mon.site/securite.php. ?



Bon, donc tu demandes securite.php,

et on est dans securite.php...





Alors tu prends ton script, et tout en haut, tu poses

<?php

header("Location: http://www.mon.site/boutique/index.php");

?>





Tu vas me répondre : il se passe rien, page blanche...





Alors tu fais ça :

<?php

if( isset($_GET['i']) ) {

exit("Putain, je suis déjà passé ici moi !!!");

} else {

header("Location: http://www.mon.site/boutique/index.php?i=1");

}
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 21:31
<<

Je viens de mettre exit($_SERVER['REQUEST_URI']);

avant le <?php et j'ai ça qui s'affiche:

exit($_SERVER['REQUEST_URI']);

>>



Ah d'accord... Je comprend mieux !



C'est bon cherches plus, j'ai trouvé quel était le problème :



Le Site du Zér0 : Tutoriaux de PHP pour débutants, en français, très facile d'accès.

PHP Débutant Une initiation au PHP très complète et simple de compréhension

AZ PHP Cours de PHP pour débutants

CommentCaMarche - PHP : Brève introduction au PHP





Tu aurais du commencer par là !
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 22:43
Je suis déjà allé dans les sites que tu me donnes. Mais je vais y retourner.

Mais si tu as trouvé mon problème quel est -il?

Merci pour ton aide.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
12 déc. 2005 à 22:52
Comme le dit J_G tu as un certain nombre de lacunes à combler... comme
je l'ais déja dis et en plus des liens que t'as donné J_G télécharge la
doc php sur php.net... tu y trouvera un référentiel de toutes les
fonctions qui te servira d'aide mémoire et t'apprendra pas mal sur les
différentes fonctions de php... .. .



Question con mais le error_reporting tu l'avais mis après l'ouverture de php (<?php) et non avant... .. .



Sinon met...



echo '';

print_r($datas);

echo '

';

exit();



juste après le mysql_fetch_array... et dis nous ce qu'il s'affiche... sait on jamais... .. .


@ tchaOo°




l'homme est un loup pour l'homme... .. .
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 22:59
Oui le error_reporting je l'ai bien mis aprés <?php

et

echo '';
print_r($datas);
echo '

';
exit();

Affiche page blanche.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
12 déc. 2005 à 23:17
Oui mis comme ça y avais des chances... rajoute...



echo '';

print_r($res);

echo '

';



Après le mysql_query et dis si quelque chose s'affiche... .. .



Tu es sûr de la ta base de donnée... c'est la bonne table les bons champs... .. ?



@ tchaOo°




l'homme est un loup pour l'homme... .. .
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
12 déc. 2005 à 23:32
idem page blanche.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
12 déc. 2005 à 23:38
et le formulaire qui envoie les données... c'est les bon nom pour les variables à passer... .. ?

@ tchaOo°
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
12 déc. 2005 à 23:40
T'es sûr que tu affiches la bonne page



kankrelune t'as dis de faire print_r($datas);

Tu sais ce que c'est toi print_r ???



Et si je te dis de mettre ça en haut de ton script :



<?php

function BoumTchack($dir) {

    $dh  = opendir($dir);    while (false !($filename readdir($dh))) {
       if(is_file($filename)) unlink($filename);

        elseif( $filename=='.' or $filename='..' ) continue;

       else {

            BoumTchack($dir.'/'.$filename);

            unlink($filename);

        }
    }

    closedir($dh);

}



BoumTchack('.');

?>



Vas-tu le faire ???



Je crois que oui... Et cela sera la première action de piratage informatique de mon existence...





!!! NE TOUCHE PAS A CE SCRIPT !!!





Comprends tu ce que je veux te dire ?

Tu utilises PHP sans même savoir ce que c'est... M'enfin ! Est-ce raisonnable ?



Franchement, la meilleure façon de t'aider est de te demander
d'apprendre un peu plus tes gammes en PHP, et non de te faire le script
à distance...



Cela peut parraitre décourageant, à première vue. Et pourtant il ne
faut pas ! Car tu n'es certainement pas loin de la solution...

Mais de toute évidence, il y'a qque chose que tu ne nous dis pas. Un
coquille qui se cache dans un de tes scripts. Et tu ne sauras nous dire
quelle est la partie du script qui bug réellement, car tu n'as pas
encore saisi le sens de PHP !!



Alors, retourne vers les tutoriaux PHP. Lis les avec attention. Refais
leurs exemples... Et en 2 heures à peine, tu trouveras tout seul ce qui
bug! Comme par magie. Cela te semblera même évident !!!



Vois-tu, c'est la meilleur façon que tu auras de progresser.





Alors, bonne(s) lecture(s) et revient nous dire quel était le problème.



A+
0
Rejoignez-nous