lien php et redirection

lien php et redirection - PHP - Programmation

Marsh Posté le 12-07-2003 à 21:17:35    

bonjour,
Pouvez vous m'expliquer comment marche les liens php de ce type ?
http://bodbod.fr.st/redirection.php?variable=bidon
 
Et surtout comment recuperer la variable et son contenu pour que je puisse faire une redirection selon le contenu.
 
merci


Message édité par bodbod le 20-07-2003 à 15:03:31

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 12-07-2003 à 21:17:35   

Reply

Marsh Posté le 12-07-2003 à 22:35:35    

Pour récupérer : $_GET["bidon"]
 
Après, tu peux imaginer avec une table avec pour chaque valeur de bidon, un lien que tu lanceras avec header("location :$lien" ) ; par exemple..

Reply

Marsh Posté le 13-07-2003 à 02:57:48    

:non:  :o  
je suis moins bon que la plupart sur ce forum mais je me permet de dire que c'est $_GET['variable']  :na:  
 
<?php
$url = $_GET['variable'];
header("Location: $url" );
?>

Reply

Marsh Posté le 13-07-2003 à 09:50:55    

thwz a écrit :

:non:  :o  
je suis moins bon que la plupart sur ce forum mais je me permet de dire que c'est $_GET['variable']  :na:  
 
<?php
$url = $_GET['variable'];
header("Location: $url" );
?>

