login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere formulieren op 1 pagina.

Offline ElleRt - 29/09/2004 12:15 (laatste wijziging 29/09/2004 12:15)
Avatar van ElleRtMySQL interesse Ik heb 3 pagina's met formulieren geinclude met php in mijn website ( index.php).
1: zoekknop
2: loginknop
3: nieuwsbrief aanmelden knop

Stel ik druk knop 3 in dan zegt hij opeens bij e login dat ik geen gebruikersnaam heb ingevoerd. Dit terwijl ik dus helemaal niet op die knop druk.

De knoppen zijn wel alle 3 van type submit...
  1. knop1: <input type="submit" class="btn" value="Zoeken" />
  2. knop2: <input type="submit" class="btn" value="Inloggen">
  3. knop3: <input type="submit" value="nieuwsbrief" name="nieuwsbrief">


Zou ik type van de knoppen moeten veranderen?? of iets anders??

VB van mijn probleem:
http://www.vakantielokaties.nl/Nieuw/index.php

Rechts dus 3 knoppen.. probeer maar eens een e-mail adres toe te voegen, bv test@test.nl
Er komt dan bij login te staan "U heeft geen gebruikersnaam ingevuld" en bij de nieuwsbrief doet i niets.
Ook als ik de zoekfunctie gebruik dan doet hij het wel, maar hij zegt dan ook bij login weer: "U heeft geen gebruikersnaam ingevuld".. erg vervelend dus...

Suggesties???

8 antwoorden

Gesponsorde links
Offline webstab - 29/09/2004 12:57
Avatar van webstab PHP ver gevorderde in drie verschillende <form> zetten.
Offline ElleRt - 29/09/2004 13:00
Avatar van ElleRt MySQL interesse jah dat heb ik wel.. ik heb 3 formulieren alle drie op een verschillende pagina. Maar die pagina's inlcude ik dus met php... Dus ik heb als het ware 3 formulieren op mijn indexpagina staan..
Offline Thomas - 29/09/2004 13:01 (laatste wijziging 29/09/2004 13:01)
Avatar van Thomas Moderator Een hidden veld 'action' oid toevoegen in elk form, zodat PHP weet welk formulier 'ie moet verwerken:

bij het inloggen:
<input type="hidden" name="action" value="inloggen" />

bij het zoeken:
<input type="hidden" name="action" value="zoeken" />

En dan in php:
  1. <?php
  2. // controle (moet er een formulier verwerkt worden?):
  3. if(isset($_POST['action'])) {
  4. // welk formulier ?
  5. if($_POST['action'] == "inloggen") {
  6. // verwerk inlogformulier
  7. ...
  8. }
  9. if($_POST['action'] == "zoeken") {
  10. // verwerk zoekformulier
  11. ...
  12. }
  13. // zo ook voor andere formulieren
  14. ...
  15. }
  16. ?>
Offline NCube - 29/09/2004 13:06
Avatar van NCube HTML beginner In FireFox doen al die dingen het gewoon, kon gewoon inloggen met login test en password test, blijkt er nog een test accountje aan te hangen ook . Het Zoeken werkte overigens ook gewoon.
Offline ElleRt - 29/09/2004 13:10
Avatar van ElleRt MySQL interesse ja, die werken wel.. maar als je gaat zoeken terwijl je niet ingelogd bent krijg je dus te zien dat je geen gebruikersnaam in hebt gevuld.. ;) en de nieuwsbrief doet het helemaal niet... en ook niet bij jou, want er staat namelijk nog geen 1 email adres in mn bestandje.. ;)

Ik zal eens even proberen wat fangorn zegt.. alleen weet niet precies hoe ik dat met die actions moet doen.. maar zal eerst wel weer even wat aanprutsen.. 

Bedankt voor de reacties iig.
Offline Thomas - 29/09/2004 13:32
Avatar van Thomas Moderator Die action-tag wordt alleen gebruikt om de formulieren te kunnen onderscheiden door middel van een naam-tag die elk formulier heeft; hij heeft dus geen speciale betekenis ofzo.

Je had net zo goed <input type="hidden" name="banaan" value="inloggen" /> kunnen gebruiken - of je zet in de action van je formulier index.php?pagina=...&action=inloggen (of &banaan=inloggen) en controleert dan op $_GET['action'] in plaats van $_POST['action'] (of banaan).
Offline ElleRt - 29/09/2004 14:55
Avatar van ElleRt MySQL interesse hmm.. Wil niet echt..

Ik heb dit gedaan:

  1. // controle (moet er een formulier verwerkt worden?):
  2. if(isset($_POST['action'])) {
  3. // welk formulier ?
  4. if($_POST['action'] == "inloggen") {
  5. // verwerk inlogformulier
  6. include ("actielogin.php");
  7. }
  8. if($_POST['action'] == "zoeken") {
  9. // verwerk zoekformulier
  10. include ("actiezoeken.htm");
  11. }
  12. if($_POST['action'] == "nieuwsbrief") {
  13. // verwerk zoekformulier
  14. include ("actienieuwsbrief.php");
  15. }
  16. // zo ook voor andere formulieren
  17. }


Zoeken doet i nu niet meer en hij onderscheid de knoppen nogsteeds niet..  heb in de actiebestanden dus de acties gezet die hij moet uitvoeren als er op een bepaalde knop wordt gedrukt...


Zijn er misschien ook nog andere manieren voor om dit op te lossen????
Offline ElleRt - 29/09/2004 18:40
Avatar van ElleRt MySQL interesse hmm.. ik ga het wel oplossen met een iframe.. dan ziet hij de formulieren niet alsof ze op 1 pagina staan... weet neit of dit wel een goede methode is maar hij werkt wel.. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s