PHP - Dubbele action toekennen aan formulier

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste People,

Ik heb een vraag. Is er een mogelijkheid om aan een formulier twee actions toe te kennen. Ik heb nu een button met opslaan maar wil er een button bij bewerken. Dus als je op opslaan klikt gaat ie naar add.php en als je op bewerken klikt gaat ie naar edit.php.

Weet iemand hier raad op???

Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 14:41

Salandur

Software Engineer

Je kan dit op ruwweg 2 manieren oplossen:
1) Met javascript controleren welke knop aangeklikt wordt en dan de action-attribuut aanpassen

2) De submitknoppen een naam geven, bijv 'actie' met values 'bewerken' en 'add', en in je script controleren welke aangeklikt is. Dan de juiste php-pagina includen voor het verwerken.

Assumptions are the mother of all fuck ups | iRacing Profiel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb jij hier toevallig een voorbeeldje van Salandur?

Alvast bedankt...

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Na je post kun je gewoon checken op welke button geklikt was.
Bv: Button1 = Add / Button2 = Remove

Na de submit zal de variable $POST[naam_knop] gelijk zijn aan de value van de knop ( 'ADD' bijvoorbeeld, als je op de ADD-button geklikt had)

PHP is alweer een jaar geleden, dus er kunnen fouten in zitten...

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Verwijderd schreef op 22 april 2004 @ 12:44:
Heb jij hier toevallig een voorbeeldje van Salandur?

Alvast bedankt...
Op Tinternet zijn er wel enkele tutorials te vinden denk ik toch wel.

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de reactie,

Heb 't opgelost met Javascritp History

Sluiten dan maar :)

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Mmm.. De javascript oplossing vind ik toch niet de beste. Wat als de client nu eens het uitvoeren van javascript-code heeft uitgeschakeld ?

[ Voor 7% gewijzigd door Feyd-Rautha op 22-04-2004 12:50 ]

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
Dit hoort eigenlijk bij de buren in Webdesign & Graphics


HTML:
1
2
3
4
5
6
7
8
9
10
11
<script language="javascript">
function formsubmit(action) {
   document.forms["myForm"].action = action;
   document.forms["myForm"].submit();
}
</script>

<form name="myForm" method="post">
<input type="button" onclick="formsubmit('add.php');" value="Opslaan">
<input type="button" onclick="formsubmit('edit.php');" value="Bewerken">
</form>

[ Voor 24% gewijzigd door SWINX op 22-04-2004 12:50 ]

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 14:41

Salandur

Software Engineer

Formulier:
code:
1
2
3
4
5
<form..... method="post">
....
<input type="submit" name="actie" value="Add">
<input type="submit" name="actie" value="Bewerk">
</form>


PHP:
1
2
3
<?
include($_POST["actie"] . ".php");
?>


Meer hoef je waarschijnlijk niet te doen.

[ Voor 111% gewijzigd door Salandur op 22-04-2004 12:53 ]

Assumptions are the mother of all fuck ups | iRacing Profiel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
je hebt gelijk idd, wat als javascript uit staat :|

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08 23:34
Verwijderd schreef op 22 april 2004 @ 12:56:
je hebt gelijk idd, wat als javascript uit staat :|
Dus, het beste is om de 'PHP'-oplossing te gebruiken

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Add en edit dezelfde pagina maken.

Meestal is het verschil tussen deze twee pagina's dat de form items gevuld zijn of niet.

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Salandur schreef op 22 april 2004 @ 12:49:
Formulier:
code:
1
2
3
4
5
<form..... method="post">
....
<input type="submit" name="actie" value="Add">
<input type="submit" name="actie" value="Bewerk">
</form>


PHP:
1
2
3
<?
include($_POST["actie"] . ".php");
?>


Meer hoef je waarschijnlijk niet te doen.
:X Enige user input checking is hier wel op zijn plaats:

<?php
if (in_array($_POST["actie"], array("Add", "Bewerk"))) {
include ....
}
?>

bijvoorbeeld

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Niet alle browsers versturen de value van de submitknop mee.. en volgens mij ook niet als je op [enter] drukt ipv op de knop klikt.. echt lekkere methode is het iig niet :)

Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20:32
Bosmonster schreef op 23 april 2004 @ 12:39:
Niet alle browsers versturen de value van de submitknop mee.. en volgens mij ook niet als je op [enter] drukt ipv op de knop klikt.. echt lekkere methode is het iig niet :)
Daarom controleer ik zoiets altijd door de naam van de submit knop te veranderen. Dus bijvoorbeeld:
PHP:
1
2
<input type="submit" name="add" value="Toevoegen">
<input type="submit" name="edit" value="Wijzigen">


En dan controleren:
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
if(isset($_POST["add"])) 
{
voer toevoeg bewerking uit;
}
elseif(isset($_POST["edit"] )) 
{
voer edit berwerking uit;
}
?>

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Morax schreef op 23 april 2004 @ 14:42:
[...]


Daarom controleer ik zoiets altijd door de naam van de submit knop te veranderen. Dus bijvoorbeeld:
PHP:
1
2
<input type="submit" name="add" value="Toevoegen">
<input type="submit" name="edit" value="Wijzigen">


En dan controleren:
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
if(isset($_POST["add"])) 
{
voer toevoeg bewerking uit;
}
elseif(isset($_POST["edit"] )) 
{
voer edit berwerking uit;
}
?>
Da's dus niet handig. Zoals bosmonster al zegt wordt de waarde van de submitknop (vaak) niet meegestuurd als men op enter drukt. En dan werkt het bovenstaande dus niet
Pagina: 1