login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Q: Verzonden gegevens in een input tonen

Offline Sweepee - 20/09/2005 22:21
Avatar van SweepeeHTML beginner Hallo allemaal,

Ik ben bezig met een klein administratie paneeltje. Momenteel zit ik aan een nieuwssysteem bezig. Er is een pagina waar alle nieuws artikels worden getoond, dus geselecteerd uit de database. Hierbij worden linken gegenereerd met de volgende structuur.

pagina.php?actie=toevoegen
pagina.php?actie=bewerken&id=1
pagina.php?actie=verwijderen&id=1

Dit zijn voorbeeld linken van een record. Op pagina.php wordt dan een formulier gegeneerd. Als men dan op de knop drukt worden de gegevens verzonden én gevalideerd, als er ongeldige gegevens tussen zitten, wordt het formulier opnieuw getoond. De waarden die de gebruiker had ingevuld, komt dan wéér terecht in de <input> velden. Probleem is: ik zit nogal in de knoop met die addslashes en stripslashes . Op een andere website heb ik al gelezen dat wanneer je de gewone echo functie gebruikt, je stripslashes() moet toevoegen, maar wat moet je bij <input> velden doen om de gegevens met quotes er in te krijgen zonder de slashes?

Bedankt voor alle reacties!

MVG, Kristof.

6 antwoorden

Gesponsorde links
Offline Ontani - 20/09/2005 23:17
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
dit lijkt me een totaal onbruikbaar antwoord maar toch.

ik zou zowiezo al zeker
addslashes en htmlentities gebruiken

  1. <?
  2. echo "value=\"". addslashes(htmlentities($_POST['leeftijd'])) ."\" >";
  3. ?>
Offline Gerard - 21/09/2005 00:21
Avatar van Gerard Ouwe rakker Wat je dan het beste kan doen is de addslashes verwerken als je de query uitvoert. Op die manier worden ze alleen toegevoegd wanneer dat echt moet. Als je ze toont in het input veld zal de gebruiker misschien gek kijken.

  1. <?php
  2. $qInsertItem = mysql_query("INSERT INTO tabel (field1, field2) VALUES ('"addslashes($_POST['field1'])"', '".addslashes($_POST['field2'])."')");
  3. ?>
Offline Sweepee - 21/09/2005 00:37
Avatar van Sweepee HTML beginner Ontani, wat je zei werkte, wanneer het formulier opnieuw wordt getoond de " vervangen zijn door &quot;. Maar ik heb wel het maxlength attribuut meegegeven met de <input> tag. Wordt die &quot; dan genomen als een string van 6 karakters of als een string van 1 karakter?

MVG, Kristof.
Offline cracker - 21/09/2005 01:03 (laatste wijziging 21/09/2005 01:03)
Avatar van cracker Onbekend je post dus iets als dit bvb:
abcde"f
  1. <?php
  2. $_POST['str'] //7 tekens
  3. htmlentities($_POST['str']) //12 tekens (abcde&quot;f)
  4. addslashes($_POST['str']) //8 tekens (abcde\"f)
  5. ?>
Offline Sweepee - 21/09/2005 01:23
Avatar van Sweepee HTML beginner Dan ga ik problemen hebben vrees ik :x. Iedere input heb ik een maxlength attribuut mee gegeven, wat overeenstemt met de maximale lengte van het veld in de tabellen van de database. Misschien nog andere oplossingen dan die van Ontani? Of kan ik er niet onderuit om alles aan te passen?
Offline Thomas - 21/09/2005 07:43
Avatar van Thomas Moderator Heb je dit ook gecontroleerd of dit een probleem vormt door simpelweg een voorbeeldje te maken waarin je een tekst zet die langer is dan de maxlength? Volgens mij is dit gewoon mogelijk als je zelf het value-attribuut invult.
Maxlength controleert ingevoerde tekst op het moment dat je het intypt, maar als je het er zelf in zet is het geen probleem denk ik.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s