Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2006, 09h35   #1
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
Par défaut script case, redirigé vers url extérieure

Bonjour,
J'ai un système de pages qui fonctionne comme ceci:

Code :
1
2
3
4
5
6
<?php	if (!isset($_GET['page'])) $page= 'index'; else $page= $_GET['page'] ; switch($page){									
case 'index': include ('accueil.php');break;
case 'dernieres-photos':include ('photos/photos-dernieres.php');break;
case 'photos-accidents':include ('photos/photos-accidents.php');break;
default : include ('accueil.php');break;
}
Je voudrai que la ligne "default" ne soit pas include et renvoit vers une url extérieure, est-ce possible ?

merci d'avance pour votre aide
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 09h49   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Si tu n'as rien affiché dans ta page, tu peux envoyer un
Code :
header("Location: ...");
comme indiqué dans la : http://php.developpez.com/faq/?page=...ts_redirection

D'autre part ça n'a rien à voir, mais je ne saurais trop te conseiller d'indenter ton code proprement.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 10h36   #3
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
Bonne réponse mais il n'y a pas que le script dans la page donc ça ne marche pas et j'insiste pour savoir si c'est possible de modifier la ligne "default" vers l'url externe.

merci
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 10h38   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
Bonne réponse mais il n'y a pas que le script dans la page donc ça ne marche pas
Alors il faut juste une autre méthode de redirection. Voir le lien donné plus haut...

Citation:
Envoyé par nath70
j'insiste pour savoir si c'est possible de modifier la ligne "default" vers l'url externe.
Je ne comprends pas ta question, ni le lien fondamental entre le cas de défaut du switch et la notion de redirection. Si c'est une redirection que tu veux faire ? Si ce n'est pas ça merci de préciser (une include d'un autre serveur ?)
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 10h56   #5
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
on peut dire que c'est un genre de redirection.
non ça ne doit justement pas etre une include.
c'est vers l'url complète d'un site que je veux que ça renvoie si aucune des "case" n'est bonne donc je veux la faire à partir "default" .
Peut-etre ça n'est pas possible ?
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 10h57   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
on peut dire que c'est un genre de redirection.
non ça ne doit justement pas etre une include.
c'est vers l'url complète d'un site que je veux que ça renvoie si aucune des "case" n'est bonne donc je veux la faire à partir "default" .
Peut-etre ça n'est pas possible ?
Et pourquoi tu ne peux pas le faire avec un header ??
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 11h01   #7
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
tu m'a dis qu'il fallait rien d'autre sur la page non ?
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 11h04   #8
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
tu m'a dis qu'il fallait rien d'autre sur la page non ?
Il faut que rien n'ait été écrit avant le header, mais après, tout ce que tu veux. Ca ne sera pas pris en compte dans le cas "default".

N'oublie pas de faire un exit(0) après l'envoi du header.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 11h09   #9
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
excuse moi mais je suis vraiment débutant
le header("Location: ..."); faut quand meme le mettre entre balises php ?
et exit(0) c'est quoi ??
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 11h19   #10
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
excuse moi mais je suis vraiment débutant
le header("Location: ..."); faut quand meme le mettre entre balises php ?
et exit(0) c'est quoi ??
Code :
header("Location: index.php");
C'est le code PHP qui envoie le header HTTP qui fait une redirection vers la page index.php.

Il faut le faire suivre de l'instruction suivante (toujours du PHP) :
Pour signifier à PHP qu'après l'envoi du header, il ne faut pas continuer l'exécution du script courant (important si tu as par exemple des opérations de bases de données).
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 12h05   #11
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
curieusement ça me le marque tout en haut de la page quand je teste
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 12h49   #12
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
curieusement ça me le marque tout en haut de la page quand je teste
Ca te "marque" quoi ?? Sois plus précis dans tes messages.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 13h11   #13
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
ça me marque le script sur la page
header('Location: http://www.lesiteenquestion.com'); exit(0);
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 13h17   #14
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par nath70
ça me marque le script sur la page
header('Location: http://www.lesiteenquestion.com'); exit(0);
Tu l'as bien mis dans des balises PHP ?
Fais voir ton code
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 15h58   #15
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 1
Points : 1
oui maintenant ça marche j'avais pas mis les balises
un grand merci pour ta patience ;-)
@+
nath70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h14.


 
 
 
 
Partenaires

Hébergement Web