Faire appel à une fonction à l'aide d'un lien ??? [PHP] - PHP - Programmation
Marsh Posté le 05-12-2002 à 14:42:04
Tu veux que, lorsque quelqu'un clique sur un lien, une fonction soit appelée dans la page linkée?
Tu peux mettre un flag dans le lien, et tester le flag dans le page d'arrivée.
Mais la question n'est pas très claire
Marsh Posté le 05-12-2002 à 15:31:48
Fred999 a écrit a écrit : Tu veux que, lorsque quelqu'un clique sur un lien, une fonction soit appelée dans la page linkée? Tu peux mettre un flag dans le lien, et tester le flag dans le page d'arrivée. Mais la question n'est pas très claire |
en fait il faudrait qu'un lien appelle une fonction de la meme page.
Marsh Posté le 05-12-2002 à 15:33:23
Ha euh bin tu peux faire ça via un formulaire.
Par contre, si tu espères ne pas faire d'appel serveur (notamment, recharger la page) en PHP, ce n'est pas possible.
Marsh Posté le 05-12-2002 à 15:47:31
Fred999 a écrit a écrit : Ha euh bin tu peux faire ça via un formulaire. Par contre, si tu espères ne pas faire d'appel serveur (notamment, recharger la page) en PHP, ce n'est pas possible. |
mais comment via un formulaire ??
pour moi, un lien c'est ca : <a href"fonctionPHP">Accéder à la fonction xxx</a>
et c'est pas possible simplement comme ca ? on est obligé de passer par un formulaire ?
Marsh Posté le 05-12-2002 à 15:55:16
Houla! Ce n'est pas du tout comme en Javascript.
Si tu veux lancer une fonction PHP (déjà, parles-tu d'une fonction ou d'un script?) à partir d'un lien, deux pistes :
- lien simple <a href="mapage.php?flag=1">lien</a>
Dans ma page, tu testes la variable $flag, et, le cas échaéant, tu exécutes le code derrière, ou lances une fonction...
- formulaire, c'est à peu près pareil, intéerssant si tu as besoin de... champs de saisie
Marsh Posté le 05-12-2002 à 16:26:52
Fred999 a écrit a écrit : Houla! Ce n'est pas du tout comme en Javascript. Si tu veux lancer une fonction PHP (déjà, parles-tu d'une fonction ou d'un script?) à partir d'un lien, deux pistes : - lien simple <a href="mapage.php?flag=1">lien</a> Dans ma page, tu testes la variable $flag, et, le cas échaéant, tu exécutes le code derrière, ou lances une fonction... - formulaire, c'est à peu près pareil, intéerssant si tu as besoin de... champs de saisie |
ok, j'ai compris! merci!
encore une chtite question tant que j'y suis :
-> je fais une requete sur ma base de donnée, et je récupère les données comme suit :
Code :
|
et quand je fais un
Code :
|
il me retourne ca :
Code :
|
--> bon je suis newbie, mais comme c'est noté "Array", je pense que les données sont dans un tableau ?? comment je fais pour avoir des variables "utilisables" ? --> pasque pour l'instant si je lui dit <?php echo $Pseudo; ?> il fait rien du tout!!!
Marsh Posté le 05-12-2002 à 17:09:09
Code :
|
Marsh Posté le 05-12-2002 à 18:31:35
Fred999 a écrit a écrit :
|
ok, merci beaucoup!
@++
Marsh Posté le 05-12-2002 à 21:02:15
ca marche pas....
j'voulais savoir ce que ca voulait dire exactement ca :
Code :
|
il me retourne ca quand je mets ca donc :
$arr = get_defined_vars();
print_r($arr);
...
Marsh Posté le 05-12-2002 à 21:12:38
GET DEFINED VARS
si tu traduis, tu obtiens : Obtenir la liste des variables définies ( et leur valeur ), pratique pour voir pourquoi parfois rien ne marche comme prevu.
Marsh Posté le 05-12-2002 à 21:15:19
beleg a écrit a écrit : GET DEFINED VARS si tu traduis, tu obtiens : Obtenir la liste des variables définies ( et leur valeur ), pratique pour voir pourquoi parfois rien ne marche comme prevu. |
oui je sais ce que c'est get_defined_vars... c toi-même qui m'a expliqué ca il y a qq jours
mais je voulais savoir comment il fallait interpréter ce qu'il me retourne, càd ca :
Array ( [Pseudo] => [Mail_address] => [PM_address] => [FTP_address] => [Post_address] => [FTP_port] => [date] => )
ca me parait bizarre...les noms correspondent bien aux variables qui m'intéressent, mais j'arrive pas les utiliser...
Marsh Posté le 05-12-2002 à 21:15:25
Citation : |
fred999, grand chef de la cuisine asiat a surement voulu ecrire :
while($resultset = mysql_fetch_array($resultat0)) {
Marsh Posté le 05-12-2002 à 21:16:27
le_duc a écrit a écrit : oui je sais ce que c'est get_defined_vars... c toi-même qui m'a expliqué ca il y a qq jours mais je voulais savoir comment il fallait interpréter ce qu'il me retourne, càd ca : Array ( [Pseudo] => [Mail_address] => [PM_address] => [FTP_address] => [Post_address] => [FTP_port] => [date] => ) ca me parait bizarre...les noms correspondent bien aux variables qui m'intéressent, mais j'arrive pas les utiliser... |
[nom variable] => valeur [nom variable] => valeur ...
ttes tes variables sont vides, embetant je pense.
Marsh Posté le 05-12-2002 à 21:26:00
beleg a écrit a écrit : [nom variable] => valeur [nom variable] => valeur ... ttes tes variables sont vides, embetant je pense. |
ah...ben il me semblait bien qu'y'avait un problème LOL
merci!
Marsh Posté le 05-12-2002 à 21:29:49
beleg a écrit a écrit :
|
au fait, c'est bon la cuisine asiat MIAM! c'est quand qu'on est invité ?
Marsh Posté le 05-12-2002 à 21:33:03
au fait, ca aussi, ca m'intéresse, mais ca marche pas :
Code :
|
il me fait ca comme erreur :
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in d:\easyphp\www\sparta_proprio\administration.php on line 367
faut il inclure le $toto = mysql_result($resultat0, 0); dans la boucle while ? si c'est le cas, je comprends pas pkoi on doit l'inclure dans la boucle...
Marsh Posté le 05-12-2002 à 21:41:56
il ny a pas besoin de boucle while qd on attend un seul resultat, puisque tenez vous bien, .. il ny a qun seul resultat
ce que fred a indiqué est parfaitement juste
soit :
Code :
|
soit : (plusieurs lignes)
Code :
|
Marsh Posté le 05-12-2002 à 21:42:07
et encore une chtite :
Comment faire passer des variables d'une fonction à l'autre ?
Marsh Posté le 05-12-2002 à 21:44:00
le_duc a écrit a écrit : et encore une chtite : Comment faire passer des variables d'une fonction à l'autre ? |
en les lancant tres fort ?
c'est à dire ?
Marsh Posté le 05-12-2002 à 21:45:10
beleg a écrit a écrit : il ny a pas besoin de boucle while qd on attend un seul resultat, puisque tenez vous bien, .. il ny a qun seul resultat ce que fred a indiqué est parfaitement juste soit :
|
ok thx!!
Marsh Posté le 05-12-2002 à 21:49:19
beleg a écrit a écrit : en les lancant tres fort ? c'est à dire ? |
ben j'ai une structure du type :
Code :
|
voilà
Marsh Posté le 05-12-2002 à 21:59:12
function yyy( param1, param2, param3)
{
...
}
function xxx()
{
yyy(toto1, toto2, toto3);
}
si tu lisais et comprenais ton administration.php, tu laurais vu.
les fonctions c comme des boites, et ce quil y a dans une nest pas ds lautre sauf si tu lenvoie.
function xxx()
{
$x = 666
}
$x = 1
xxx();
echo $x
je te laisse deviner ce que ca fait.
Marsh Posté le 05-12-2002 à 22:03:44
beleg a écrit a écrit : il ny a pas besoin de boucle while qd on attend un seul resultat, puisque tenez vous bien, .. il ny a qun seul resultat ce que fred a indiqué est parfaitement juste soit :
|
à noter que la 1ere solution ne marche toujours pas... il me met l'erreur suivante :
Warning: Unable to jump to row 1 on MySQL result index 2 in d:\easyphp\www\sparta_proprio\administration.php on line 358
Mon code:
Code :
|
le resultat ne comporte qu'une seule ligne...donc ca devrait aller...maintenant je sais pas à koi correspond le 1 de cette ligne : $Pseudo = mysql_result($resultat0, 1);
--> j'avais pensé que ca correspondait à la colonne que l'on souhaite récupérer : exemple:
------------------------------
|Col 1 | Col 2 | Col 3 | ... |
------------------------------
|ID | Pseud | Nom | ... |
------------------------------
mais ca n'a pas l'air d'etre ca.
Marsh Posté le 05-12-2002 à 22:18:48
Citation : |
impossible daller a la ligne 1, ... bah normal si ya qune ligne dans le resultat. les index commencent generalement a 0.
Citation : |
moi non plus mais jai appris a lire tres jeune, alors je vais la : http://www.php.net/manual/fr/function.mysql-result.php
et je mapercois que fred a loupé un etage, ca doit etre
mysql_result($resultat0, 0, 0);
$resultat0 => le resultat de lexec dfe la query.
0 => ROW => donc 1ere ligne
0 => FIELD => premier champ je suppose
mais en fait, mysql_result est plutot utilisé avec un select champ1 from, un seul champ donc et non des select *.
dans ton cas, fais :
$resultat0 = mysql_query ($request0);
$arr_result = mysql_fetch_array($resultat0);
$Pseudo = $arr_result["pseudo"];
...
c plus rapide
Marsh Posté le 05-12-2002 à 22:29:59
beleg a écrit a écrit :
|
ouais en effet, moi y'en a être fatigué --> www.php.net pour la fonction...
ok pour mysql_result ! j'vais utiliser $Pseudo = $arr_result...
Pour ca :
Code :
|
euh ben moi je devine que ca retourne soit 1, soit 666
non je dirais plutot 666 car sinon je vois pas pkoi t'aurais mis le "xxx();" avant le echo $x.
Marsh Posté le 05-12-2002 à 22:36:30
le_duc a écrit a écrit :
|
ca retourne 1 pr te faire comprendre qune fonction a ses variables, et quelle ne partage pas ces variables avec les autres fonctions.
A cela sajoute que ton raisonement etait vraiment pourri
function xxx($x)
{
$x = 666
}
$x = 1
xxx($x);
echo $x retourne 1
function xxx()
{
$x = 666
return $x;
}
$x = 1
$x = xxx();
echo $x retourne 666.
il serait pas mal de commencer par les tutoriaux basiques.
Marsh Posté le 05-12-2002 à 22:52:13
beleg a écrit : |
comme ca j'irai me coucher moins con! Merci.
Marsh Posté le 06-12-2002 à 10:05:32
beleg a écrit :
|
Effectivement, j'm'a gouraÿ
Ca doit être ça qui merdoie dans ton script
Marsh Posté le 06-12-2002 à 10:08:04
Citation : mais en fait, mysql_result est plutot utilisé avec un select champ1 from, un seul champ donc et non des select *. |
Oui, je ne m'en sers que pour ça d'habitude
Marsh Posté le 06-12-2002 à 22:29:08
Fred999 a écrit : Houla! Ce n'est pas du tout comme en Javascript. |
c'est le lien simple qui m'intéresse...mais ca fonctionne pas --> je la met ou la variables $flag dans l'histoire ?
Marsh Posté le 07-12-2002 à 12:02:49
Tout ce que je veux, c'est appeler une simple fonction avec un lien! ca doit pas etre compliqué non?
Marsh Posté le 07-12-2002 à 12:09:23
wé c'est tres simple mais va fallor que tu reflechisses un jour par toi meme.
<a href="mapage.php?flag=1">lien</a>
ouvre mapage.php en declarant une varaiable flag de valeur 1
comme si yavait en debut de fichier $flag=1.
donc un test tres con de nivo maternelle
if ($flag == 1)
fonction();
devrait faire laffaire.
Marsh Posté le 07-12-2002 à 12:11:55
le_duc a écrit : Tout ce que je veux, c'est appeler une simple fonction avec un lien! ca doit pas etre compliqué non? |
Suffit de lire le manuel...
http://www.php.net/manual/fr/funct [...] ctions.php
Marsh Posté le 07-12-2002 à 12:33:05
beleg a écrit : |
ben véé, mais moi j'aurais aimé lancer DIRECTEMENT la fonction... sans test, ni rien!
Marsh Posté le 07-12-2002 à 12:48:53
le_duc a écrit : |
Euh... tu a lu ce que j'ai écrit? parce que bon... si tu ne piges pas avec ca, autant arrèter php directement.
Marsh Posté le 07-12-2002 à 13:18:48
gizmo, il se passe koi si tu fais :
$function = "";
$function();
je sais je pourrais tester, je le ferais lundi
Marsh Posté le 07-12-2002 à 17:06:08
beleg a écrit : gizmo, il se passe koi si tu fais : |
je vote pour un joli "parse error"
Mais bon, moi je lui fournis ce qu'il demande. A lui de voir s'il veut que son site soit un gruyère ou non...
Marsh Posté le 08-12-2002 à 12:14:57
beleg a écrit : et la marmotte ? |
ben koi...je sais pas moi. Je débute alors je sais pas si c'était faisable¨!
Marsh Posté le 05-12-2002 à 14:38:35
comment on fait ?
merci!