Autor Beitrag
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Di 27.01.09 20:52 
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:

ausblenden 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]].')
';
[...]


ausblenden 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:
ausblenden 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:
ausblenden 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

_________________
Die simpelsten Fehler sind meist die Schwersten...
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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?
ausblenden Quelltext
1:
$this -> filled($_POST['emCaption'])					
DaKirsche Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: 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

_________________
Die simpelsten Fehler sind meist die Schwersten...
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Di 27.01.09 22:09 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
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?
ausblenden 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.

_________________
Delphi: XE - OS: Windows 7 Professional x64
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 27.01.09 22:13 
Das ist ja hier nicht der Fall, da sie als Parameter an die Methode übergeben werden.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Mi 28.01.09 20:24 
user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
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.