Redirection en PHP

Résolu
borca -  
lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Qqun peur me dire cmt faire pour redirectioner à une autre page.

par example:
après le traitement d'un script je trouve qu'il ya qq chose qui va pas , donc je vx diriger a une page erreur.

Merci

10 réponses

dedale82 Messages postés 403 Date d'inscription   Statut Membre Dernière intervention   283
 
Salut,
tu peux utiliser la fonction header :

header("location:url/de/ta/page");

par contre cela ne marchera pas si des balises html precedent cette fonction.

A plus
37
Epica13
 
Encore HTML ...
0
décimètre
 
@Epica13... C'est bien du PHP !

cf. https://www.php.net/manual/fr/function.header.php

Il est possible d'écrire du code pour tester des conditions avant le header() mais pas d'envoyer d'en-tête (donc pas d'affichage) avant la redirection.
0
Sly
 
Un peu moins bordelique:
print ("<script language = \"JavaScript\">");
print ("location.href = 'accueil.php';");
print ("</script>");
24
Utilisateur anonyme
 
Ca fonctionne très bien, merci.
0
Epica13
 
Super pour ta réponse mais la question et dans le titre 'Redirection en PHP' !!! PAS EN JS !!!

Merci quand meme de ta réponse si je trouve pas la réponse pour une redirection en php je pense que je m'inspirerai de la tienne :)

@ +++
0
Scalp
 
C'est ça la meilleure réponse sérieux ? Il ne faut pas utiliser ça !
La correct version c'est :

header("location:url/de/ta/page");

(cf post de dedale82)
0
St_Machine
 
C'est du PHP et cela permet de faire une redirection même s'il y a des balises HTML insérées dans la page, ce que la fonction header en PHP ne permet pas ;)
0
Virus721
 
Comme l'a dit Scalp, il ne faut pas utiliser de JavaScript pour ca !
Premièrement parce qu'il n'y a aucun intérêt à mettre du HTML si la redirection est instantanée, et deuxcièmement car les robots d'indexation (GoogleBot et autres) ne sont à ce jour pas encore capable de gérer le JavaScript, donc ils ne suiveront pas le lien et ne crawleront pas les pages qui sont dèrrière, et ca masquera certaines parties du site dans les moteurs de recherche.
0
netgenez
 
<?php
ob_start();

au début de la page, permet de placer header location n'importe ou et ensuite il suffit de mettre

ob_flush();
?>
12
joj
 
Deux heures que je galère et enfin une solution ...... MERCI
0
netgenez
 
"Deux heures que je galère"

Une simple recherche dans Google pouvait aussi te permettre de trouver la solution tout seul.
Merci quand même à tout ceux qui t'ont répondu ... même si on parle de JS et de HTML, ce sont des gens qui ont cherché à t'aider, non ?
0
Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
Salut !

Sinon, tu as aussi :
<meta http-equiv="refresh" content="0;URL=adresse_de_la_page.php">


Mais là, par contre, un faut que ce soit entre <head> et </head>.

Le mieux, ce serait quant-même de faire tous les tests (si c'est possible) avant la balise <html> et donc utiliser header('Location: adresse_de_la_page.php');
:-)

A+ :-)
  ___________________
  |__ .: Thom@s :. ___|
6
Thom@s Messages postés 3412 Date d'inscription   Statut Modérateur Dernière intervention   678
 
Sorry pour la balise non refermée ;-)
  ___________________
  |__ .: Thom@s :. ___|
0
Epica13
 
C'est du HTML et non du PHP comme demandé ...
0
Ridex
 
la fonction header(); c'est du PHP.
0

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

Posez votre question
borca
 
C vraiment utile, merci, j avais deja essayer cette fonction header() ;
ms apres <HTML> et evidement ca marchait pas :p
1
debianer Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
Le plus radical c'est header("location: destination");

Mais pas toujours utilisable (par exemple si t'as déjà eu du code HTML)

Sinon utilise les meta tags (exemples déjà fournis)

Et en dernier recours, un script javascript (certains ont JS désactivé, donc dernier recours)
1
lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
code final en HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="0; url=http://monsite.com" />
</head>
</html>


@+
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Sur cette page tu trouveras également deux autres façons de procéder, avec leurs avantages et inconvenients.
http://www.phpfrance.com/tutorials/index.php?id=33

Kilian, débutant en tâche de fond.....
-2
rameur Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   21
 
echo '<script language = "JavaScript">/'.'/<!--';
echo "\nlocation.href = ''http:/"."/mapage.htm";
echo '/'.'/--></script>';

note le '/'.'/' sert a afficher dans la page // (commentaire en php)
-2
rameur Messages postés 135 Date d'inscription   Statut Membre Dernière intervention   21
 
j ai oublie les guillemets JavaScript !!

echo '<script language = "JavaScript">/'.'/<!--';
echo "\nlocation.href = \'mapage.htm\' ";
echo '/'.'/--></script>';
-4