query_string / http_post_vars

hi all,
ich benutze einen relaxten formmailer. am anfang frägt dieser form-mailer folgendes ab:

if($QUERY_STRING!="")…

else if(isset ($HTTP_POST_VARS)…

also beim ersten if frägt er doch ob überhaupt ein query übergeben wurde, oder lieg ich da falsch? ist $QUERY_STRING eigentlich ein von php bekannte globale Variable??? Kann das jemand etwas genauer beschreiben? Wenn ich in meiner ersten Annahme richtig liege, dann verstehe ich die else if Abfrage nicht…warum wird erst geprüft, ob überhaupt daten rüberkamen und danach, im falle von NULL-DAETN, ob http variaben über post gekommen sind? erfüllen beide abfragen im grunde nicht dasselbe? die überprüfung ob vom formular daten ankamen???

danke für aufklärung
meth

Die Variable $QUERY_STRING gibt alles zurück, was nach der URL als Parameter erscheint. Mit dieser Abfrage wird geprüft, ob jemand in der URL irgendwelche Parameter mit angegeben hat. Zum Beispiel: www.url.dom/meinscript.php?param1=test
Hier würde $QUERY_STRING dann „param1=test“ enthalten.

Mit $HTTP_POST_VARS wird geprüft, ob parameter mit dem POST Befehl des Formulars übergeben wurden.

Solche Unterscheidungen muss man manchmal machen, damit nicht böse Buben irgendwelche Formularfelder durch übergebene Parameter in der URL einfach überschreiben.

aber dann müsste man doch beide abfragen in eine if packen oder? warum zweimal das ganze getrennt???

aber dann müsste man doch beide abfragen in eine if packen
oder? warum zweimal das ganze getrennt???

keine Ahnung, ich kenne Deinen Code nicht. Die Antwort wirst Du sicher in den entsprechenden if-Abfragen finden. Was wird denn dort genau gemacht?

Marian

ok klingt alles amateurmässig sorry…ich paste mal etwas mehr…

if($QUERY_STRING!="") {
$doc_stat = 1;
$query_parts = split("&",$QUERY_STRING);
$felderzahl = $query_parts_len = count($query_parts);
for($i=0;$i

Das macht die Sache klar:

Es wird deshalb zweimal abgefragt, weil die Daten (entweder aus der URL oder aus den POST-Variablen) weiter verarbeitet werden.

Da die Parameter auf unterschiedliche Art ausgelesen werden müssen (eimal aus einem String, einmal aus einem Array) braucht es hier zwei Abfragen.

Alles Klar? :smile:

Marian

aber ich poste doch die daten aus dem formular immer auf dieselbe art und weise, heisst das der macher des skripts wollte das für die community flexibler gestalten, kann ich eine von beiden anfragen kikken? ich poste die form-daten per POST…immer.

aber ich poste doch die daten aus dem formular immer auf
dieselbe art und weise, heisst das der macher des skripts
wollte das für die community flexibler gestalten, kann ich

das hast Du richtig erkannt :smile:

eine von beiden anfragen kikken? ich poste die form-daten per
POST…immer.

Wenn Du immer Post benutzt, kannst Du die QUERY_STRING abfrage rausnehmen.

Nur so aus Neugier: Welches Skript ist das eigentlich?

Marian

keine ahnung :smile: ein skript ausm netz…formmailer mässig halt :smile: hab ich von nem kumpel…steht nicht mal mehr drauf von wem, bekomm ich jetzt trouble???

keine ahnung :smile: ein skript ausm netz…formmailer mässig halt

) hab ich von nem kumpel…steht nicht mal mehr drauf von wem,

bekomm ich jetzt trouble???

Ich glaube, wegen einem einfachen Formmailer wirst Du kaum Probleme bekommen :smile:
Trotzdem ist es es generell besser, bei Skripten aus dem Internet zu wissen, unter welcher Lizenz diese verwendet werden können und von wem sie sind. Und Formmailer findest Du bei http://www.hotscripts.com massenhaft :smile:

Du kannst Dir übrigens auf meinen Seiten einen eigenen Formmailer online zusammenbauen und Dir per e-Mail zuschicken lassen. (http://www.rent-a-tutor.com/tools/formgenerator/)

Marian

suzper super super, danke :smile: ich hatte bisher kenien besseren gefunden, ich will jetzt einen wo ich auf javascript verzichten kann, und wo fehlende eingaben immer wieder auf derselben seite dargstellt werden :smile: