Hallo,

Ik heb een formulier met een textarea en wat controle op invoer. Na het verzenden van het formulier en bij foute invoer wordt het formulier weer getoond met de waarden die opgegeven werden.
Voor tekstvakken, radio buttons, checkboxen etc laat het formulier precies zien wat er aangevinkt was en wat er eventueel in een tekstvak was ingevuld.
voorbeeld dat goed werkt:
<input type="radio" name="Vraag" value="Algemeen"<?php if (isset($_POST['Vraag']) && $_POST['Vraag'] == 'Algemeen') {echo "checked";}?>/>Algemeen<br/>

Alleen de invoer in een textarea die verdwijnt na verzenden formulier en bij het vinden van foute invoer. Dit is wat ik heb staan in het formulier voor textarea:

<textarea name="Bericht" rows="8" cols="20" value="<?php if (isset($_POST['Bericht'])) echo $_POST['Bericht'];?>"></textarea><br/>

...en dit werkt dus niet, want invoer verdwijnt na het verzenden en wanneer het formulier nog een keer getoond moet worden ivm fouten.

Hoe kan ik mijn textarea met ingevulde tekst weer laten zien??

Groeten,
zackat
Die warning krijg je idd afhankelijk van je error reporting wel of niet. Het is geen probleem als je het niet neerzet, en wordt wel goed geïnterpreteerd door de meeste profiders, maar het is een nettere oplossing met de if isset, omdat je dan zeker geen warning krijgt.
De error reporting zit er nu in :-)

script begint zo:
if($_SERVER['REQUEST_METHOD'] == 'POST')
*
*
* een aantal checks etc

daarna wordt het formulier getoond met:
<form action="" name="info" method="post">

ja, niets ingevuld bij action enzo; en het levert geen problemen op.
...ik zit wel lokaal te testen; maakt dat nog wat uit?
Als je niets hebt veranderd aan je error reporting in je PHP file dan maakt het niets uit. Het kan zijn dat je server waar die naartoe moet (neem aan dat het script op internet komt) wel error reporting all aan heeft staan, (wel zeer onwaarscijnlijk) en dat die dan weer een warning geeft. Zou je ff moeten testen.
Ik vind het zelf het prettigst om alle warnings aan te hebben, zodat ik ze eruit kan halen en ik zeker weet dat niemand die te zien krijgt.
naar mijn weten heb ik dus niets veranderd dan alleen:
error_reporting(E_ALL)
toegevoegd.

ik krijg nu dus geen errors ofzo te zien, lokaal niet. met deze toevoeging zal dat ook als het script op internet komt ook geen errors laten zien, bedoel je dat zo?

als dat zo is dan is er toch eigenlijk niets aan het handje..
Het ligt er aan hoe de provider op internet de instellingen heeft. Maar meestal zijn die zo ingesteld dat je niet alle fouten ziet.

Reageren