Variabeln übergeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
automatische weiterleitung
beitrag
blabla
einfachste methode
formular
fragen
fragezeichen
gesucht vielen dank
letzte frage
mache
meldung
methode
parameter
session
speicher
tag
umweg
variable
vorstellung
weiterleitung
-
Hallo
Ich habe ein Script(datei1), das etwas bestimmtes ausf?hrt. Nachher soll dieses Script eine tag/meldung">Meldung in eine Variable speichern ($meldung="blabla";). Anschliessend soll datei1 auf datei2 weiterleiten und in datei2 wird nachher die Meldung ausgegeben (echo $meldung;).
Wie kann ich es jetzt machen, dass die datei1 die Variable mit der Meldung bei der Weiterleitung ?bergibt.
Wenn ich ja nur header("location: datei2"); mache, werden die Variabeln nicht ?bergeben.
Wie kann ich es machen das die Variable ?bergeben wird?
Ich hoffe ich konnte mich deutlich genug ausdr?cken, damit ihr mir helfen k?nnt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also da gibt es jetzt mehrere M?glichkeiten. Ich wei? nicht wie lang und "vertraulich" dein Text ist.
Also es gibt Get! Da wird die Variable einfach an den link angeh?ngt.
<? kekse = 2; echo "<a href=\"datei2.php?kekse=".$kekse."\">KEEEEEKKKSEEEEEEEEE</a>"; ?>
Wie du siehst macht man das mit einem Fragezeichen und dann kommt der name der Variable und dann der Wert. Wenn du einen zweiten Wert ang?ngen willst musst du dies aber mit einem kaufm?nnischem und (&) machen.
Abrufen kannst du die Variable wie folgt:
$_GET["name_der_variable"]
oder
$HTTP_GET_VARS["name_der_variable"]
Nun zu Post! Dabei wird die variable nicht sichtbar ?bergeben, aber man br?uchte ein Formular daf?r und das ist in deinem Fall glaube ich nicht das richtige.
<form action="datei2.php" method="post"> Meldung: <br /> <input type="Text" name="meldung"> <input type="Submit" value="Absenden"> </form>
Diese k?nntest du dann so benutzen:
$_POST["meldung"]
oder
$HTTP_POST_VARS["Meldung"]
Dann k?nntest du den Text auch noch in einer Datenbank speichern. Das w?rde ich aber nur empfehlen wenn diese Text dauerhaft bleiben soll und nicht um ihn nur einmal zu verwenden.
Dann gibt es noch Sessions und Cookies. Du musst am Anfang jedes Dokumentes in der du die Variable dann benutzen willst das hier schreiben. session_start();
Und danach kannst du dann einfach $_SESSION["meldung"] = $meldung; machen.
Hoffe du hast alles verstanden. Beim n?chsten mal bitte genauer sein, dann muss ich nicht so viel Mist schreiben. ;)
Beitrag ge?ndert am 23.10.2005 10:59 von i-spacke -
Die einfachste Methode w?re, wenn Du den zu ?bergebenden Parameter mittels GET ?bergibst.
Der passende Code dazu w?rde inetwa so lauten:
<? $meldung = "blabla"; header("Location: seite2.php?parameter=$meldung"); ?>
//edit: Zu sp?t!
Beitrag ge?ndert am 23.10.2005 10:59 von compactdisc -
hallo
@i-spake
Bei deinen M?glichkeiten m?sste der User ja immer auf einen Link oder Button klicken, damit es weitergeht. Ich m?chte aber eine Automatische Weiterleitung.
@compactdisc
Genau das habe ich gesucht. Vielen Dank!! -
Die Version von cd is aber nicht grade die beste L?sung. Das kannst du nur machen, wenn du davor nicht schon etwas azsgegeben hast und das will man ja meistens machen...also nicht so n?tzlich. Und bevor du sowas sagst solltest du dri vielleicht mal den ganzen Post durchlesen. Wenn du es mit Sessions machst oder mit Cookies brauchst du nirgendwo raufklicken und ebenso kannst du einfach mit einem meta-tag eine automatische Weiterleitung machen und wohi? Genau: datei2.php?kekse=".$kekse." oder sonstwo hin. -.-
(Man ey immer diese undankbaren user, die selber kein St?ckchen mitdenken.) -
@i-spake
Sorry das du ein bisschen genervt bist.
Ich dachte, wenn ich in meiner Frage schon vom Befehl header("location: datei2"); spreche, sei es klar, dass ich eine automatische Weiterleitung brauche, und dass ich vorher nichts ausgeben will.
Ich habe mir schon den ganzen Post durchgelesen.
Bei der Methode mit der Session oder den Cookies, wie w?rdest du dann weiterleiten?
Du hast nur geschrieben, dass ich es in Sessions speichern k?nnte, aber wie die Weiterleitung nachher realisiert wird hast du nichts gesagt.
Auch von Meta-Tags hast du nichts gesagt.
Sorry das du dir so viel M?he genommen hast und es nicht meiner Vorstellung entsprach. N?chstes mal w?rde ich in der Frage statt Weiterleitung Automatische Weiterleitung schreiben.
Sorry! -
Was ist denn daran so schwer zu verstehen? Wenn du sessions oder cookies benutzen willst, dann kannst du doch auch selber auf die Idee kommen header() zu verwenden. Und auch bei der Methode mit Get. Wenn du auf solch kleine Sachen nicht selber kommst solltest du vielleicht nochmal ganz von vorne mit PHP anfangen. Oder du lernst erstmal eine andere Sprache. (c++/c#)Dann lernst du dir selber einen kleinen Teil dazuzudenken. Man bekommt im Leben nicht alles auf dem goldenen Tablett pr?sentiert.
Au?erdem hast du dich nicht klar genug ausgedr?ckt und bist selber Schuld. Lese dir deinen Post mal durch und du wirst sehen, dass da nur sehr wenig drin steht was man auch als Leser sinnvoll herausfischen kann. Und deine letzte Frage habe ich ja mindestens beantwortet. -
Ja das w?re nat?rlich eine M?glichkeit, in die Session zu speichern und nachher mit header(). Aber die L?sung von CD hast du kritisiert, weil er header() verwendet hat.
Wenn ich mich so undeutlich ausgedr?ckt habe, wie du es beschreibst, h?tt CD wahrscheinlich nicht auf Anhieb verstanden, was ich suche. -
Ich habe nur gesagt, dass die version nicht die beste ist, da man davor nichts ausgeben k?nnte und das will man eigentlich in den meisten F?llen. Au?erdem ist es so, dass wenn der Text ein bisschen l?nder ist es einfach shice in der Adresszeile aussieht und au?erdem sieht es eh nicht gerade fein aus, wenn da oben eine Meldung steht. Naja, aber ich will jetzt hier auch nicht noch weiter diskutieren.
-
F?r eine ?bergabe von Daten geringer Gr??e gen?gt die Methode mit "?blabla=blubb" (URL-GET) v?llig. Bei gr??eren Datenmengen sind Sessions mit Cookies besser geeignet, da hier nicht der Umweg ?ber den Browser genommen werden muss. Ob die URL beim GET-Verfahren schei?e aussieht ist aber v?llig egal, denn wenn man PHP-Sessions verwendet, und der Browser keine Cookies kann, greift PHP auch auf die GET-Methode zur?ck.
Welche Methode besser ist, GET oder POST (dazu geh?ren auch Session-Cookies) steht hier:
http://www.php-faq.de/q/q-formular-methode.html
Und das Problem allgemein ist auch hier gut erkl?rt:
http://www.php-faq.de/q/q-variable-weitergeben.html
MfG
alopex -
hallo
Bei mir wird die Variable h?chstens 50Byte gross.
Aber wenn ich Sessions verwenden w?rde, m?sste ich nachher immer wieder die Variable in der Session l?schen oder mit "" ?berschreiben (da datei2 nicht immer von datei1 aufgerufen wird, sondern auch mal von einer anderen und dann soll die Meldung ja nicht mehr dastehen).
Wenn ich es aber mit der get-Methode mache, muss ich das nicht machen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage