login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] input probleem

Offline W0etah - 15/12/2006 21:09 (laatste wijziging 15/12/2006 22:05)
Avatar van W0etahPHP beginner Hallo, ik heb een probleem met mijn inputvelden bij een registratie script.

Vanaf de gebruiker op de knop "registreer" drukt, controleert het script of alle velden zijn ingevuld. Als dat niet zo is krijg je een berichtje wat er fout is.
Maar dan gaat ook alle tekst in de velden weg.
Dit zou ik graag vermijden.

Hoe kan ik dit oplossen?

11 antwoorden

Gesponsorde links
Offline marten - 15/12/2006 21:10 (laatste wijziging 15/12/2006 21:14)
Avatar van marten Beheerder Je zet de waardes die in de input staan allereerst in een sessie variabele. Deze zet je vervolgens in je value

voorbeeld:

  1. <?php
  2. if(isset($_POST['submit'])) {
  3. $_SESSION['waarde1'] = htmlentities($_POST['waarde1'], ENT_QUOTES);
  4.  
  5. /**
  6.  * Hier je verdere controle
  7.  */
  8. } else {
  9. ?>
  10. <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
  11. <input type="text" name="waarde1" value="<?php echo $_SESSION['waarde1']; ?>" />
  12. <input type="submit" value="submit" />
  13. <?php } ?>
Offline W0etah - 15/12/2006 21:18
Avatar van W0etah PHP beginner in het begin zie ik wel in elk inputveld dit staan: "<br \>
Offline marten - 15/12/2006 21:20
Avatar van marten Beheerder laat eens een stukje code zien dan 
www.plaatscode.be

denk aan wachtwoorden en inlognamen!
Offline W0etah - 15/12/2006 21:21
Avatar van W0etah PHP beginner direct heel mijn code

http://www.plaatscode.be/3469/
Offline marten - 15/12/2006 21:24
Avatar van marten Beheerder Ik zie zo geen fouten in je code
Alleen die die(); verander dat eens in een echo. Dan gaat je script in ieder geval door.

En je kan beter je POST waarde in de htmlentities gooien. Dit scheelt code dus parsetijd
Offline W0etah - 15/12/2006 21:26
Avatar van W0etah PHP beginner mag ik is vragen waarom je htmlentities gebruikt?
Offline marten - 15/12/2006 21:28
Avatar van marten Beheerder htmlentities dient ervoor om kwade invoergegevens van gebruikers te filteren.
Offline W0etah - 15/12/2006 21:29
Avatar van W0etah PHP beginner ok

mag ik nog is wat vragen?
waarvoor dienen deze functies dan?

trim($input);
htmlspecialchars($input);
mysql_real_escape_string($input);
ucfirst($input);
Offline marten - 15/12/2006 21:33 (laatste wijziging 15/12/2006 21:34)
Avatar van marten Beheerder trim($input)
Deze functie haalt de spaties of andere witruimte aan het begin en einde van $input

htmlspecialchars($input);
Deze functie haalt bepaalde html codes uit je input (zet deze om). Dit is een afgekorte versie van htmlentities die alle html omzet.

mysql_real_escape_string($input);
Escaped bepaalde quotes in je input

ucfirst($input)
Maakt de eerste letter van je string een hoofdletter

www.php.net/HIERJEFUNCTIENAAM

zo kan je van elke functie informatie krijgen
Offline W0etah - 15/12/2006 21:42
Avatar van W0etah PHP beginner bedankt voor deze uitleg, nu werkt alles goed
Offline marten - 15/12/2006 21:43
Avatar van marten Beheerder graag gedaan
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s