pauline: array_walk

Beitrag lesen

hallo forum!

ich habe ein formular, die daten kommen als POST-variablen. ist nun eine dieser variablen leer (also weil keine eingabe erfolgte), soll der bezeichnungstext des leergelassenen input-feldes in rot erscheinen.

das sieht so aus:

<?php
ession_start(); // die variablen sollen von der pruef.php ausgewertet werden, und bei falscheingabe alle wieder in diesem formular zur verfügung stehen (=komfort für user)

$t1="Name";
$t2="Vorname";
$t3="Strasse";
$t4="Ort";

$arr=array($name=>$t1,$vorname=>$t2,$strasse=>$t3,$ort=>$t4); // hier wird jedem formularfeld-text seine POST-variable zugeordnet

$erg=array_walk($arr,'make_red');

function make_red(&$x)
{
if(empty($x))$x="<font color='#f6tr4r'>".$x."</font>";

// hier soll geschehen, dass eine leergelassene POST-variable den text (z.b. 'Name') in rot erscheinen lässt, damit man gleich weiss, wo im formular der eingabefehler war (= komfort für user)
}

?>
<form  name=formular action="pruef.php" method="POST">

<?php echo$arr[$1];//hier sollte jetzt 'Name' stehen (bei falscheingabe in rot)?><br><input type=text value="<?php echo$name;?>" name="name" size=50><p>
<?php echo$arr[$t2];?><br><input type=text value="<?php echo$vorname;?>" name="vorname" size=50><p>
<?php echo$arr[$t3];?><br><input type=text value="<?php echo$strasse;?>" name="strasse" size=50><p>
<?php echo$arr[$t4];?><br><input type=text value="<?php echo$ort;?>" name="ort" size=50><p>
Text</i><input type=submit value="Senden">
</form>

<?php

session_destroy();

?>

gut, das könnte man auch einfacher haben, aber es sollen noch einige felder mehr hinzukommen, und ich fände es sehr elegant, eine function zu haben, die alle POST-variablen "durchrattert", und wenn eine leer ist, dann gleich deren zugehörigen formulartext rot 'ankreidet'. ich glaube, ich bin kurz davor, komme aber nicht weiter...;-(

habt recht vielen dank,

pauline