login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Formulier (Opgelost)

Offline Louis_ - 24/02/2010 10:47
Avatar van Louis_Nieuw lid Na uren klooien ben ik er eindelijk achter wat er aan de hand is met mijn contact formulier.
Het formulier bewaard de input niet ofzoiets, en geeft dan als output "1".
Hoe los ik dit op?

  1. <form action="index.php" method="post">
  2. <i>Naam:</i><br />
  3. <input type="text" name="naam" value="" /><br />
  4. <i>Emailadres:</i><br />
  5. <input type="text" name="emailadres" value="" /><br />
  6. <i>Bericht:</i><br />
  7. <textarea name="bericht" rows="5" cols="34"></textarea><br />
  8. <i>4+5=</i>
  9. <input type="text" name="som" class="som" value="" />?<br />
  10.  
  11. <input type="submit" value="" name="submit" class="verstuur" />
  12. </form>


  1. $naam = isset($_POST['naam']);
  2. $emailadres = isset($_POST['emailadres']);
  3. $bericht = isset($_POST['bericht']);
  4. $som = isset($_POST['som']);

5 antwoorden

Gesponsorde links
Offline larssy1 - 24/02/2010 10:55
Avatar van larssy1 MySQL beginner beide zijn fout.

Ten eerste:
Je stuurt je form door naar index.php wat dus niet je formulier is (na mijn ogen)
Mocht het de zelfde pagina zijn, dan kun je ook simpelweg <? $_SERVER['PHP_SELF'] ?>
gebruiken inplaats van index.php

(dus index.php vervangen door <? $_SERVER['PHP_SELF'] ?> als het dezelfde pagina is.)

Je PHP code is ook wat dit betreft fout. dit hoort het volgende te zijn:
  1. $naam = $_POST['naam'];
  2. $emailadres = $_POST['emailadres'];
  3. $bericht = $_POST['bericht'];
  4. $som = $_POST['som'];


Als je deze data wegschrijft naar een database, raad ik je wel een om een functie te gebruik om sql injection tegen te gaan.
Offline Louis_ - 24/02/2010 10:58 (laatste wijziging 24/02/2010 11:01)
Avatar van Louis_ Nieuw lid het is wel index.php.
<? $_SERVER['PHP_SELF'] ?> had ik eerst, maar toen dacht ik dat heeel misschien daaraan lag, dus heb ik het verandert. De data komt niet in een database. ;)

Waarom moet 'isset' weg? (als ik me niet vergis, krijg je dan toch een warning?)

Ik hoop dat het werkt!

edit: Het werkt voor de velden emailadres, bericht en som. 
Maar niet voor het veld naam..
Offline larssy1 - 24/02/2010 11:01 (laatste wijziging 24/02/2010 11:09)
Avatar van larssy1 MySQL beginner Je wilt alleen maar waarde toegeven aan een variabel. Isset komt terug waneer je checked of iets gepost is.

bijv:

  1. if(isset($_POST['submit'])){
  2. //eventueel variabelen declareren
  3. //rest van de code erbij neerzetten
  4. }



--------
Ik zal je code even lokaal hosten, kijken waar 't aanligt.
--------
Werkt perfect bij mij

  1. <?php
  2. if(isset($_POST['submit'])){
  3. echo $_POST['naam'] ."<br />".
  4. $_POST['emailadres'] ."<br />".
  5. $_POST['bericht'] ."<br />".
  6. $_POST['som'] ."<br />";
  7. }
  8. ?>
  9.  
  10.  
  11. <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  12. <i>Naam:</i><br />
  13. <input type="text" name="naam" value="" /><br />
  14. <i>Emailadres:</i><br />
  15. <input type="text" name="emailadres" value="" /><br />
  16. <i>Bericht:</i><br />
  17. <textarea name="bericht" rows="5" cols="34"></textarea><br />
  18. <i>4+5=</i>
  19. <input type="text" name="som" class="som" value="" />?<br />
  20.  
  21. <input type="submit" value="" name="submit" class="verstuur" />
  22. </form>
Offline Louis_ - 24/02/2010 11:20
Avatar van Louis_ Nieuw lid het probleem is weg.
heb geen idee wat het nou precies was eigenlijk.
Maar ik ben blij dat het weg is.
Bedankt 
Offline larssy1 - 24/02/2010 11:29
Avatar van larssy1 MySQL beginner waarschijnlijk had je de variabel $naam zelf verkeerd geecho't =)

Geen probleem. als het probleem is opgelost, zou je dan aub op OPLOSSING! kunnen klikken bij m'n topic om verwarring te voorkomen?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.385s