Entwickler-Ecke
Programmiersprachen (Server) - Formularprüfung macht Probleme
DaKirsche - Di 27.01.09 20:52
Titel: Formularprüfung macht Probleme
Moin moin zusammen,
also ich habe ein Problem mit meinem PHP-Code...
ich habe ein Formular für die Dateneingabe.
Wenn nun das Formular abgeschickt wurde wird geprüft, ob Inhalt in der $_POST[ItemName] vorliegt...aber laut der Prüfung nein....erstmal ein wenig Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| [...] //Testausgabe echo ' Caption: '.$_POST[emCaption].'('.$this -> filled[$_POST[emCaption]]. ') MenueType: '.$_POST[emMenutype].'('.$this -> filled[$_POST[emMenutype]]. ') Parent: '.$_POST[emParent].'('.$this -> filled[$_POST[emParent]]. ') DT: '.$_POST[emDisplayType].'('.$this -> filled[$_POST[emDisplayType]].') '; [...] |
Quelltext
1: 2: 3: 4:
| [...] //Die Überprüfung if ($this -> filled[$_POST[emCaption]] && (($_POST[emMenutype] == 1) || ($this -> filled[$_POST[emParent]])) && $this -> filled[$_POST[emDisplayType]]){ [...] |
und die Funktion filled der Klasse:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function filled($str_overgive){ if ($str_overgive != "" && !empty($str_overgive) && isset($str_overgive) && $str_overgive != " "){ return true; } else { return false; } } |
So...die Funktion filled funktioniert komischerweise sonst die ganze Zeit...liefert immer true bzw. false zurück...
Nur hier nicht....
Und die Ausgabe, die ich oben angegeben habe liefert:
Quelltext
1:
| Caption: Startseite() MenueType: 1() Parent: 0() DT: 1() |
Sieht von euch jemand den Fehler? Ich suche den schon ewig und finde einfach nix.....zumal die Daten ja vorhanden sind, wie die Ausgabe zeigt...
MfG
DaKirsche
Delete - Di 27.01.09 22:05
Ich hab zwar lange kein PHP mehr geschrieben, aber müssen
1. nicht die Elemente des $_POST-Arrays in Hochkommata und
2. Funktionsaufrufe nicht in runden statt eckigen Klammern eingeschlossen werden?
Quelltext
1:
| $this -> filled($_POST['emCaption']) |
DaKirsche - Di 27.01.09 22:09
:autsch: :autsch: :autsch: :autsch: :autsch:
Danke ;)
Ne, die Hochkommata sind eigentlich egal, aber die runden Klammern warns ;)
Wird Zeit, dass ich Pause mache :P
Thx
Horschdware - Di 27.01.09 22:09
DeddyH hat folgendes geschrieben : |
Ich hab zwar lange kein PHP mehr geschrieben, aber müssen
1. nicht die Elemente des $_POST-Arrays in Hochkommata und
2. Funktionsaufrufe nicht in runden statt eckigen Klammern eingeschlossen werden?
Quelltext 1:
| $this -> filled($_POST['emCaption']) | |
richtig!
Ausserdem muss beachtet werden, dass $_GET und $_POST in Methoden i.d.R. nicht sichtbar sind und per
global $_GET; o.ä. verfügbar gemacht werden müssen.
Delete - Di 27.01.09 22:13
Das ist ja hier nicht der Fall, da sie als Parameter an die Methode übergeben werden.
Heiko - Mi 28.01.09 20:24
Horschdware hat folgendes geschrieben : |
Ausserdem muss beachtet werden, dass $_GET und $_POST in Methoden i.d.R. nicht sichtbar sind und per global $_GET; o.ä. verfügbar gemacht werden müssen. |
Wäre mir neu. $_GET, $_COOKIES, ... sind imho Variablen, die immer erreichbar sind. Sie reagieren also genauso wie $GLOBALS. Alle anderen Variablen die global sind, müsste man mit
global $var, alias
$GLOBALS["var"], ansprechen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!