solvery Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 Hallo Leute, ich habe ein kleines Problem... ein einfaches Skript zur Veranschaulichung des Problems... Das Formular ruft sich selbst auf, damit spar ich mir den CGI-Kram fürs erste, nur um mal das Wesentliche besser darzustellen ****************************************************************** <FORM METHOD="post" ACTION="formular.php" enctype="multipart/form-data"> Betreff:<br> <INPUT TYPE="text" NAME="betreff" SIZE="40" MAXLENGTH="40" VALUE="betreff..."><br> <input TYPE="submit" VALUE="Abschicken"> </form> <? echo "Betreff: $betreff"; ?> ****************************************************************** Fehlermeldung: Notice: Undefined variable: betreff in C:\Programme\Apache Group\Apache\htdocs\test\formular.php on line 15 Betreff: Alles funktioniert wie es soll, der Interpreter funzt, der Server funzt und sonst alles was ich bisher in PHP geschrieben habe. Nur die Übergabe von Parametern funzt nicht... Aber eben genauso habe ich es überall nachgelesen, dass Daten aus Formularen, eben so übergeben werden??? Wer kann helfen?? Zitieren
Spike Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 Hi, $betreff hat beim ersten Aufruf des Formulars noch keine Zuweisung, also noch keinen Inhalt. Fang das mit if (isset ($betreff)) { echo "Betreff: " .$betreff; } [/PHP] ab. isset(); überprüft, ob eine Variable wirklich existiert. Ansonsten empfehle ich dir im Bezug auf Formularen die sich selber wieder aufrufen einige Schalter einzubauen, z.B. mit einem Hidden Input der eine $action Variable übergibt und dann kannst du immer beim Aufrufen der php-Seite abfangen ob das Formular abgesendet wurde und darauf reagieren. Wenn du willst geb ich dir ein Beispiel wenn dir nicht klar ist was ich meine Zitieren
Valium Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 und wir gewöhnen uns ab mit Globals zu arbeiten: http://www.php.net/manual/de/security.registerglobals.php Zitieren
Spike Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 Super Posting, und übersetzt für Unwissende heisst das? Ich denke nicht das du ihm damit weiterhilfst. Ausserdem, für ein simples Kontaktformular ist das etwas überzogen, oder? Zitieren
solvery Geschrieben 24. Februar 2003 Autor Geschrieben 24. Februar 2003 bin gerade dabei, daraus schlau zu werden.. :-) Zitieren
Wolle Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 Originally posted by Spike Super Posting, und übersetzt für Unwissende heisst das? Ich denke nicht das du ihm damit weiterhilfst. Das heißt das seit PHP 4.1 Register_Globals in der php.ini auf off stehen. Vielleicht ist der hier etwas verständlicher: http://fachinformatiker-world.de/forums/showthread.php?threadid=41094&highlight=RegisterGlobals Ansonsten mal die Suchfunktion benutzen, es gibt alle paar Tage eine Frage dazu: http://fachinformatiker-world.de/forums/search.php?action=showresults&searchid=128162&sortby=lastpost&sortorder=descending Zitieren
gurkenpapst Geschrieben 24. Februar 2003 Geschrieben 24. Februar 2003 Eben. seit einiger Zeit wird empfohlen die Variante $_POST["betreff"]; zu verwenden. Also in diesem Fall um genau zu sein so: echo "Betreff: " . $_POST["betreff"]; Warum das so ist kannst du in den oben gelinkten Seiten lesen, was zu empfehlen ist. Zitieren
Spike Geschrieben 25. Februar 2003 Geschrieben 25. Februar 2003 Achso damit man sicherstellt das niemand Variablenwerte per Cookie in dein Script "einschmuggeln" kann? Ich hab das bisher einfach immer mit isset() überprüft, werd meine Scripte dann nochmal anpassen denke ich. Danke Zitieren
solvery Geschrieben 25. Februar 2003 Autor Geschrieben 25. Februar 2003 warum erfindet man eine Programmiersprache die doch sowieso nur wieder von C/C++ abgeleitet ist??? - ist doch alles derselbe Kram Kleines Bsp.: in C kann man doch den Datentyp einer Variable vor der Benutzung genau definieren... gesagt, getan - nie wieder ein Problem in PHP bleibt das aus, doch es gibt wieder extra zig Funktionen um den Datentypen festzustellen... ... wo ist da der Sinn??? Zitieren
Florian_K Geschrieben 28. Februar 2003 Geschrieben 28. Februar 2003 Originally posted by solvery warum erfindet man eine Programmiersprache die doch sowieso nur wieder von C/C++ abgeleitet ist??? - ist doch alles derselbe Kram Hallo solvery! Das macht wenig Sinn für das geschilderte Problem, die Philosophie von PHP in Frage zu stellen. Wenn alle mit C++ arbeiten würden, wäre das bestimmt schön für dich, aber wenig sinnvoll. Ähnlich wäre eine Frage wie: "Die europäischen Sprachen sind alle vom Latien abgeleitet, warum sprechen alle trotzdem andere Sprachen?" Sorry wg. OT, SCNR Florian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.