Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2093 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP?] Redirection mais affichage html avant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP?] Redirection mais affichage html avant

n°515996
Big-Foot
Posté le 16-09-2003 à 20:23:16  profilanswer
 

hello
 
Je voudrai faire une redirection apres l'execution d'un script PHP, mais sur cette page ou ce trouve cette redirection je voudrais afficher un message ou autre chose (du html quoi), un peu comme sur ce forum.
 
Avec le refresh HTML j'ai entendu que c'est deconseillé... c'est vrai ? pourquoi ?
 
Avec le JS je crois pas que ce soit une bonne idée car tt le monde ne l'active pas.
 
Avec le header php ca redirige tout de suite non ? ca n'affichrai donc pas de html avant... ou bien est ce qu'il y a un moyen ?

mood
Publicité
Posté le 16-09-2003 à 20:23:16  profilanswer
 

n°516021
dew
Posté le 16-09-2003 à 21:16:48  profilanswer
 

ob_start();
echo 'Redirection en cours...';
header('Location: http://www.bidule.net/');
ob_end_flush();

n°516134
Big-Foot
Posté le 16-09-2003 à 22:54:49  profilanswer
 

t'est sur que ca marche parce que sur http://ch.php.net/manual/fr/function.ob-start.php c'est ecrit :
 
"ob_start() démarre la bufferisation de sortie. Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, n'est envoyée au navigateur, mais temporairement mise en buffer."
 
et la c'est justement l'en tete qui est renvoyé... de plus j'ai oublié de preciser que mon script php qui est sur cette page renvoie un cookie.


Message édité par Big-Foot le 16-09-2003 à 22:56:55
n°516204
007seb
Posté le 17-09-2003 à 00:57:51  profilanswer
 

Attention, un script PHP n'est pas sur une page (donc pas chez le client) mais génére une page qui sera envoyée au client... faut bien faire la distinction
 
Sinon, qui ose encore désactiver le JS ? 0,1% des internautes ? Tant pis pour eux... tu mets un lien sur ton message vers là où tu veux les rediriger comme tout le monde le fait...


Message édité par $@m le 17-09-2003 à 00:59:06
n°516242
Hermes le ​Messager
Breton Quiétiste
Posté le 17-09-2003 à 08:06:36  profilanswer
 

007seb a écrit :

Attention, un script PHP n'est pas sur une page (donc pas chez le client) mais génére une page qui sera envoyée au client... faut bien faire la distinction
 
Sinon, qui ose encore désactiver le JS ? 0,1% des internautes ? Tant pis pour eux... tu mets un lien sur ton message vers là où tu veux les rediriger comme tout le monde le fait...


 
Ridicule... En quoi cela sert-il à quelque chose de faire des redirections en Javascript...  :heink:  C'est un procédé tout juste employé par des mecs qui code avec les pieds.
 
