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

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
6 déc. 2005 à 14:59
Biiiiiiiip ! Ouvre les yeux...





Header("Location: ."/".$page_redirection");





Non seulement t'as une page blanche, mais en plus une belle erreur.



Comment veux-tu que PHP comprennet ton bins de guillements et de points ?



Soit tu fais :

header("Location:/$page_redirection");

ou

header('Location:/'.$page_redirection);

ou

header("Location:/".$page_redirection);

ou

header("L".'oc'."ati".'o'.""."n:"."/"."$page_redirection");



Comprends-tu ton erreur ?
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
6 déc. 2005 à 15:48
Il faut un espace entre Location: et le lien de ta page au passage :)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 déc. 2005 à 18:09
et entre nous, normalement, l'adresse doit être complète...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
6 déc. 2005 à 18:53
Bonsoir à tous,

J'ai mis

Header("Location: ../".$page_redirection);

et ça ne fonctionne toujours pas. Pourquoi?

Merci de votre aide.
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
6 déc. 2005 à 18:54
fait comme coucou747 te dis :



! ADRESSAGE ABSOLUE !
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
6 déc. 2005 à 18:57
Suite pour plus d'information

Ce fichier require "connect.inc";

qui comme suit:

<?
// DEBUT - Reglages
$db_host="00.000.000.000"; // Adresse de la base de données
$db_user="XXXX"; // Username (pour la base de données)
$db_pass="XXXXX"; // Password (pour la base de données)
$db="XXXX"; // Nom de la base de données
$site_name="XXXX"; // Nom de votre site
$serveur="XXXXX"; // Adresse de votre serveur
$mail_controle=1; // 1 si vous voulez recevoir un mail lors de l'inscription d'un membre (0 sinon)
$adresse_webmaster="XXXXXX Adresse mail du webmaster
$validite=3600*24*7; // Durée avant laquelle on doit valider son inscription en secondes
$page_redirection="index.php";// Page sur laquelle on atterit après s'être loggué.
// FIN - REGLAGES
mysql_connect($db_host,$db_user,$db_pass) or die("Unable to connect to database");
mysql_select_db($db) or die("Unable to select database");
?>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 déc. 2005 à 18:57
même avec le protocol !

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
6 déc. 2005 à 19:00
OK mais quand je met l'adresse complète comme ceci:

Header("Location: http://www.mon-site.com/boutique/index.php);

J'ai la même erreur.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 déc. 2005 à 19:08
tu le fais exprès ????



et les ', c'est pour les chiens ??





Header('Location: http://www.mon-site.com/boutique/index.php');

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
6 déc. 2005 à 19:13
Excuse faute de frappe mais le résultat est le même, la page demandée ne s'affiche pas
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
7 déc. 2005 à 01:34
tu as error_reporting à 0 ou pas... .. ?


l'homme est un loup pour l'homme... .. .
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 déc. 2005 à 14:38
header c'est avec un petit h. C'est plus jolie :p

"$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");"

Tfacon il va revenir avec une autre erreur ...$verified_user $userid; ? Mais il sort d'ou ton userid ? De ta DB ??>>>> mysql_fetch_row() / mysql_fetch_array() / mysql_fetch_assoc() pour récupérer des données de SQL !
session_register() // On utilise $_SESSION[] dorénavant :)

Ton header() est bon pourtant... met ton header en commentaire et fait un :
die('Ca marche');
Si c'est écrit : 'Ca marche', c'est que t'as un pb quelque part ...
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
7 déc. 2005 à 15:58
Bonjour à tous,

1 réponse à Kankrelune: Je n'ai pas d'erreur marquée mais lapage de connection reviens toujours au même endroitet le client doit de nouveau entrer son Nom et son password.

2 réponse à FhX: Je vais essayer dés ce soir ton die('ça marche');
et pour session_register("verified_user"); je le met comment?
Le userid vient de la base sur laquelle le client s'est enregistrer via un formulaire.

Merci pour votre aide et votre patience.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 déc. 2005 à 16:58
"Le userid vient de la base sur laquelle le client s'est enregistrer via un formulaire."