merci (pour l'erreur ke me doutait un peu (pas grave).
 
Ce qu'il me manquait c'etait le $une_variable = $_GET['variable_de_l'url']
 
Je suppose que pour recuperer plusieur variable dans l'url, on repete plusieur fois l'operation.


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 13-07-2003 à 09:54:01    

pour le header, est on obligé de mettre <? ob_start(); ?>  en debut de page, a quoi ca sert exactement ?


Message édité par bodbod le 13-07-2003 à 09:54:23

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 13-07-2003 à 10:59:21    

bizarre pour certaine redirection dans la barrde d'adresse j'ai  
http://www.monsite.com/redirection.php?action=valeur
et pour d'autre :
http://www.monsite.com/dossier/
 
mon site : http://b.ekzay.org/bodbod/
url : http://www.bodbod.fr.st/redirectio [...] A_VARIABLE
 
Je precise que toutes redirections marche bien  
Code :

Code :
  1. <?
  2. $accueil = 'index.htm';
  3. $informatique = 'Informatique/';
  4. $perso = 'Perso/';
  5. $liens = 'Liens/';
  6. $web = 'Web/';
  7. $lycee = 'Projet_lycee/';
  8. $blague = 'Blague/';
  9. $pc = 'Mon_pc/';
  10. $livre = 'livre_sondage/livredor/';
  11. if ( $variable == 'accueil') { header("Location: $accueil" );}
  12. elseif ( $variable == 'informatique'){ header("Location: $informatique" );}
  13. elseif ( $variable == 'perso'){ header("Location: $perso" );}
  14. elseif ( $variable == 'liens'){ header("Location: $liens" );}
  15. elseif ( $variable == 'web'){ header("Location: $web" );}
  16. elseif ( $variable == 'lycee'){ header("Location: $lycee" );}
  17. elseif ( $variable == 'blague'){ header("Location: $blague" );}
  18. elseif ( $variable == 'pc'){ header("Location: $pc" );}
  19. elseif ( $variable == 'livre_dor'){ header("Location: $livre" );}
  20. else { header("Location: $acceuil" );}
  21. ?>


J'ai volontairement mis les liens dans une variable pour pouvoir par le suite le mettre dans un autre fichier ou dans une table pour un meilleur acces.


Message édité par bodbod le 13-07-2003 à 11:11:10

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 13-07-2003 à 11:16:07    

bodbod a écrit :

bizarre pour certaine redirection dans la barrde d'adresse j'ai  
http://www.monsite.com/redirection.php?action=valeur
et pour d'autre :
http://www.monsite.com/dossier/


Quand je prend ma vrai url (http://bodbod.lesite.free.fr/redirection.php?action=bidon), j'ai le probleme ci dessus.
Mais quand je prend ma redirection (http:www.bodbod.fr.st/redirection.php?action=bidon) toutes les url finissent par ?action=ma_variable (ce que je veux)


Message édité par bodbod le 13-07-2003 à 11:16:53

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 16-07-2003 à 22:00:01    

bodbod a écrit :

bizarre pour certaine redirection dans la barrde d'adresse j'ai  
http://www.monsite.com/redirection.php?action=valeur
et pour d'autre :
http://www.monsite.com/dossier/
 
mon site : http://b.ekzay.org/bodbod/
url : http://www.bodbod.fr.st/redirectio [...] A_VARIABLE
 
Je precise que toutes redirections marche bien  
Code :

Code :
  1. <?
  2. $accueil = 'index.htm';
  3. $informatique = 'Informatique/';
  4. $perso = 'Perso/';
  5. $liens = 'Liens/';
  6. $web = 'Web/';
  7. $lycee = 'Projet_lycee/';
  8. $blague = 'Blague/';
  9. $pc = 'Mon_pc/';
  10. $livre = 'livre_sondage/livredor/';
  11. if ( $variable == 'accueil') { header("Location: $accueil" );}
  12. elseif ( $variable == 'informatique'){ header("Location: $informatique" );}
  13. elseif ( $variable == 'perso'){ header("Location: $perso" );}
  14. elseif ( $variable == 'liens'){ header("Location: $liens" );}
  15. elseif ( $variable == 'web'){ header("Location: $web" );}
  16. elseif ( $variable == 'lycee'){ header("Location: $lycee" );}
  17. elseif ( $variable == 'blague'){ header("Location: $blague" );}
  18. elseif ( $variable == 'pc'){ header("Location: $pc" );}
  19. elseif ( $variable == 'livre_dor'){ header("Location: $livre" );}
  20. else { header("Location: $acceuil" );}
  21. ?>


J'ai volontairement mis les liens dans une variable pour pouvoir par le suite le mettre dans un autre fichier ou dans une table pour un meilleur acces.


 
il est horrible ce code! (enfin c'est pas à moi de parler  :whistle: ) enfin je veux dire que c'est pas ça qu'il faut utiliser... je crois que là il te faut faire un switch
http://dev.nexen.net/docs/php/anno [...] switch.php
 
EDIT: mais de toutes manières si tu dis que c'est pas ça que tu vas utiliser...


Message édité par thwz le 16-07-2003 à 22:01:57
Reply

Marsh Posté le 17-07-2003 à 14:11:12    

Voici ce que le code est devenu :

Code :
  1. <?
  2. $variable = $_GET['action']
  3. include ("connexion.php" );
  4. $id = MYSQL_CONNECT($serveur,$login,$pass);
  5. mysql_select_db("$base" );
  6. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  7. $result=mysql_query($query) ; 
  8. while ($var = mysql_fetch_row($result))
  9. { $lien = $var[2]; }
  10. if ($lien == ''){  $lien = 'index.htm' ; }
  11. header("Location: $lien" );
  12. ?>


 
Mais merci quand meme pour le lien que je vais lire attentivement.
Desolé pour le code mais je fais mes premiers pas en php


Message édité par bodbod le 17-07-2003 à 14:11:59

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 17-07-2003 à 14:30:24    

A quoi sert le while si le résultat de SELECT... ne contient qu'un élément?

Reply

Marsh Posté le 17-07-2003 à 14:30:24   

Reply

Marsh Posté le 17-07-2003 à 14:46:31    

bodbod a écrit :

Voici ce que le code est devenu :

Code :
  1. <?
  2. $variable = $_GET['action']
  3. include ("connexion.php" );
  4. $id = MYSQL_CONNECT($serveur,$login,$pass);
  5. mysql_select_db("$base" );
  6. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  7. $result=mysql_query($query) ; 
  8. while ($var = mysql_fetch_row($result))
  9. { $lien = $var[2]; }
  10. if ($lien == ''){  $lien = 'index.htm' ; }
  11. header("Location: $lien" );
  12. ?>


 
Mais merci quand meme pour le lien que je vais lire attentivement.
Desolé pour le code mais je fais mes premiers pas en php


 
c'est super dangereux ce code car tu ne vérifies pas le contenu de la variable $_GET['action']
ton code est donc sujet à de possibles SQL Injection

Reply

Marsh Posté le 17-07-2003 à 18:09:04    

Jul a écrit :

A quoi sert le while si le résultat de SELECT... ne contient qu'un élément?

Je sais pas faire autrement  :sweat:  
Peux me conseiller ?
 

ratibus a écrit :


 
c'est super dangereux ce code car tu ne vérifies pas le contenu de la variable $_GET['action']
ton code est donc sujet à de possibles SQL Injection

Euh oui mais ca fait quoi et comment peut on y remedier ?


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 17-07-2003 à 20:02:26    

par exemple tu mets les valeurs autorisées dans un tableau et tu regarde si la valeur reçue est bien dans ce tableau

Reply

Marsh Posté le 17-07-2003 à 20:11:46    

toute les données (variable-lien)= sont dans mysql.
COmment faire pour savoir si le mot est bien dans la colonne de la base ?
 
y'a pas un check ou qqchose comme ca ?


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 17-07-2003 à 22:21:23    

tu as la liste des "action" qui est fixe (ou presque) pour pouvoir mettre cette liste dans un tableau de ton code ?

Reply

Marsh Posté le 17-07-2003 à 23:27:02    

bodbod a écrit :

Je sais pas faire autrement  :sweat:  
Peux me conseiller ?


Tu enlèves simplement le while :

Code :
  1. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  2.   $result=mysql_query($query) ; 
  3.   $var = mysql_fetch_row($result);
  4.   $lien = $var[2];


Reply

Marsh Posté le 18-07-2003 à 14:31:06    

ratibus a écrit :

tu as la liste des "action" qui est fixe (ou presque) pour pouvoir mettre cette liste dans un tableau de ton code ?

Tu parle d'une liste de mot ecrit dans le code ?
 
 

Jul a écrit :


Tu enlèves simplement le while :

Code :
  1. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  2.   $result=mysql_query($query) ; 
  3.   $var = mysql_fetch_row($result);
  4.   $lien = $var[2];


 

merci, en fait, c'etait plus simple ;)


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 20-07-2003 à 15:02:46    

ratibus a écrit :

tu as la liste des "action" qui est fixe (ou presque) pour pouvoir mettre cette liste dans un tableau de ton code ?

ca va bouger pas mal pour le moment....
Que puis je faire ?


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 20-07-2003 à 17:55:53    

bodbod a écrit :

Voici ce que le code est devenu :

Code :
  1. <?
  2. $variable = $_GET['action']
  3. include ("connexion.php" );
  4. $id = MYSQL_CONNECT($serveur,$login,$pass);
  5. mysql_select_db("$base" );
  6. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  7. $result=mysql_query($query) ; 
  8. while ($var = mysql_fetch_row($result))
  9. { $lien = $var[2]; }
  10. if ($lien == ''){  $lien = 'index.htm' ; }
  11. header("Location: $lien" );
  12. ?>


 
Mais merci quand meme pour le lien que je vais lire attentivement.
Desolé pour le code mais je fais mes premiers pas en php


 
 
je changerais dans un premier temps le code en celui-ci :

Code :
  1. <?
  2. $variable = addslashes($_GET['action']);
  3. include ("connexion.php" );
  4. $id = MYSQL_CONNECT($serveur,$login,$pass);
  5. mysql_select_db("$base" );
  6. $query = "SELECT * FROM bodbod_lien_site WHERE action = '$variable'" ; 
  7. $result=mysql_query($query) ;
  8. $var = mysql_fetch_row($result);
  9. $lien = $var[2];
  10. if ($lien == ''){  $lien = 'index.htm' ; }
  11. header("Location: $lien" );
  12. ?>


 
Voici une très bonne lecture pour comprendre le problème :
http://dev.nexen.net/docs/php/anno [...] ection.php


Message édité par ratibus le 20-07-2003 à 17:57:08
Reply

Marsh Posté le 20-07-2003 à 18:16:20    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed