header()... mais que se passe t'il ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : header()... mais que se passe t'il ??

par supercanard » 25 janv. 2008, 11:32

Merci :wink:

par Calimero » 25 janv. 2008, 11:16

Oui j'ai vu mais je veut dire, normalement ne faut-til pas envoyer obligatoirement http// pour que ça marche ?
Oui. Normalement, la norme HTTP t'impose de mettre une URL complète. Mais en pratique tous les navigateurs répandus acceptent sans problème une URL relative, donc tu peux faire pareil (sauf si tu es un fanatique absolu des normes :twisted: )

par supercanard » 25 janv. 2008, 11:11

Oui j'ai vu mais je veut dire, normalement ne faut-til pas envoyer obligatoirement http// pour que ça marche ?

par zeus » 25 janv. 2008, 08:33

Regarde dans le code de ton 1er message s'il n'y a pas une différence de syntaxe ... particulièrement un espace en trop ;)

par supercanard » 25 janv. 2008, 01:13

Regardes bien l'exemple :
<?php
/* Redirige vers une page différente du dossier courant */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>
C'est byzar parce que si l'url complète est obligatoire ceci ne devrait pas marcher ? :
header('Location: pages.php?code_message='.$code_message);
Et ça marche.

Encore un paramètre activé par les hebergeur mutu pour éviter les erreurs de débutants ?

par h0_noMan » 25 janv. 2008, 01:05

Regardes bien l'exemple :
<?php
/* Redirige vers une page différente du dossier courant */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

par supercanard » 25 janv. 2008, 00:54

hum la seule chose que je vois qui cloche c'ets peut être qu'il faut une adresse http// obligatoirement et pas juste une page.php ? :roll:

Arff non c'était l'espace après les : :wink:

par h0_noMan » 25 janv. 2008, 00:41

Désole pour la solution.

La réponse est dans le message precedent.

par Calimero » 25 janv. 2008, 00:20

Si tu n'as pas d'erreur PHP il n'y a que deux possibilités :

- soit le header n'est pas éxécuté du tout (on peut tester ça facilement à grands coups de echo près du header()
-soit le header a une syntaxe incorrecte (Le header étant destiné, et interprété, par le navigateur, il est très important d'en respecter la syntaxe exacte).
header('Location : config.php');
Tu ne vois vraiment rien qui cloche ? (Si tu sèches, tu trouveras des indices dans la page de manuel de la fonction header() :wink: )

par supercanard » 25 janv. 2008, 00:05

Avec autant de détail, ça risque d'être dur de te répondre ;)

Que fait la page dans laquelle tu fais ton include et que contient la page incluse ?
Alors la page qui contient le header contient des requêtes SQL.
Les pages incluses contiennent les paramettres de connection SQL, un fichier vide qui acceuillera les fonctions, des variables et un fichier de langage, avec la aussi des variables...

Exemple :
// Actions sur la table config
	case 'modif_config' :
	$nom_site = addslashes($_POST['nom_site']);
	$descrip_site = addslashes($_POST['descrip_site']);
	$mots_cles = addslashes($_POST['mots_cles']);
	$domaine = addslashes($_POST['domaine']);
	$req = mysql_query("UPDATE bloom_config set nom_site= '$nom_site', descrip_site= '$descrip_site', mots_cles= '$mots_cles', domaine= '$domaine', id_accueil='{$_POST['id_accueil']}' WHERE id= 1");
	$code_message = 1;
	header('Location : config.php');
	exit();
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par zeus » 24 janv. 2008, 23:59

Avec autant de détail, ça risque d'être dur de te répondre ;)

Que fait la page dans laquelle tu fais ton include et que contient la page incluse ?

header()... mais que se passe t'il ??

par supercanard » 24 janv. 2008, 23:20

Bonsoir,

Avant que vous me disiez pas de HTML avant un header()... et bien je n'envoi pas de HTML avant de faire header('Location : config.php');

Et pourtant ça ne marche pas. Pas d'erreur mais rien ne se passe...

Dans ce fichier contenant donc header('Location : config.php'); on à que du php, des includes d'autres fichiers ne contenant que du PHP. J'ai bien enlever tous les espaces blancs. Le seul doute que j'ai ets peut être au niveau des commentaires.
Les commentaires PHP nuisent t-ils come les espaces à cette fonction ?

Merci d'avance, je ne comprend pas :cry:

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]