Rechercher : dans
Par :

Pb avec les variables URL en PHP

Dernière réponse le 5 jan 2004 à 17:41:47 Coucou 11, le 5 jan 2004 à 10:45:55 
 Signaler ce message aux modérateurs

Bonjour,

Voici mon probleme.

J'utilise EasyPHP 1.7

Je souhaiterai creer un site en utilisant l'url pour passer les variables.
Par exemple
index.php?p=index
Je souhaite recuperer la variable $p
A force de chercher j'ai remarque que je suis oblige de recuperer cette variable en utilisant
$p = $HTTP_GET_VARS ["p"]

Comment faire pour recuperer cette variable sans utiliser $HTTP_GET_VARS

Car si la variable n'est pas declaree dans l'url il affiche une erreur.

Merci d'avance pour vos reponses

Meilleures réponses pour « Pb avec les variables URL en PHP » dans :
PHP - Les variables Voir Concept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en php...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...

1

bul, le 5 jan 2004 à 11:05:26

Bonjour
$_GET["p"] mais cela ne change pas grand chose
sinon il faut passer par un formulaire avec methode post
je crois ?
cordialement.

Répondre à bul

2

Willy, le 5 jan 2004 à 11:06:35

Il faut utiliser l'option :

register_globals;

A mettre au debut de ta page, car avec certaines versions de PHP, elle est désactivée par défaut et tu ne peux pas appeller directement tes variables. avec cette option activée, tu devrait pouvoir réccupérer "p" en faisant: $p au lieu de: $HTTP_GET_VARS ["p"]

Répondre à Willy

3

kalamit, le 5 jan 2004 à 11:21:01

Salut,
En fait, les register globals sont à off dans le php.ini. Tu as deux solutions:
- soit tu changes cette valeur tout en sachant que c'est une faille.
- soit tu utilises $_GET['p'].

La seconde solution est la meilleure. Pour savoir si cette variable est declarée, fais un test au début de ta page:

<?php
if (isset($_GET['p'])) {
    $p = $_GET['p'];
}
?>


Et voili et voilou ! :)

Kalamit,
Parle à ma culasse, mon carter est malade. :)

Répondre à kalamit

4

Coucou 11, le 5 jan 2004 à 11:30:29

Merci beaucoup pour votre aide.

Ca constitue une grave faille de mettre register globals a on?

Je risque de me servir de ce systeme pour recuperer pas mal de variables qui activeront ou desactiveront des menus et tableaux de la page.

Est ce qu'il existe une fonction pour recuperer toutes les variables qui sont inscrites dans l'url

Par exemple

index.php?p=accueil&info=10&idsess=15643216584524184&nbrimg=10

En fait je ne saurai pas en debut de page les variables qui seront transmises par l'url.
Comment faire pour les declarer?

A+

Répondre à Coucou 11

5

kalamit, le 5 jan 2004 à 11:36:44

Comment ca tu ne sauras pas les variables à traiter ? Tu les connaitras forcement, sinon quel interet de les transmettre !?

Kalamit,
Parle à ma culasse, mon carter est malade. :)

Répondre à kalamit

6

Coucou 11, le 5 jan 2004 à 11:42:37

Oui je les connaitrai car je les utiliserai mais ce que je veux dire c qu'il va falloir que je les declare toutes dans un fichier qui s'execute au demarrage du site? Ca risque pas de surcharger? Il n'y aurait pas une methode pour remplacer la variable $p dans $p = $_GET['p']; par quelque du genre *

Dsl mais je debute en php.

Merci

Répondre à Coucou 11

7

kalamit, le 5 jan 2004 à 13:17:15

Re,
Bah non justement, ton * correspondrait à mettre le register globals à ON ! :)
Heu bah non, faut faire un test sur chaque variable, c'est l'ideal... :)

Kalamit,
Parle à ma culasse, mon carter est malade. :)

Répondre à kalamit

8

 Coucou 11, le 5 jan 2004 à 17:41:47

Merci bcp pour vos reponses

Répondre à Coucou 11