Php : Fonction comme cible d'action

Statut
N'est pas ouverte pour d'autres réponses.

Helyopses

Elite
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 ??
 

Jereck

Α & Ω
Staff
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)
 
1er
OP
Helyopses

Helyopses

Elite
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'] ?
 

Jereck

Α & Ω
Staff
$_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é
action='<? $PHP_SELF ?>?var=1'>
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é)
 

Carambar

Elite
$_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

Elite
Jereck a dit:
$_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.
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.
 

Jereck

Α & Ω
Staff
Azura a dit:
Qu'est-ce cette variable globale renvois comme information ?
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.
 

Carambar

Elite
Ah, donc il vaudrais mieux utiliser un explode pour initialiser $_PHP_SELF pour modifier un minimum des anciens scripts.
 

Jereck

Α & Ω
Staff
Azura a dit:
Ah, donc il vaudrais mieux utiliser un explode pour initialiser $_PHP_SELF pour modifier un minimum des anciens scripts.
ton $_PHP_SELF renvoie quoi lui en fait ?
 

null

ose();
C'est pas $_PHP_SELF, c'est $PHP_SELF. Sinon tu mets "?" comme action, ça rappelle la page en cours.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut