Ole Olsen wrote:
> Jeg har bikset en form og noget php-kode sammen. Selv om det måske
> ikke er særlig smart, virker det efter hensigten. Der er dog én ting
> jeg ikke kan finde ud af, nemlig hvordan man kan beholde en tekst i
> text-feltet hvis brugeren glemmer at vælge en radioknap. Jeg vil være
> meget taknemlig for hjælp til at løse dette problem.
Hej Ole
De korrekt indtastede data er jo tilstede i dit script, så det er bare
at udskrive formularen igen, men denne gang med de aktuelle data.
Det kan med fordel gøres ved at skrive en funktion til at generere
formularen. Funktionen kan tage data med som input, og så kan du kalde
den med tomme strenge første gang den kaldes.
Det kunne f.eks. se således ud:
<?php
$denneSide = $_SERVER['PHP_SELF'];
$requestMethod = $_SERVER['REQUEST_METHOD'];
$valg = isset($_GET['valg']) ? $_GET['valg'] : '';
$spoergsmaal = isset($_GET['spoergsmaal']) ? $_GET['spoergsmaal'] : '';
$submitted = isset($_GET['submitknap']);
function createForm($side, $valg=0, $spoergsmaal='') {
$form = "<FORM ACTION=\"$side\" METHOD=\"get\"><br>\n";
$form.= "<INPUT TYPE=\"radio\" NAME=\"valg\" VALUE=\"1\"".($valg==1?"
checked":"").">1<BR>\n";
$form.= "<INPUT TYPE=\"radio\" NAME=\"valg\" VALUE=\"2\"".($valg==2?"
checked":"").">2<BR>\n";
$form.= "Skriv dit spørgsmål i feltet herunder:<BR\n>";
$form.= "<TEXTAREA NAME=\"spoergsmaal\" COLS=\"50\"
ROWS=\"8\"\n>$spoergsmaal</TEXTAREA><br>\n";
$form.= "<INPUT TYPE=\"submit\" NAME=\"submitknap\" VALUE=\"indsend\">";
$form.= "</FORM>";
return $form;
}
if( !$submitted ) {
echo createForm($denneSide);
} else {
$fejlBeskeder = array();;
if( empty($valg) ) {
array_push($fejlBeskeder, 'Der skal vælges 1 eller 2.');
}
if( empty($spoergsmaal) ) {
array_push($fejlBeskeder, 'Der er ingen tekst at sende.');
}
if( count($fejlBeskeder)>0 ) {
echo createForm($denneSide, $valg, $spoergsmaal);
echo "Der var fejl i
indtasningen:<UL><LI>".implode("</LI><LI>", $fejlBeskeder)."</LI></UL>";
} else {
echo "<strong>Valg:</strong>$valg<BR>\n";
echo "<strong>Spørgsmål:</strong>$spoergsmaal<BR>\n";
}
}
?>
MVH Per Thomsen,
http://www.pert.dk/