Daten übergeben per URL

Code:
downloadUrl("/map/torn_genxml.php<?PHP if(isset($_POST['year'])) echo('?year='.$_POST['year']); ?>", function(data)  
{
 
Das hab ich schon weiter oben geschrieben, nur in einem anderen Stil. Kommt dazu noch etwas?

Ich weiß, aber da dass - laut ihm - nicht funktioniert hat, habe ich es noch einmal in Idioten-Sicherem Stil geschrieben... bzw. so, dass es - falls es echt daran liegen sollte...... - funktionieren müsste. :)
 
Hatte die index.php vorher nicht angesehen. Jetzt weiß ich bescheid.

Am einfachsten wäre es, wenn du vor das echo eine Variable schreibst:

PHP:
if(isset($_POST['year'])) {
   $downloadurl = "/map/torn_genxml.php?year=".$_POST['year'];
} else {
   $downloadurl = "/map/torn_genxml.php";
}

€: vor das hier...
PHP:
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Dafür dann im Code die Zeile abändern:
PHP:
downloadUrl("'.$downloadurl.'"., function(data) 
{
 
Veto :D

PHP:
$downloadUrl = "/map/torn_genxml.php";
if (isset($_POST['year'])) {
    $downloadUrl .= "?year=" . urlencode($_POST['year']);
}

Na ihh, du animierst ihn dazi, den echo Kram nicht zu entfernen?
 
Ja ich weis, man kann es noch schöner schreiben... :D Unterschied macht es keinen großen, aber ich weis... Man sollte immer so programmieren, dass man leicht etwas ändern kann, ohne dass am Ende 10 weitere Zeilen geändert werden sollten... Ich programmier aber auch nicht wirklich viel und sowieso nur aus Spaß und als Hobby. Bin ja immer noch Schüler. :)

Die Funktion "urlencode" kenne ich noch gar nicht, was macht die bitte?

Und naja, ich kann ihn gerne dazu animieren den Code zu ändern. Nur ob er Lust hat seine 100en Zeilen zu ändern, ist dann die andere Sache.... Ich will ihn ja nicht provozieren. *g*
Er wollte auch nur eine Lösung für das Problem ... und nicht eine Korrektur seiner Programmierweise.

€: Wenn dein Code meinen ersetzen soll, dann muss man die Groß-/Kleinschreibung beachten bei der Variable (falls man das übersieht).
 
Sie kodiert Strings in Parameterwerte für URLs.
Z.B. gib der Code urlencode("foo=bar&y=z") den String foo%3Dbar%26y%3Dz zurück.
Dies verhindert eine Manipulation der URL.
http://php.net/manual/de/function.urlencode.php

Es hat ja einen Grund, warum man die Menschen zu sauberen Code bewegt. Früher dachte ich "ja ja, bla bla. Ich brauch das nicht.", doch mittlerweile will ich meine Codingstandards nicht mehr missen, da sie mir das Leben echt vereinfachen.

PS: Ich werd dazu mal 'nen Tutorial erstellen.
 
Das echo ist weg, aber an der URL haste nix geändert!

Ich hab dir das jetzt mal eingebaut. Hier die index.php!

Du musst in dem Form, wo man das Jahr wählt, dem Feld den name "year" geben und an die index.php weiterleiten, mittels POST. Sollte hoffentlich klar sein!

€: hihi schneller *g*
 

Anhänge

Zuletzt bearbeitet:
Na da schaut doch schon mal besser aus ;)

Jetzt kannst du in Zeile 5 folgenden Code einfügen:
PHP:
$downloadUrl = '/map/torn_genxml.php';
if (isset($_POST['year'])) {
    $downloadUrl .= '?year=' . urlencode($_POST['year']);
}

in Zeile 261 ersetzt du
Code:
downloadUrl("/map/torn_genxml.php",
durch
Code:
downloadUrl("<?php echo $downloadUrl; ?>",

Dann müßte es auch mit der Nachbarin ... ähh dem Skript klappen ;)
 
Zurück