PHP - eigentlich kein Problem aber...?
ulimativ
- php
0 ulimativ0 Sönke Tesch0 ulimativ
/*Diese Funktion überprüft eingegebene Formulardaten und gibt fehlende oder falsche Daten in einem Array zurück*/
function validate($required){
foreach ($required as $key => $val)
{
if ($key=="Email")
{
if (!ereg("^([a-zA-Z0-9.\_-]+)@([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z]+)$", $val))
$miss[]= $key;
}
if (empty($val))
{
$miss[] = $key;
}
}
return array("miss");
So weit so gut, die funktion verfährt richtig, so nun will ich das zurückgegebene Array ausgeben,...
$miss[]=validate($required);
foreach($miss as $v)
{
echo $v;
}
also das Array $required existiert, aber er gibt mir anstatt der Werte nur 'Array'. Ich find ums Verrecken den Fehler nicht. Hilfe!!
Uli
Oh es hat wohl was mit dem Gültigkeitsbereich von Variablen zu tun...
HAb versucht das Array jetzt woanders zu initialisieren, aber mit gleichem Ergebnis. Mist...
function validate($required){
foreach ($required as $key => $val)
$miss=array();
{
if ($key=="Email")
{
if (!ereg("^([a-zA-Z0-9.\_-]+)@([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z]+)$", $val))
$miss[]= $key;
}
if (empty($val))
{
$miss[] = $key;
}
}
return array("miss");
uli
return array("miss");
-----------^^^^^^^^^^^^^
$miss[]=validate($required);
--------^^
foreach($miss as $v)
{
echo $v;
}
also das Array $required existiert, aber er gibt mir anstatt der Werte nur 'Array'. Ich find ums Verrecken den Fehler nicht. Hilfe!!
Kleiner Fehler, große Wirkung :)
Deine Funktion validate() gibt zwar ein Feld zurück, aber indem Du $miss[] schreibst, wird dem (neuen) Feld $miss ein neuer Eintrag hinzugefügt, in dem dann das von validate() zurückgegebene Feld steckt.
Lösung: Eckige Klammern weg.
$miss=validate($required);
Dann hast Du davon unabhängig noch ein zweites Problem:
validate() gibt keine geprüften Werte zurück, sondern Feld mit einem einzigen Eintrag, welcher den Text "miss" enthält.
Lösung:
return $miss;
Beide Fehler hättest Du bestimmt sehr schnell selbst gefunden, wenn Du Dir den Variableninhalt mit Hilfe von var_dump() ausgeben lassen hättest. Nimm diese Debug-Funktion besser in Dein Repertoire auf, Unklarheiten über Variableninhalte kommen bei PHP öfters vor :)
Gruß,
soenk.e
Beide Fehler hättest Du bestimmt sehr schnell selbst gefunden, wenn Du Dir den Variableninhalt mit Hilfe von var_dump() ausgeben lassen hättest. Nimm diese Debug-Funktion besser in Dein Repertoire auf, Unklarheiten über Variableninhalte kommen bei PHP öfters vor :)
hast recht, aber sorry mach erst seit 4 wochen mit php rum und die Funktion var_dump() war mir noch nicht bekannt...
Man lernt nie aus...
Danke mal!!!
Uli