URL: https://www.overclockers.at/coding-stuff/http_get_vars_funkt_nicht_192582/page_1 - zur Vollversion wechseln!
Code: PHP$auswahl = $_POST['wahl']; echo " <meta http-equiv=\"refresh\" content=\"3\" URL=\"http://ip/index.php?site=streckenplan&kursnummer=$auswahl\"> "; if(isset($HTTP_GET_VARS['kursnummer'])) $test = $HTTP_GET_VARS['kursnummer']; else $test = "Nicht gesetzt"; echo $test
teste mahl, ob $auswahl überhaupt die zahl enthält.
ist die url in der adresszeile nach dem refresh richtig?
ja, die zahl ist nach dem submit in $auswahl und damit auch in der URL (!) nach dem refresh is es natürlich nicht mehr in $auswahl, in der URL aber weiterhin vorhanden. also _genau_ das was ich haben will.
jetzt muss ich halt ne möglichkeit finden, die zahl aus der URL nach dem refresh weiterverwenden zu können. nur eben das funkt nicht mit http_get_vars/_get was aber eigentlich gehn sollte
Alle anderen/Andere ("herkömmliche") get-Variablen funktionieren?
naja, ich hab ein paar probiert (keine ahnung ob alle). die, die ich probiert habe, haben auch nicht funktioniert. welche könnt ich den noch versuchen?
Versteh ich das richtig, du bekommst mit $_GET überhaupt keine Variablen? Wird $_GET (bzw. dessen Inhalt) vielleicht irgendwo im Script gelöscht? Funktioniert $_REQUEST oder import_request_variables()?
Wenn du $HTTP_GET_VARS benutzt, muss übrigens register_long_arrays auf on sein.
was meinst jetzt genau mit variable? oder meinst du etwa eh inhalt?
wenn die URL ...&kursnummer=23 lautet und danach versuch die abzuspeichern mit $bla = $_GET['kursnummer'] ist $bla leer, ja :/
inhalt wird nicht gelöscht. sicherheitshalber hab ich alles danach auskommentiert und nur mit dem testscript "nicht gesetzt" probier ich die variable rauszubekommen. REQUEST hab ich auch schon versucht, funkt nicht. import_request_variables nicht, werd ich dann noch versuchen!
bzgl. register_long_arrays: wo schau ich da nach ob das gesetzt ist und wenn nicht, wie ändere ich das? tia!
Nein, ich meine eigentlich irgendwelche Variablen. Also wenn du testweise in dein Script "echo $_GET['test'];" schreibst und dann das script mit ./script.php?test=test aufrufst (gleich aus dem Browser heraus), gehts dann? Nur mal um zu schauen ob $_GET prinzipiell funktioniert (obwohl mir jetzt nicht einfällt, warum das nicht der Fall sein sollte. Vor allem wenn $_POST und $_REQUEST für post-Variablen funktioniert).
Kannst du vielleicht mit etwas mehr Infos über den Ablauf und Aufbau des Scripts rausrücken? Irgendwie hab ich das Gefühl, dass zum Zeitpunkt wo du abfragst die Variable noch gar nicht existiert, aber da kann ich natürlich komplett falsch liegen.
register_long_arrays steht in der php.ini. Während der Laufzeit mit ini_set() und ini_get() zu überprüfen bzw. zu setzen, ansonsten ganz einfach im File eintragen
Zitat von jivesNein, ich meine eigentlich irgendwelche Variablen. Also wenn du testweise in dein Script "echo $_GET['test'];" schreibst und dann das script mit ./script.php?test=test aufrufst (gleich aus dem Browser heraus), gehts dann? Nur mal um zu schauen ob $_GET prinzipiell funktioniert (obwohl mir jetzt nicht einfällt, warum das nicht der Fall sein sollte. Vor allem wenn $_POST und $_REQUEST für post-Variablen funktioniert).
wenn du weitergeleitet wurdest, dann maach einen refresh. wer weiß, vielleicht schickt dein browser kein get bei einem refresh.
ansonstne versuch mal ein var_dump($_GET)
Nach dem ersten Refresh ist $_POST[\'wahl\'] nicht mehr gesetzt, $auswahl bleibt leer und somit kommt nichts mehr in $_GET[\'kursnummer\'].
natürlich ist es nach dem refresh nicht mehr gesetzt, aber genau deshalb hau ich die zahl, die er beim ersten mal bekommt ja in die URL. und da bleibt sie selbst nach einem refresh vorhanden (!)Zitat von gueNach dem ersten Refresh ist $_POST[\\\'wahl\\\'] nicht mehr gesetzt, $auswahl bleibt leer und somit kommt nichts mehr in $_GET[\\\'kursnummer\\\'].
also je nachdem welche php version auf dem server läuft wird $HTTP_GET_VARS eventuell nicht mehr funktionieren das ist mal das erste.
zweite frage. wie lang ist der path vorher ? also das http://ip/............... / site.php?actionbla= .......
Also wie lang sind die Punkte? übergibst du da irgendeine lange var? Weil es kann sein, dass du bei mehr als 255 zeichen in der url probleme bekommst.
Andere möglichkeit, wie wärs wennst mal folgendes ausprobierst
mach das mal als eigenes script mit dem namen: testa.php
Code: PHP<? switch($_GET["act"]) { case 'testn': echo "es geht doch :D"; break; default: HEADER("Location: testa.php?act=testn"); break; } ?>
@snoop: dein script funktioniert.
habe ich aber inzwischen selber raus gefunden und ich weiß auch schon wo der fehler liegt. aber ich hab keine ahnung wie ich das lösen soll, folgendes:
bei der seite davor wird mit
die "nächste" seite aufgerufen, und genau hier liegt der fehler. die nächste seite, also wo ich dann eigentlich einCode: PHP<form action = "index.php?site=streckenplan" method = "POST">
stehen sollte wird garnicht augerufen! obwohl es im quelltext passt :/Code: PHPecho " <meta http-equiv=\"refresh\" content=\"3\" URL=\"http://ip/index.php?site=streckenplan&kursnummer=$auswahl\"> ";
wie wärs mit nem header redirect?
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025