Regarde dans la doc de PHP => mysql_fetch_array();
Tu va comprendre ce que je dis :)
(nan je te la donne : http://fr2.php.net/manual/fr/function.mysql-fetch-array.php )

"et pour session_register("verified_user"); je le met comment?"
$_SESSION[];
( http://fr2.php.net/manual/fr/ref.session.php )

Tu as tout pour réussir !
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
7 déc. 2005 à 21:03
Bonsoir,

Je viens d'essayer le die('ça marche'); et j'ai eu le message ça marche.
Lorsque j'ai cliqué sur le bouton précédent de mon navigateur (IE6) la page demandée c'est affichée.
Maintenant je vais aller voir la doc que tu m'as indiquée.
Merci de ton aide.
0
DCO2 Messages postés 56 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 3 avril 2006
7 déc. 2005 à 21:38
Rebonsoir,

Il y a un truc qui me parait bizare (Vous avez dit bizare!!!).
Je m'explique.
J'ai essayé plusieurs façon de mettre la: session_register("verified_user");

1- j'ai mis $session_register("verified_user"); avec le $ devant
la j'ai une page blanche

2- j'enlève le $ devant la session et la ça marche.

Je sort d'internet et relance mon site et clique sur le lien qui ouvre la page de connection j'entre mon user et password et la ça ne marche plus.
Je refais le même manip citée prédédemment et un coup ça fonctionne et un coup ça ne fonctionne plus.

D'où cela peut-il venir?
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
8 déc. 2005 à 13:30
FhX t'as dit de ne pas utiliser session_register('verified_user'); mais $_SESSION['verified_user'] = tavaleur;



@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
8 déc. 2005 à 13:33
Ah oui au fait... met error_reporting(E_ALL); au début de la page qui
déconne et regarde si y apas des erreurs ou des notices qui
s'affichent... .. .



@ 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
8 déc. 2005 à 16:56
Salut,

J'ai mis $_SESSION['verified_user'] = $userid; ça ne fonctionne pas et en plus j'ai une page blanche

Ensuite j'ai mis error_reporting(E_ALL); au début de la page rien se s'est affiché.

Je remet ici le code de cette page dans laquelle j'ai ajouté quelques fonctionnalité pour voir si ça fonctionné peux tu me dire ce que tu en pense:

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


}
else
{
Header("Location: identification.php?m=1");
}
}
else
{
Header("Location: identification.php?m=1");
}
ob_end_flush();
?>

Merci pour toute l'aide que vous pourrez m'apporter.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
8 déc. 2005 à 17:45
enleve ton ob_start et ton ob_end_flush... ils servent à rien... .. .



Ensuite trois questions me viennent...



-1- à quoi sert le level dans ta requete... .. ?

-2- c'est bien de mettre des @ devant les fonctions mais tu as pensé à
l'enlever pour voir si php te retournait pas une erreur... .. ?

-3- tu as du html qui est envoyé via ton connect.inc ou pas... .. ?



et puis ne met pas de majuscule là où il n'y en a pas besoin... c'est
pas une dictée et ça pourrait te jouer des tours... .. . ;o)



Moi je mettrais ça comme ça... .. .



if (isset($_POST['userid']) && !empty($_POST['userid'])
&& isset($_POST['password']) &&
!empty($_POST['password'])) {

require('connect.inc');


$res = mysql_query("SELECT password,level FROM boutique_users WHERE
userid='".strip_tags(trim($_POST["userid"]))."'");

if(!mysql_num_rows($res)) {

//pas d'enregistrement

header('location: identification.php?m=1');

} else {

//on décompose en tableau associatif

$datas = mysql_fetch_array( $res, MYSQL_BOTH );

//on compare

if(!strcmp(md5($_POST['password']),$datas['password'])) {

//on lance la session

session_start();

$_SESSION['verified_user'] = $userid;


//echo 'bon password';


header('location: ../'.$page_redirection);

} else {

header('location: identification.php?m=1');

}

}

} else {

header('location: identification.php?m=1');

}










l'homme est un loup pour l'homme... .. .
0
Rejoignez-nous