$HTTP_POST_VARS und $HTTP_GET_VARS

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

$HTTP_POST_VARS und $HTTP_GET_VARS

Beitrag von MrMind »

Moin Leutz,

also ich habe gesehen, das das phpBB-Forum mit den Supervariablen $HTTP_POST_VARS bzw. $HTTP_GET_VARS arbeitet, wenn ich nun ein Formular mache und dieses mit den obrigen genannten Variablen auswerten möchte klappt es nicht, da diese Inhalte LEER sind.

Werte ich es nun mit $_POST bzw. $_GET aus, dann geht alles einwandfrei.

Benutze die PHP Version 4.3.3.

PS: das phpBB-Board läuft auf meinem Server.

Hoffe mir kann jemand erklären, warum mein Script net läuft, aber das Board schon.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Poste doch mal bitte den Code. Eigentlich sollten die Variablen existieren...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Was wird ausgegeben, wenn du print_r($HTTP...) ausführst?
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Den Code habe ich momentan auf meinen Laptop.

Ist eigentlich auch net so wichtig, ich kann es anhand einens simplen Beispiel zeigen:

Code: Alles auswählen

<?php

if($HTT_POST_VARS['mode'] == "send")
{

   //Auswertung
}
else
{
  //Formularanzeige
}
?>
Wenn ich nun das Formular ausfülle (habe im Formular den mode wiefolgt eingebaut:

Code: Alles auswählen

<input type="hidden" name="mode" value="send" \>
)

komme ich immer wieder in die Else-Anweisung, er erkennt nicht die mode Variable,

ersetze ich das $HTTP_POST_VARS durch $_POST funktioniert es.

Mfg
MrMind

PS: das mit print_r test ich gleich mal
Selbst ist der Coder
Coder unter Linux
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Code: Alles auswählen

$HTT_POST_VARS
ist jetzt wohl nur 'nen Tippfehler?

Ansonsten gibt's definitiv unter PHP 4.x.y keine Möglichkeit, die alten Variablen auszuschalten. Das geht erst ab PHP 5.0.0 (siehe http://de3.php.net/manual/en/language.v ... efined.php )

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Jap, war ein Tippfehler. Sorry.

Naja ich habe es grad nochmal versucht.

Hier der Quelltext:

Code: Alles auswählen

<?php
require("./global.php"); //brauch ich lediglich um meine Templates auszulesen

if($HTTP_POST_VARS['mode']  == "send")
{
   $title = $HTTP_POST_VARS['title'];
   eval("echo \"".gettemp("post_vars_send")."\";");
}
else
  eval("echo \"".gettemp("post_vars")."\";");
?>
Wenn ich nun, das $HTTP_POST_VARS['mode'] in $_POST['mode'] ändere geht es und auch $title wird mir angezeigt, aber wie oben geschrieben get es mit $HTTP_POST_VARS['mode'] nicht, ich komm immer wieder in die Else-Schleife.

print_r zeigt mir folgendes: Array([mode] => [title] => Test)

Wenn ich Test als Title eingebe.

PS: weiß ich auch, das sie bei 4.X automatisch angeschalten ist, steht ja auch in der php.ini, aber warum er es als if net annimmt, verstehe ich nicht.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Benutzeravatar
Shadowman
Mitglied
Beiträge: 170
Registriert: 16.12.2003 19:01
Wohnort: Vaterstetten

Beitrag von Shadowman »

probier es doch mal ohne die ' also mit $HTTP_POST_VARS[mode]
ich arbeite nur damit und es funktioniert immer
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Shadowman hat geschrieben:probier es doch mal ohne die ' also mit $HTTP_POST_VARS[mode]
ich arbeite nur damit und es funktioniert immer
In dem Fall müsste - korrekter Syntax vorausgesetzt - mode eine Konstante sein - was es aber nicht ist...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Shadowman
Mitglied
Beiträge: 170
Registriert: 16.12.2003 19:01
Wohnort: Vaterstetten

Beitrag von Shadowman »

hm? das versteh ich nicht, ich habe nun schon auf 3 webseiten diese methode verwendet, bei post und bei get, und eshat immer funktioniert. is das nun zufall?? :D
Benutzeravatar
King Crusty
Mitglied
Beiträge: 209
Registriert: 20.04.2002 11:58
Wohnort: Deggendorf - Altötting
Kontaktdaten:

Beitrag von King Crusty »

ich nehme normal immer $_POST Variante, weil es überall problemlos klappt. Welches System benutzt du? Einen fertigen W/Lamp oder was eigenes?
Wenn du beide Bedingungen oder-verknüpfst in der if abfrage gehts oder?
Antworten

Zurück zu „Coding & Technik“