login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gegevens doorgeven met POST (Opgelost)

Offline geb_1499 - 13/08/2008 12:18
Avatar van geb_1499Nieuw lid Hallo iedereen,

Ik ben bezig met een simpele website, en heb een kleine probleem.

Nu, als een van de formuliergegevens ontbreken zal er op POST een errortekst worden gestopt en checkt de formulierpagina ofdat er iets in error zit, indien wel printhij het af. Maar, raar genoeg, ziet de formulierpagina geen POST waarde, met als naam "error".

Bij de verwerkingspagina:
  1. if($_POST["inschrijven"]){
  2. //if(isset($_POST["gnaam"],$_POST["paswoord"]))
  3. if($_POST["gnaam"]&&$_POST["paswoord"])
  4. header("Location: ../views/InschrijvenMetSucces.php");
  5. else{
  6. $_POST["error"]="Naam of paswoord ontbreekt.";
  7. EndN();
  8. }
  9. }

De formulierpagina:
  1. <form action="../controllers/Inschrijven.php" method="post">
  2.  
  3. <?php
  4. if($_POST["error"]){
  5. echo "error";
  6. echo $_POST["error"];
  7. $_POST["error"]=NULL;
  8. }
  9. ?>
  10. ...


Met dank

6 antwoorden

Gesponsorde links
Offline marten - 13/08/2008 13:51
Avatar van marten Beheerder Laat je formulier HTML code eens zien.
Offline geb_1499 - 13/08/2008 14:31 (laatste wijziging 13/08/2008 14:37)
Avatar van geb_1499 Nieuw lid Hier:
  1. <input type="hidden" name="inschrijven" value="vol"/>
  2. Naam<input type="text" name="gnaam"></br>
  3. Paswoord<input type="password" name="paswoord"></br>
  4. <input type="submit" value="Inloggen"></input>
  5.  
  6. </form>

Hier is er geen probleem te vinden denk ik.

En de EndN() functie:
  1. function EndN(){
  2. header("Location: ../views/Inschrijven.php");
  3. }
Offline AcIdBuRn - 13/08/2008 16:38
Avatar van AcIdBuRn HTML beginner je moet nog het 'name'-attribuut van je submit-button bepalen. Aan de hand van dit attribuut wordt op de volgende pagina (waarnaar wordt doorgestuurd door de form) gekeken of er wel degelijk op 'Inloggen' werd geklikt.

Het volgende heeft ni namelijk geen waarde:

  1. if($_POST["inschrijven"]){


dus je kan best dit doen:

  1. <input type="submit" name="inschrijven" value="Inloggen"></input>


en dan in php

  1. if( isset($_POST["inschrijven"])){
Offline geb_1499 - 13/08/2008 17:10 (laatste wijziging 13/08/2008 17:45)
Avatar van geb_1499 Nieuw lid Nu, wat je schrijft had ik met de hidden al gemaakt - hoewel logischer. Dit werkte wel.
Wanneer de paswoord of gebruikersnaam niet wordt ingedrukt, moet op de views/Inschrijven.php dat worden vermeld. Echter vermeld hij niks, noch de echo "error". Bij de controllers/Inschrijven.php echter werkt alles goed met de $_POST, de site wordt naar InschrijvenGelukt.php verzonden.

Bedankt voor je bijdrage.
Offline AcIdBuRn - 13/08/2008 18:23
Avatar van AcIdBuRn HTML beginner Je wilt weten hoe het komt dat de error niet getoond wordt? Dit komt doordat je op de verwerkingspagina een variabele aanmaakt, $_POST["error"], en deze een waarde geeft, maar vervolgens verwijs je de persoon door naar de volgende pagina (ik denk dat dit terug de formulierpagina is), maar tussen deze 2 pagina's worden geen variabelen verzonden of iets dergelijks. De variabele $_POST["error"] gaat dus gewoon verloren, waardoor deze niet wordt uitgeprint.
Offline geb_1499 - 13/08/2008 20:15 (laatste wijziging 13/08/2008 22:00)
Avatar van geb_1499 Nieuw lid Bedankt;)

Ik zie het, 'k zal dan cookies of session gebruiken.

Erg bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s