login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[php] function ()

Offline stenno - 20/10/2005 15:37
Avatar van stennoPHP interesse
Is het mogelijk in php om een functie via een button aan te roepen ??

Dus geen submit maar gewoon een button.

Zo ja, hoe doe je dat ??

12 antwoorden

Gesponsorde links
Offline gijs - 20/10/2005 15:43
Avatar van gijs HTML beginner Volgens mij kan dat niet, maar waarom zou je geen submit gebruiken dan? 
Offline Thomas - 20/10/2005 15:50
Avatar van Thomas Moderator PHP is serverside. Als je een functie wilt aanroepen via een knop, dan moet er aan die knop een formulier hangen die gesubmit wordt, zodat aan de serverkant de functie wordt uitgevoerd.

Of je doet het via de URL, dat zou wel kunnen.

whatever.php:
  1. <php
  2. if(isset($_GET['functie'])) {
  3. // voer hier je functie uit
  4. }
  5. ?>
  6. ...
  7. <a href="whatever.php?functie=1">voer functie uit!</a>


Het is sterk af te raden om een willekeurig iemand in staat te stellen om een willekeurige functie uit te laten voeren op deze manier.
Offline stenno - 20/10/2005 16:23 (laatste wijziging 20/10/2005 16:24)
Avatar van stenno PHP interesse Het probleem is gewoon dat ik een formulier heb. En Als men dan op de registreer knop drukt moet ik een functie hebben die eerst checkt of alles (goed) is ingevuld. Zoja dan moet het gewoon worden opgeslagen worden in de mysql database. Zo niet dan mag de info niet opgeslagen worden in de mysqldatabase (ik wil geen foute info in mijn database) ,mag het formulier niet geleegd worden en moeten er div's met No valid ... naast het fout ingevulde veld komen.

Als ik submit gebruik word het formulier automatisch geleegd (verzonden).

Ps. Iemand zei: schrijf je toch gewoon een functie om de velden weer automatisch te laten invullen ??

Ja dan kan ik inderdaad wel een submit gebruiken, en dan met $_POST['naam'] weer in te vullen maar hoe doe ik dit ??
Offline Thomas - 20/10/2005 16:27 (laatste wijziging 20/10/2005 16:27)
Avatar van Thomas Moderator 3 manieren:
1. voor submitten controleren met JavaScript - zolang het formulier niet goed of volledig is ingevuld blijf je op dezelfde pagina

2. formulier opnieuw vullen met behulp van $_POST

3. formulier opnieuw vullen met behulp van $_SESSION
Offline stenno - 20/10/2005 16:29 (laatste wijziging 20/10/2005 16:35)
Avatar van stenno PHP interesse Manier 1 werkt op geen enkele manier daar zit ik nu al 2 dagen aan te *****

Het werkt niet omdat ik ook controleer of username al in mijn database staat. En dat werkt op geen enkele manier met een php in javascript.

manier 2 hoe doe ik dat ?? Kan iemand een voorbeeld geven van een veld dan kan ik de rest zelf wel ??

manier 3 ohw ja nog niet aangedacht.
Offline Ibrahim - 20/10/2005 16:43 (laatste wijziging 20/10/2005 16:52)
Avatar van Ibrahim PHP expert manier 2:

gewoon na het submitten van het formulier checken of alles goed is zo ja voeg dingen toe zo nee geef error weer:

  1. <?php
  2. if(isset($_POST['submit']))
  3. {
  4. if($_POST['naam'] == '')
  5. {
  6. $error = 'Naam niet ingevuld.';
  7. }
  8. if(isset($error))
  9. {
  10. //formulier + $error echoen + in veld $_POST['naam']
  11. }
  12. else
  13. {
  14. //toevoegen aan database
  15. }
  16. }
  17. else
  18. {
  19. //formulier
  20. }
  21.  
  22. ?>




edit:
code aangepast heb net pas uitleg gelezen 
Offline stenno - 20/10/2005 16:50 (laatste wijziging 20/10/2005 16:54)
Avatar van stenno PHP interesse Man leer lezen! edit1) okeej sorry dan maar ik word hier echt gewoon depressief van ik ben echt al 2 dagen langen aan het gokken.

Die code heb ik echt al lang. Maar het probleem is dat ik niet de vorm echo wil gebruiken om mijn error weer te geven maar javascript.

document.getElementById('div_id_naam').style.display = 'block'

En die div moet naast het het inputveld komen dat niet naar wens ingevuld is.

En het formulier moet niet geleegd zijn omdat de bezoeker dan kan zien wat hij/zij heeft ingevuld en zo dus ook wat hij/zij fout gedaan heeft.

Ja okeej dat snap ik wel maar dit gedeelte:

// waarde met $_Post in het veld weergeven + error naast het veld echoën

Hoe geef je met $_POST de waarde in het veld weer ??

Offline Ibrahim - 20/10/2005 16:55 (laatste wijziging 20/10/2005 16:57)
Avatar van Ibrahim PHP expert srry hoor maar dit is het PHP forum en niet het JAVASCRIPT forum 

hoe moet ik dat nou wete jij hebt dat nergens staan ...

P.S. Ik heb er ook bij staan dat in het veld word ingevult wat hij/zij heeft ingevult + ernaast de error ... Voortaan als je een JAVASCRIPT vraag hebt het gewoon in de JAVASCRIPT forum plaatsen ...

edit: zo geef je de waarde in een veld:

<input name="naam" type="text" value="<?= $_POST['naam'] ?>">
Offline stenno - 20/10/2005 16:57 (laatste wijziging 20/10/2005 16:59)
Avatar van stenno PHP interesse Het is geen javascript vraag !!!

er staat hoe geef ik met $_POST de waarde van het ingevulde veld in het oude formulier weer in een veld in het nieuwe formulier.

edit ok dat is duidelijk !!! Bedankt nogmaals sorry dat ik zo pissig doe hoor.
Offline Ibrahim - 20/10/2005 17:01 (laatste wijziging 20/10/2005 17:01)
Avatar van Ibrahim PHP expert over dit:

Citaat:
Het is geen javascript vraag !!!


Dit heb jij gezegd daarom zei ik iets over javascript ...

Citaat:
Die code heb ik echt al lang. Maar het probleem is dat ik niet de vorm echo wil gebruiken om mijn error weer te geven maar javascript.

document.getElementById('div_id_naam').style.display = 'block'


en over dat je excuses hebt aangeboden...

Geen probleem doe ik ook altijd 
Offline stenno - 20/10/2005 17:14 (laatste wijziging 21/10/2005 00:04)
Avatar van stenno PHP interesse Heej,

Raad eens werkt perfect !!!!

Echt harstikke bedankt man en nogmaals sorry !!!

een heel klein vraagje nog:

Hoe doe je dat bij dropdownboxen, oftewel select's en checkboxen ??

<select>
<option value=""></option>
</select>

Ik weet nooit hoe die dingen heten. maar goed hoe doe je dat daar bij??
Offline Thomas - 21/10/2005 14:27 (laatste wijziging 21/10/2005 14:27)
Avatar van Thomas Moderator functies maken het leven makkelijker:
  1. function selected($a, $b) {
  2. return ($a == $b) ? " selected=\"selected\"" : "";
  3. }


formulier:
  1. ...
  2. <select name="whatever">
  3. <option value="blaat"<?= selected("blaat", $_POST['whatever']) ?>blaat</option>
  4. <option value="aap"<?= selected("aap", $_POST['whatever']) ?>aap</option>
  5. <option value="banaan"<?= selected("banaan", $_POST['whatever']) ?>banaan</option>
  6. </select>
  7. ...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s