html button onClick = php functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jdog Silverblade

Jdog Silverblade

14/07/2012 10:31:01
Quote Anchor link
Hallo,
Heb een variabele in mijn programma, bijv. $var
Nu wil ik, dat als ik op een button klik $var gelijkgesteld wordt aan 0.

De volgende stap wat ik wil hebben is dit doen met een lijst (array).
dan heb ik bijv. $var = array('hallo', 'test')
Dan wil ik een tekstvak en een button.
Als ik in het textvak 'hallo' typ, moet $var[0] gelijkgesteld worden aan 0.
($var[0] is 'hallo' in de array)

Bedankt
~Jeroen
 
PHP hulp

PHP hulp

05/11/2024 16:35:51
 
- SanThe -

- SanThe -

14/07/2012 10:33:57
Quote Anchor link
En nu mogen wij dat gaan maken?
 
Jeroen VD

Jeroen VD

14/07/2012 11:49:23
Quote Anchor link
gebruik javascript, en ga eens puzzelen. lees dit eens door: http://wouterj.nl/development/server-side-vs-client-side-en-meer/321/
 
Reshad F

Reshad F

14/07/2012 11:59:56
Quote Anchor link
@jeroen dat heeft er vrij weinig mee te maken dat artikel. je kan net zo goed met een button een php function laten afspelen.. maar het is inderdaad wel aan te raden om zoiets met javascript (jQuery) te doen.
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 13:21:46
Quote Anchor link
@SanThe: Nee, natuurlijk niet. Ik vraag om tips, of een link waar ik info daarover zelf kan uitzoeken, dan leer ik er ook iets van :)
Misschien had ik dat erbij moeten zetten, sorry. (Moest weg dus ben heb vragen voor tips vergeten te typen :S)

Het probleem is dat een button, (volgens mij via html) een andere .php file uitvoert via javascript. Ik wil nu geen .php bestand uitgevoerd hebben, maar een functie.
Ik heb dit geprobeert, maar dat werkt niet:
<input type=\"button\" onClick=\"functie1()\" value=\"Klik hier\"/>

Mijn vraag, hoe kan ik een button een functie laten uitvoeren?
(Het orginele topic was eigenlijk alleen extra uitleg bij deze vraag, sorry)

Bedankt
~Jeroen
 
Eddy E

Eddy E

14/07/2012 16:45:03
Quote Anchor link
Gebruik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="button" onClick="functie1()" value="Klik hier">
om een functie uit te voeren. Dat is prima.

Waar defnieer je functie1()????
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 17:14:07
Quote Anchor link
<input type="button" ...> staat in html code.
De functie staat in een php code.
Werkt het alleen als de functie in php staan ofzo?
 
Eddy E

Eddy E

14/07/2012 17:20:38
Quote Anchor link
Nee, OnClick is Javascript.

Wil je een PHP-script uitvoeren?
Dan moet je een pagina openen. Dus met een LINK (maar dat kan ook een button zijn).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form action="pagina.php" method="get"><input type="submit" value="knoppie"></form>
Gewijzigd op 14/07/2012 17:21:44 door Eddy E
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 17:55:56
Quote Anchor link
Dat was eigenlijk het hele probleem waarom ik een php functie met een button wil uitvoeren...
Het lijkt me niet echt handig om voor elke button een aparte pagina moet maken.
Ideeën?
~Jeroen
 
Eddy E

Eddy E

14/07/2012 17:57:47
Quote Anchor link
Maak een exec_functions.php

En roep die zo aan
exec_functions.php?f=1 of exec_functions.php?f=2 of exec_functions.php?f=reset_var
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 18:03:22
Quote Anchor link
Ok, bedankt.
exec_functions.php?f=1, ik neem aan dat f=1 staat voor de eerst gedefinieerde fuctie?
Of moet daar de naam van de functie bij?
 
Bart V B

Bart V B

14/07/2012 18:32:00
Quote Anchor link
f betekend gewoon $_GET['f'] niets meer of minder.
Wat daar verder mee moet gebeuren is aan jou wat jij in exec_funtions.php zet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

if(isset($_GET['f']))
{

   DoSomething($_GET['f']);
}

function
DoSomething($id)
{


   //here some fancy things..

   return;

}

?>
Gewijzigd op 14/07/2012 18:32:51 door Bart V B
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 19:49:22
Quote Anchor link
Dus ik kan verwijzen naar f=1, f=2 etc.
In exec_functions.php doe ik dan 'function DoSomething(1)' of 'function DoSomething(2)'?
~Jeroen
 
Bart V B

Bart V B

14/07/2012 19:56:17
Quote Anchor link
nee, DoSomething is 1 functie wat er tussen () staat is een nummer wat je uit de $_GET['f'] haalt. Maar ik krijg het gevoel dat jij iets anders wilt.
Jij wil meerdere functions hebben klopt dat?
Want dan moet je met een switch en een case de $_GET['f'] ophalen.

Dan kan je hem per nummer naar 1 bepaalde function wijzen.

bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

// switch maken
switch ($_GET['f']) {
    case
1:
        echo foo();
        break;
    case
2:
        echo bar();
        break;
    default:

       echo "whoeps something is wrong here :)";
}

function
foo()
{

   $string = 'Hello Foo!';
   return $string;
}

function
bar()
{

   $string = 'Hello bar';
   return $string;
}

?>


<form action="bug.php" method="get">
  <input type="submit" name="f" value="1">
  <input type="submit" name="f" value="2">
</form>
Gewijzigd op 14/07/2012 20:16:46 door Bart V B
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 20:13:53
Quote Anchor link
Ja, inderdaad.
In het totale programma komen er meerdere buttons, en ook meerdere functies.
Uit wikibooks begrijp ik dat 'case 1:' uitgevoerd wordt als f gelijk is aan 1.
Bedankt !
~Jeroen
 
Bart V B

Bart V B

14/07/2012 20:17:39
Quote Anchor link
Juist.
Ik heb mijn laatste voorbeeld even geedit zodat je een werkend voorbeeld hebt.
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 20:32:43
Quote Anchor link
Edit: Eigenlijk kan ik met de switch de functies in hetzelfde bestand zetten?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
echo "<input type='button' onClick='javascript:location.href=\"pagina1.php\";' value='Klik hier'/>";
switch ($_GET['f']) {
case
1:
foo();
break;
case
2:
bar();
break;
}
function
foo()
{

#Something
}
function
bar()
{

#Something
}
?>
 
Bart V B

Bart V B

14/07/2012 20:36:47
Quote Anchor link
In principe wel ja.
Dat is meer een persoonlijke smaak natuurlijk.
 
Jdog Silverblade

Jdog Silverblade

14/07/2012 20:54:55
Quote Anchor link
Ok, ik hou van zo weinig mogelijk pagina's, zoveel mogelijk inzicht.
Maargoed je hebt gelijk, 'De gustibus et coloribus non est disputandum'.

Ik heb het geprobeert, maar ik krijg deze error:
'Notice: Undefined index: f' op de regel van 'Switch($_GET['f']) {'
Ik heb natuurlijk eerst deze code in html:
javascript:location.href=pagina1.php?f=1
En daarna pas de Switch, maar nog steeds de error.
Wat kan ik hieraan doen?
~Jeroen

Edit: Ik herinner me $_GET wel van html, als je een form maakt.
Moet ik de html code soms in een form zetten?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.