Et pour répondre à la question originale, c'est idiot d'afficher qqc AVANT la redirection. Tu peux parfaitement faire une page qui va s'auto-diriger ensuite grace à un META. C'est la solution la plus propre avec les headers (ce qui d'ailleurs revient pratiquement au même). Le javascript ne devrait JAMAIS être utilisé pour un cas comme celui-ci.
 
Enfin concernant la désactivation du JS, c'est pas 0.1%, mais 10% et ce n'est pas négligeable. Et on ira de plus en plus dans le sens d'une désactivatio, car maintenant, les pubs ne sont plus toujours sous la forme de popup mais directement insérées dans la page (ex : multimerde).

n°516497
Big-Foot
Posté le 17-09-2003 à 13:59:31  profilanswer
 

Citation :

Et pour répondre à la question originale, c'est idiot d'afficher qqc AVANT la redirection. Tu peux parfaitement faire une page qui va s'auto-diriger ensuite grace à un META]. C'est la solution la plus propre avec les headers (ce qui d'ailleurs revient pratiquement au même). Le javascript ne devrait JAMAIS être utilisé pour un cas comme celui-ci.


 
Une redirection grace à un meta : c'est ce que je pensais faire, mais j'ai lu sur le net que c'est pas tres bien, je sais pas pourquoi d'ailleur...
c'est vrai que c'est pas bien ? ou c'est justement la solution parfaite à mon probleme ?

n°516581
Hermes le ​Messager
Breton Quiétiste
Posté le 17-09-2003 à 15:33:40  profilanswer
 

Big-Foot a écrit :

Citation :

Et pour répondre à la question originale, c'est idiot d'afficher qqc AVANT la redirection. Tu peux parfaitement faire une page qui va s'auto-diriger ensuite grace à un META]. C'est la solution la plus propre avec les headers (ce qui d'ailleurs revient pratiquement au même). Le javascript ne devrait JAMAIS être utilisé pour un cas comme celui-ci.


 
Une redirection grace à un meta : c'est ce que je pensais faire, mais j'ai lu sur le net que c'est pas tres bien, je sais pas pourquoi d'ailleur...
c'est vrai que c'est pas bien ? ou c'est justement la solution parfaite à mon probleme ?


 
Je ne vois pas pourquoi cela poserait un problème. A mon avis, c'est bien souvent la meilleure solution.

n°516583
fastclemmy
(re-)Dictateur en plastique
Posté le 17-09-2003 à 15:35:50  profilanswer
 

Hermes le Messager a écrit :


 
Je ne vois pas pourquoi cela poserait un problème. A mon avis, c'est bien souvent la meilleure solution.


 
Du côté des moteurs de recherche... ils ignoreront une redirection en javascript mais détecteront un meta refresh [:spamafote]

n°516600
Hermes le ​Messager
Breton Quiétiste
Posté le 17-09-2003 à 15:54:48  profilanswer
 

fastclemmy a écrit :


 
Du côté des moteurs de recherche... ils ignoreront une redirection en javascript mais détecteront un meta refresh [:spamafote]


Un header également hein... Les moteurs ne lisent pas le code PHP des pages, mais seulement le résultat, et jusqu'à preuve du contraire, un header génère un META qui va rediriger la page.
 
Regarde donc ce que génère le header de ce forum quand tu postes une réponse. Un header ou un "meta http-equiv="Refresh"..." c'est pareil hein...  


Message édité par Hermes le Messager le 17-09-2003 à 15:56:30
n°516724
Big-Foot
Posté le 17-09-2003 à 19:12:56  profilanswer
 

un header php ca genere un meta html ??

mood
Publicité
Posté le 17-09-2003 à 19:12:56  profilanswer
 

n°516731
omega2
Posté le 17-09-2003 à 19:31:06  profilanswer
 

Hermes le Messager a écrit :


Un header également hein... Les moteurs ne lisent pas le code PHP des pages, mais seulement le résultat, et jusqu'à preuve du contraire, un header génère un META qui va rediriger la page.
 
Regarde donc ce que génère le header de ce forum quand tu postes une réponse. Un header ou un "meta http-equiv="Refresh"..." c'est pareil hein...  

Même résultat ne veut pas dire même action. ;)
Un META est du texte envoyé dans la page html ou le fichier.
Un header est une info envoyé en dehors du fichier ou de la page html (avant le fichier plus précisément). C'est envoyé dans l'entête du flux d'où le nom d'header.
 
De plus, un header n'écrit rien de plus dans le code de la page. Si ici t'as une balise META refresh, c'est que ca a été envoyé tel quel dans le code.

n°516738
Big-Foot
Posté le 17-09-2003 à 19:56:31  profilanswer
 

donc la redirection du header php et la meta c'est pas tout a fait la meme chose ok.
Mais est ce que je peu mettre un temps avant la redirection dans le header, comme dans le meta html ? ce qui me permetrait d'afficher qq chose avant cette redirection.

n°516748
yo c spi
Yo !
Posté le 17-09-2003 à 20:32:39  profilanswer
 

007seb a écrit :

Attention, un script PHP n'est pas sur une page (donc pas chez le client) mais génére une page qui sera envoyée au client... faut bien faire la distinction
 
Sinon, qui ose encore désactiver le JS ? 0,1% des internautes ? Tant pis pour eux... tu mets un lien sur ton message vers là où tu veux les rediriger comme tout le monde le fait...


 
86% sur JS 1.2
13% JS désactivé
 
source : http://www.w3schools.com/browsers/browsers_stats.asp

n°516857
effisk
我不讲中文
Posté le 18-09-2003 à 05:24:56  profilanswer
 

Citation :

Citation :

Une redirection grace à un meta : c'est ce que je pensais faire, mais j'ai lu sur le net que c'est pas tres bien, je sais pas pourquoi d'ailleur...  
c'est vrai que c'est pas bien ? ou c'est justement la solution parfaite à mon probleme ?

Du côté des moteurs de recherche... ils ignoreront une redirection en javascript mais détecteront un meta refresh


Il y a aussi le fait que le visiteur, s'il veut pour une raison X ou Y retourner a la page d'avant en cliquant sur "back" va pas arreter de se faire renvoyer sur la page qu'il essaye de quitter.
Il va etre oblige de cliquer comme un malade sur sa souris pour repasser le barrage du meta refresh (a moins que le refresh te laisse le temps de cliquer tranquille ce qui n'est pas souvent le cas). Le META refresh n'est pas une redirection "transparente".
Vous allez me dire que je chipote, mais ca m'arrive souvent et c'est grave lourd !
A l'oppose, la redirection utilisee lorsque tu postes un message sur ce forum est dite "transparente" et si tu cliques sur retour tu tombes sur la page d'edition directement.
beaucoup plus classe, beaucoup mieux !


Message édité par effisk le 18-09-2003 à 05:30:20
n°518248
Spir
Words are timeless
Posté le 19-09-2003 à 15:00:21  profilanswer
 

Ouais ouais je suis d'accord

n°518399
Big-Foot
Posté le 19-09-2003 à 17:51:12  profilanswer
 

effisk a écrit :

Citation :

Citation :

Une redirection grace à un meta : c'est ce que je pensais faire, mais j'ai lu sur le net que c'est pas tres bien, je sais pas pourquoi d'ailleur...  
c'est vrai que c'est pas bien ? ou c'est justement la solution parfaite à mon probleme ?

Du côté des moteurs de recherche... ils ignoreront une redirection en javascript mais détecteront un meta refresh


Il y a aussi le fait que le visiteur, s'il veut pour une raison X ou Y retourner a la page d'avant en cliquant sur "back" va pas arreter de se faire renvoyer sur la page qu'il essaye de quitter.
Il va etre oblige de cliquer comme un malade sur sa souris pour repasser le barrage du meta refresh (a moins que le refresh te laisse le temps de cliquer tranquille ce qui n'est pas souvent le cas). Le META refresh n'est pas une redirection "transparente".
Vous allez me dire que je chipote, mais ca m'arrive souvent et c'est grave lourd !
A l'oppose, la redirection utilisee lorsque tu postes un message sur ce forum est dite "transparente" et si tu cliques sur retour tu tombes sur la page d'edition directement.
beaucoup plus classe, beaucoup mieux !


 
Qu'est ce que tu appelle une redirection transparente ? redirection php ? js ??

n°519510
Big-Foot
Posté le 21-09-2003 à 13:47:01  profilanswer
 

up

n°519616
nemohp
Adepte du provisoire permanent
Posté le 21-09-2003 à 16:17:02  profilanswer
 

Code :
  1. //  si le JS est désactivé ça pause probleme
  2.     <Script language="JavaScript">
  3.        setTimeout("document.location = 'index.php' ", 0)
  4.     </script>


 
 
ou
 

Code :
  1. // cette méthode semble la meilleur
  2.     echo "<META http-EQUIV=\"Refresh\" CONTENT=\"0; url=index.php\">";


Message édité par nemohp le 21-09-2003 à 17:53:09
n°520011
omega2
Posté le 21-09-2003 à 21:17:58  profilanswer
 

NemoHP a écrit :

Code :
  1. //  si le JS est désactivé ça pause probleme
  2.     <Script language="JavaScript">
  3.        setTimeout("document.location = 'index.php' ", 0)
  4.     </script>


 
 
ou
 

Code :
  1. // cette méthode semble la meilleur
  2.     echo "<META http-EQUIV=\"Refresh\" CONTENT=\"0; url=index.php\">";



Attention, cerrtain navigateur considérent une balise meta refresh avec une tempo réglé à 0 comme "pas de refresh" alors que d'autres le comprènent bien comme un changement de page immédiat.
le mieux, c'est de mettre la temporisation à 1 seconde, c'est très court et tous les navigateurs font bien le rafraichissement. ;)

n°520012
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-09-2003 à 21:21:06  profilanswer
 

Hermes le Messager a écrit :

et jusqu'à preuve du contraire, un header génère un META qui va rediriger la page.


 
:heink: il me semblait plutôt que ça générait un code HTTP 302 ou quelque chose du genre


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°705199
lkolrn
&lt;comment ça marche?&gt;
Posté le 21-04-2004 à 16:25:58  profilanswer
 

chui confronté o même probleme, et j'aimerais bien avoir vos conclusions siouplé! :D
 
Le <META> me parait intéressant car surtout très simple à mettre en oeuvre :sol:, apres avec les histoires de référencement (par des moteurs de recherche) ca peut changer la donne (et en quoi ca consisterait concretement :??:)
 
MICI D'AVANCE :jap:
 
PS: g mon 'index.php'

<body>
<form method="post" action="./redirect.php">
<table align="center">
<tr><td>
<input type="text" name="tempo" size="3" maxlenght="3" />
</td><td>
<input type="submit" value="Go" class="bouton" />
</td></tr>
</table>
</form>
</body>


qui balance vers 'redirect.php'

<head>
<meta http-equiv="refresh" content="<?=$_POST['tempo']?>" URL="./index.php" />
</head>


Le problème c que au bout du temps écoulé $_POST['tempo'] ca "veut" rediriger (mon navigateur réagit comme s'il changeait de page) mais ca reste sur 'redirect.php'... [:airforceone]
 
RE MICI :jap:


Message édité par lkolrn le 21-04-2004 à 16:26:57
n°705366
gooopil
pfiew
Posté le 21-04-2004 à 18:47:19  profilanswer
 

<META http-EQUIV="Refresh" CONTENT="0;url=index.php"> C'est ca la syntaxe correcte
et pas META http-EQUIV="Refresh" CONTENT="0" url="index.php">

n°705462
ratibus
Posté le 21-04-2004 à 21:54:28  profilanswer
 

antp a écrit :

:heink: il me semblait plutôt que ça générait un code HTTP 302 ou quelque chose du genre


Je viens de tester ça renvoie effectivement un code 302 et le champ Location qui va bien :)

n°705470
lkolrn
&lt;comment ça marche?&gt;
Posté le 21-04-2004 à 22:12:07  profilanswer
 

mici bien :jap: [:skyx@v]

n°705702
Profil sup​primé
Posté le 22-04-2004 à 10:11:56  answer
 

ben moi j'utilise une compilation de ce qui a été dit ici :)

function doneAdmin($msg_done) {
  ob_start();
 header('Location: index.php?page=done&msg='.$msg_done);
 ob_end_flush();
}


 
 
et sur done.php
 

<?
echo "<META http-EQUIV=\"Refresh\" CONTENT=\"5; url=index.php\">";
 
$Msg=array ( "",
   "Group successfully changed",
   "Group added in the database",
   "Group successfully deleted !",
   
);
 
echo "<p style=\"text-align:center\">".$Msg[$_GET["msg"]]."</p>";
?>


 
:)

n°705842
lkolrn
&lt;comment ça marche?&gt;
Posté le 22-04-2004 à 12:32:19  profilanswer
 

Comme le dirait ce cher Columbo: voyez-vous, ya kekchoz qui m'chiffonne, m'sieur chacal...
 
Pkoi t'utilises la temporisation des données (sauf des entêtes), alors que ton header() n'envoie de base QUE un entête :??:


Message édité par lkolrn le 22-04-2004 à 12:34:22
n°705992
Profil sup​primé
Posté le 22-04-2004 à 14:38:18  answer
 

paske j'ai pas tout recopier ^^

n°706095
lkolrn
&lt;comment ça marche?&gt;
Posté le 22-04-2004 à 15:56:59  profilanswer
 

mkay...[:aras qui rit]

n°706099
lkolrn
&lt;comment ça marche?&gt;
Posté le 22-04-2004 à 15:58:28  profilanswer
 

Sinon

moi j'ai écrit ça moi a écrit :

 
Le <META> me parait intéressant car surtout très simple à mettre en oeuvre :sol:, apres avec les histoires de référencement (par des moteurs de recherche) ca peut changer la donne (et en quoi ca consisterait concretement :??:)
 
MICI D'AVANCE :jap:



Message édité par lkolrn le 22-04-2004 à 15:58:50
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP?] Redirection mais affichage html avant

 

Sujets relatifs
[PHP] insérer une image dans MySql[PHP] Question toute bete sur GET
[PHP]1 ptit coup de main pour une insertion dans un fichier svp [OK][PHP] pb retour de formulaire -> int needed
[PHP] Afficher le résultat d'une grosse requête ?[PHP] Sauvegarder le résultat d'une requête dans un fichier excel ?
[PHP & MYSQL] Utiliser une fonction PHP dans un LONGTEXT MySQL ![HTML/JS] pb de pop up
[ PHP ] PHP et Feuille de Style CSS[PHP] Pb récupération de données
Plus de sujets relatifs à : [PHP?] Redirection mais affichage html avant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR