Wie kann ich überprüfen ob diese eingaben
$Name=$_POST['name'];
$email=$_POST['email'];
$Jahr=$_POST['jahr'];
$monat=$_POST['monat'];
$tag=$_POST['tag'];
$ingame=$_POST['ingame'];
$dauer=$_POST['dauer'];
$warum=$_POST['warum'];
gemacht wurden (bestenfalls via isset() kann isset mehrer parameter annehmen ?)
überprüfen ob mehrere strings gesetzt sind via isset()
-
-
-
Schreib dir doch ne Funktion, die nen Array bekommt, das dann durchläuft und foreach dann mit isst und !empty prüft.
Dann füllst du bei jedem Fehler nen fehlerarray und gibst das dann zurück. Bzw rufst du ob es leer ist, wenn ja gib nen true zurück, sonst das Array -
Ich hab jetzt eine Funktion geschrieben:
Code
Alles anzeigenfunction full() { $input=array("1"=>$Name,"2"=>$email,"3"=>$Jahr,"4"=>$monat,"5"=>$tag,"6"=>$ingame,"7"=>$dauer,"8"=>$warum); for($i=1;$i<=8;$i++) { if(!isset($input[i])) { return false; } else { return true; } } }
Sollte doch eigtl klappen oder ? etwas primitiver als mein Vorposter es vorhatte aber ich bin noch anfänger
-
-
wäre so doch auch net viel schwerer gewesen...
einzeln abzufragende werte könnte man damit auch testen, man müsste die einzelne variable halt vorher zu nem array casten.
ich weiß akut nur net wie sinnig oder unsinnig so ein arraycast wäre, sprich ich habs bisher zwar einmal gemacht, aber weiß net ob ggf doch schmu dadurch passieren könnte -
Öhm wenn du wirklich mehrere Werte auf einmal Prüfen willst dann nehme isset mit mehr Parametern..
Abgesehen davon braucht man das eher selten, da man meist spezielle Fehlermeldungen generieren möchte
-
und woher weiß man dann:
a) welcher parameter die abbruchbedingung ist?
b) ob die vars zwar gesetzt , aber dennoch leer sind?mehrere parameter prüft man doch bei formularen, also braucht man das doch schon öfters..
is zwar schön, dass du den tip gibst pion, aber wo bleibt die erläuterung warum du diesen tip gibst?! -
Also, was bringt es dir das du eine globale Umwandlung machst?
Deswegen musst doch unten im Script trotzdem Prüfen ob der Key zb im Array ist, also eine wirkliche Erspannis ist das nicht.
Wie oft Prüfst du den ob alles gesetzt ist ohne spezielle Fehlermeldungen rauszuhauen ?Ansonsten vergleiche mal:
-
die globale umwandlung war nur ein hinweis für einen einzelwert...
deine funktion da macht im grunde nichts anderes, als meine. vorteil bei dir is, dass es kürzer is.
hab selber die filterfaxe noch net gekannt..
aber letztlich ist es doch immer von vorteil ein array auszugeben, was die fehler enthält ist doch dass man die fehlerbehandlung später auch in einer eigenen funktion unterbringen kann und dann eben auch eigene errors definieren kann.. -
Wie kann ich daraus alles auslesen und schauen ob sie ausgefüllt sind ? :
<html>
<head>
<title>Bewerbungsformular!</title>
</head>
<body>
<form action="Bewerbung.php" method="POST"/>Ihr Name:<br/>
<input type="text" name="name"><br/><br>
Ihre Email Adresse: <br />
<input type="text" name="email"><br/><br>
Ihr Geburtsdatum: <br/><br>
Jahr:<input type="text" size="10" name="jahr"/>Monat:<input type="text" size="10" name="monat"/>Tag:<input type="text" size="10" name="tag"/><br/><br>
Ingame-Name:<br>
<input type="text" name="ingame"/><br><br/>
Spiele seit ca:<br>
<input type="text" name="dauer"/><br/><br/>
Warum solltest du auf den Server :<br/>
<textarea name="warum" rows="10" cols="50"></textarea><br><br>
<input type="submit" value="Abschicken!"/>
</form>
</body>
<html> -
$data=array($Name,$Email,$IngameName,$_POST['jahr'],$_POST['monat'],$_POST['tag'],$Spielzeit,$grund);
function checkit($array)
{
for($i=0;$i<=8;$i++)
{
if($array[i]=="")
{$voll=false; }
}
if($voll==false)
{return false;}
else
{return true;}
}if(checkit($data)==true)
{die("lol");}
elseif(checkit($data)==false)
{die("w");}WARUM FUNKTIONIERT DAS NICHT BITTE BRAUCHE EINE ANTWORT !
-
Wieviele antworten brauchst du noch?
Ich würde allerdings empty empfehlen, genauso wie grundlagen lernen -
PHP
Alles anzeigenfunction missing(array $needed, array $given) { foreach($needed as $x) if(!isset($given[$x]) || empty($given[$x])) return $x; return false; } $missingOne = missing(array('name', 'email', 'ingame'), $_GET); if($missingOne === false) { // mach was } else { echo $missingOne . ' is missing'; }
-
Ihr mit euren notschleifen gebaue^^
-
PHP ist kein Haskell, wo das alles wegoptimiert werden kann.