b_d
© Natural Ignorance (NI)
|
$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
kurz erklärt: vom post 'wahl' bekomm ich ne zahl die ich in die URL reinhau. wichtig is dabei, dass diese variable AUCH bei refresh vorhanden ist. deshalb diese lösung. das funktioniert ja auch soweit: wenn die seite refresht, ist die KURSNUMMER, wenn ich im seitenquelltext nachschau, immer vorhanden. mein problem ist aber folgendes: ich krieg mit http_get_vars oder _get die zahl aus KURSNUMMER einfach nicht raus. sprich ich kann mit der nicht arbeiten. ist einfach immer _leer_ was hats da? BIG TIA
|
kleinerChemiker
Here to stay
|
teste mahl, ob $auswahl überhaupt die zahl enthält.
ist die url in der adresszeile nach dem refresh richtig?
|
b_d
© Natural Ignorance (NI)
|
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
|
jives
And the science gets done
|
Alle anderen/Andere ("herkömmliche") get-Variablen funktionieren?
|
b_d
© Natural Ignorance (NI)
|
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?
|
jives
And the science gets done
|
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.
|
b_d
© Natural Ignorance (NI)
|
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!
|
jives
And the science gets done
|
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
|
Burschi1620
24/7 Santa Claus
|
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). Das funktioniert generell und wird auch bei anderen Seiten verwendet. (Ich gehör zum b_d)
|
kleinerChemiker
Here to stay
|
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)
|
gue
Addicted
|
Nach dem ersten Refresh ist $_POST[\'wahl\'] nicht mehr gesetzt, $auswahl bleibt leer und somit kommt nichts mehr in $_GET[\'kursnummer\'].
|
b_d
© Natural Ignorance (NI)
|
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 (!) wie gesagt, das einzige was nicht geht ist das auslesen der zahl von der URL danke mal an alle für die lösungsvorschläge, die werd ich morgen mal durchgehn und bissi herumexperimentieren!
|
Snoop
Here to stay
|
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 <?
switch($_GET["act"]) {
case 'testn':
echo "es geht doch :D";
break;
default:
HEADER("Location: testa.php?act=testn");
break;
}
?>
MFG EUER SNOOPAL
|
b_d
© Natural Ignorance (NI)
|
@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 <form action = "index.php?site=streckenplan" method = "POST">
die "nächste" seite aufgerufen, und genau hier liegt der fehler. die nächste seite, also wo ich dann eigentlich ein echo " <meta http-equiv=\"refresh\" content=\"3\" URL=\"http://ip/index.php?site=streckenplan&kursnummer=$auswahl\"> ";
stehen sollte wird garnicht augerufen! obwohl es im quelltext passt :/ der fehler ist folgender: bei "index.php?site=streckenplan" wird eben noch keine variable übergeben. sondern ja erst wenn die geschickt wurde und dann gerefresht wird. das funktioniert ja eh auch, das problem ist nur, bei dem refresh wird weiterhin auf "index.php?site=streckenplan" verlinkt (das steht dann auch in der URL) und NICHT auf "index.php?site=streckenplan&kursnummer=$auswahl". im quelltext passt das aber, eigentlich müsste er auf genau diese URL "refreshen" wo kursnummer eingetragen und vorhanden ist. da das aber nicht geschieht ist es also eh LOGISCH, dass $_GET nichts findet. weil ja die URL refresht wird wo eben keine $kursnummer und keine zahl drinnen steht. über lösungsvorschläge bin ich sehr dankbar. tia!
|
kleinerChemiker
Here to stay
|
wie wärs mit nem header redirect?
|