Bonjour,
Quelqu'un serait me dire si il une methode ( en php ), pour faire pointer un lien vers une fonction ?
du style :
function commande() {
if ......
}
<p><a href=commande target="mainFrame"><?php echo ($etat); ?></a> </p>
Bonjour,
Quelqu'un serait me dire si il une methode ( en php ), pour faire pointer un lien vers une fonction ?
du style :
function commande() {
if ......
}
<p><a href=commande target="mainFrame"><?php echo ($etat); ?></a> </p>
Bonjour,
Ta question n'a pas de sens.
La notion de fonction PHP n'est comprise que par l'interpréteur PHP, en aucun cas par le protocole HTTP.
Tu ne peux faire un lien que sur un script PHP.
Par contre, tu peux passer un paramètre GET (avec un lien du genre "script.php?param=valeur"), le récupérer dans ton script avec $_GET, et appeler la fonction que tu veux en fonction de la valeur du paramètre.
Arf, désolé je debut complet et j'ai un peu de mal
En faite, voici ce que j'ai actuellement :
- lien_1 qui pointe vers page1.php
- lien_2 qui pointe vers page2.php
page1.php contient simplement une commande exec ( qui allume une machine de mon réseau )
page2.php contient simplement une commande exec ( qui éteint la même machine )
Voila ce que je veux faire :
Un seul lien qui me permettra d'allumer ou d'éteindre cette machine.
Avec ci-dessous je test ci la machine est allumé ou pas
Et je cherche à mettre un lien comme ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $ping = exec('ping 192.168.0.2 -c 1 -w 1'); if ( $ping == "") { $etat = "Slayes ON"; } else { $etat = "Slayes OFF"; } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part <p><a href=XXXX target="mainFrame"><?php echo ($etat); ?></a> </p>
Qui exécutera :
soit :
soit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec('etherwake -i eth2 00:15:f2:98:51:87');
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec('net -I 192.168.0.2 -U administrateur%xxxxx rpc shutdown');
Et éventuellement pouvoir choisir avec une 3eme commande :
Mais pour celle-ci je verrais plus tard
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec('net -I 192.168.0.2 -U administrateur%xxxxx rpc abortshutdown');
Je pense que tu peux l'améliorer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <? $ping = exec('ping 192.168.0.2 -c 1 -w 1'); if($ping == ""){ $etat = "Slayes ON"; } else{ $etat = "Slayes OFF"; } if($_REQUEST['param'] == "1"){ $n = 0; exec('net -I 192.168.0.2 -U administrateur%xxxxx rpc shutdown'); } else{ $n = 1; exec('etherwake -i eth2 00:15:f2:98:51:87'); } ?> <a href="tapage.php?param=<?$n?>"><?=$etat?></a>
Donc, que mettre à la place de XXX dans le lien ?
tu as $etat qui vaut "Slayes ON" ou "Slayes OFF", c'est pas pratique parce qu'il y a un espace, autant éviter les emmerdes.
ensuite pour le lien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if ($etat == "Slayes ON") { $paramEtat="ON"; } else { $paramEtat="OFF"; }
ensuite dans page.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="page.php?etat=<?php echo $paramEtat; ?>" target="mainFrame"><?php echo ($etat); ?></a>
Voilà... Si t'as compris le principe, tu te coucheras moins bête...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (isset($_GET["etat"]) { if ($_GET["etat"] == "ON") { // traitement qui va bien } elseif ($_GET["etat"] == "OFF") { // traitement qui va bien } else { echo "mais qu'est-ce que c'est que ce bordel ? Mauvais paramètre"; } }
Merci a vous 2 pour votre aide. Par contre cela me met un message d'erreur :
Parse error: parse error, unexpected T_IF in /var/www/Slayesonoff.php on line 11
Voici ce que j'ai mis :
<p><a href="Slayesonoff.php?etat=<?php echo $paramEtat; ?>" target="mainFrame"><?php echo ($etat); ?></a>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $ping = exec('ping 192.168.0.1 -c 1 -w 1'); if ( $ping == "") { $etat = "Slayes ON"; $paramEtat="ON"; } else { $etat = "Slayes OFF"; $paramEtat="OFF"; } ?>
Et dans ma page Slayesonoff.php :
Ais je loupé quelque chose ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <? php if (isset($_GET["etat"]) { if ($_GET["etat"] == "ON") { // traitement qui va bien exec('etherwake -i eth2 00:15:f2:98:51:87'); } elseif ($_GET["etat"] == "OFF") { // traitement qui va bien exec('net -I 192.168.0.2 -U administrateur%xxxx rpc shutdown'); } else { echo "mais qu'est-ce que c'est que ce bordel ? Mauvais paramètre"; } } ?>
Pour ton erreur "unexpected T_IF", c'est ma faute, il manque une parenthèse fermante dans le premier "if".Envoyé par Slayes
Désolé de revenir à la charge, mais je rencontre toujours une erreur :
Parse error: parse error in c:\documents and settings\administrateur\mes documents\site de test\slayesonoff.php on line 11
J'ai fermé la parenthèse, sur google ça me dit que c'est un pb de syntaxe mais je voie pas ou.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <? php if (isset($_GET["etat"])) { if ($_GET["etat"] == "ON") { // traitement qui va bien exec('etherwake -i eth2 00:15:f2:98:51:87'); } elseif ($_GET["etat"] == "OFF") { // traitement qui va bien exec('net -I 192.168.0.2 -U administrateur%xxx rpc shutdown'); } else { echo "mais qu'est-ce que c'est que ce bordel ? Mauvais paramètre"; } } ?>
Pfff désolé j'ai du mal :
J'avais tapé :
<? php au lieu de <?php
Encore merci pour votre aide![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager