Php : Fonction comme cible d'action

Discussion dans 'Web, design' créé par Helyopses, 20 Janvier 2005.

Statut de la discussion:
Fermée.
  1. Offline
    Helyopses Touriste
    Voila je m'explique, je commence a utiliser les fonctions en php et je me demandai si on pourrai placer une fonction comme cible du paramètre action d'un formulaire

    exemple :

    Code:
    <form method='get' action='nomfonction'>
    .....
    </form>
    
    Est ce possible ??
    Helyopses, 20 Janvier 2005
    #1
  2. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Ce que moi je fait ::

    l'entête de page :

    Code:
    <?PHP
        $PHP_SELF=$_SERVER['PHP_SELF'];
    ?>
    dans le corps de ta page
    Code:
    <? PHP
        if (isset($_GET['var'])){
            /* code de la fontion ou appel de la fonction */
    
            quit; // uniquement si tu veux que la fonction soit la dernière chose exécutée
        }
    ?>

    et enfin le formulaire :
    Code:
    <form method='get' action='<? $PHP_SELF ?>?var=1'>
    .....
    </form>
    Ou alors, si tu veux que le formulaire n'apparaisse plus, mais que le reste de la page s'affiche quand même, tu mets le form dans une clause "}else{" de la condition là-haut.


    (Edit : le truc "$PHP_SELF", c'est uniquement si ta fonction se trouve sur la même page, tu peux, évidemment renvoyer vers n'importe quelle page)
    Jereck, 20 Janvier 2005
    #2
  3. Offline
    Helyopses Touriste
    hmmm merci mais c'est pas tres claire pour moi :oops:

    que représente $_SERVER['PHP_SELF'] ??

    dans if (isset($_GET['var'])), d'ou vient $_GET['var'] ?? :?:


    Edit plutot que doit représenter $_GET['var'] ?
    Helyopses, 20 Janvier 2005
    #3
  4. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    $_SERVER['PHP_SELF'] => $_SERVER est une "super-globale" retenant des informations sur le serveur (et l'adresse de la page)
    La sous-variable PHP_SELF représente le script (page) en cours.

    $_GET['var'] apparait quand le formulaire a été posté
    mais tu peux aussi faire la même condition avec $_POST[un_champ_de_ton_formulaire] ce qui vérifiera que cette infos est bien postée (et donc que le formulaire a été envoyé)
    Jereck, 20 Janvier 2005
    #4
  5. Offline
    Carambar He once forgot how to cry
    $_SERVER['PHP_SELF'] => représente le fichier PHP d'où l'appel a été émis.

    $_GET['var'] => va chercher d'une valeur transmise dans l'url, style page.php?var=blahblah
    Carambar, 20 Janvier 2005
    #5
  6. Offline
    Carambar He once forgot how to cry
    J'ai une question à propos de $_SERVER['PHP_SELF']. Qu'est-ce cette variable globale renvois comme information ? Le nom de fichier ou alors un chemin de fichier avec le fichier compris ? Je pose la question parceque j'ai des scripts qui utilisent l'ancienne manière $_PHP_SELF et je voudrais les adapter pour les versions actuelles de PHP.
    Carambar, 20 Janvier 2005
    #6
  7. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    http://<nom de domaine>/test.php :arrow: "/test.php"
    http://<nom de domaine>/files/test.php :arrow: "/files/test.php"
    http://<nom de domaine>/files/ :arrow: "/files/index.php"
    http://<nom de domaine>/ :arrow: "/index.php"

    Mais si tu la mets comme ' href ' dans une balise <a> p.ex. le lien contient le nom de domaine apparement.
    Jereck, 20 Janvier 2005
    #7
  8. Offline
    Carambar He once forgot how to cry
    Ah, donc il vaudrais mieux utiliser un explode pour initialiser $_PHP_SELF pour modifier un minimum des anciens scripts.
    Carambar, 20 Janvier 2005
    #8
  9. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    ton $_PHP_SELF renvoie quoi lui en fait ?
    Jereck, 20 Janvier 2005
    #9
  10. Offline
    null ose();
    C'est pas $_PHP_SELF, c'est $PHP_SELF. Sinon tu mets "?" comme action, ça rappelle la page en cours.
    null, 20 Janvier 2005
    #10
Statut de la discussion:
Fermée.