Archiv verlassen und diese Seite im Standarddesign anzeigen : [Variablen] Variable über ein Fomular mitnehmen
StBaumann 10-05-2004, 09:56 Hallo,
denke die Frahe wurde schon häufiger gestellt, habe in der Suche aber nicht das richtige gefunden.
Also, ich habe 3 Internetseiten:
in der ersten clicke ich auf ein Bild und über den Link komme ich auf die 2 Seite und nehme eine Variable ?var=Bild1 mit.
auf der 2 Seite befindet sich ein Formular mit Kontaktdaten
durch absenden des Formulars soll durch die 3. Seite die Daten per mail an mich gesendet werden, was auch funktioniert, nur wie bekomme ich die Variable über das Formular mit auf die 3. Seite????:confused:
<form name="Kontakt" action="kontact2.php?bild=$var" method=..........>
So funktioniert dies ja nicht!!!!
Bitte um Eure Hilfe.
Danke
MFG
Steffen
So funktioniert dies ja nicht!!!! Doch schon. Außer in deinem form-tag steht method="GET" dann must du <input type="hidden" name="bild" value="<?=$var?>"> schreiben. Wenn es dann immernoch nicht geht prüf mal den wert von register_globals in der php.ini.
warum funz nicht? woher kommt $var? hast du überprüft, ob $var irgendwas enthält? fängst du gerade mit php an? wenn ja, dann lerne richtig, wie man URL- oder formular-variable ausliest, bevor man sie weiter verwendet.
chansel0049 10-05-2004, 10:12 Setze die Variable in hidden input Feld, dann wird sie mit übergeben
StBaumann 10-05-2004, 10:35 Die Variable $var enthält den Wert "Bild1" und diesen wert möchte ich nach dem Ausfüllen des Formulars mit als e-mail versenden.
die normale Übernahme áuf andere Seiten und das Versenden funzt ja , nur die Übernahme über das Formular nicht!!
Steffen
chansel0049 10-05-2004, 10:49 Das Formular muss natürlich in einer PHP Datei lsein (also nicht dateiname.html sodnern datiename.php) und dann wie oppi sagte oder etwas übersichtlicher
<?php
$bild = $HTTP_GET_VARS['bild'];
?>
<input type="hidden" name="bild" value="<?php echo $bild; ?>">
dann liest Du im verarbeitenden Skript die Variable Bild aus.
und in Formular 2 muss natürlich auch sichergestellt werden dass die Variable übergeben wird!
wenn das hier einfach so im HTML steht kann es nicht funzen
<form name="Kontakt" action="kontact2.php?bild=$var" method=..........> weil $var auf HTML Ebene nicht existiert
Original geschrieben von chansel0049
Das Formular muss natürlich in einer PHP Datei lsein (also nicht dateiname.html sodnern datiename.php)
falsch, das Formular muss nicht in einer php-Datei sein, sondern sein Sprungziel muss eine php-Datei sein, damit man den Inhalt des Formulars auslesen kann.
um mal was klarzustellen
action="kontact2.php?bild=$var"
//ist die Übertragung per GET
<input type="hidden" name="bild" value="<?=$var?>">
//ist die Übertragung per POST
nicht so wie zwei andere hier vorher gepostet hatten.
@stbaumann
kommt denn die var überhaupt bei deinem Kontaktformular an?
füge mal print_r($_GET); in deinem Kontaktformular ein und schaue mal nach.
und die var im K. Formular mit $_GET['var'] ansprechen, wenn die per uri übertragen wird. (suchwort: register global = off),
chansel0049 10-05-2004, 11:39 falsch, das Formular muss nicht in einer php-Datei sein, sondern sein Sprungziel muss eine php-Datei sein, damit man den Inhalt des Formulars auslesen kann.
Natürlich wenn innerhalb des Formulars PHP geparst werden soll um die Variable in ein Input zu setzen !
StBaumann 10-05-2004, 13:24 Hi,
funktioniert alles irgendwie nicht!!
Ok noch mal eine kurze Beschreibung meines Vorhabens:
Seite 1:
Ich habe mehrere Bilder aud dieser Seite, beim click folgt Seite 2 und es wird die Variable $var übergeben.
Seite 2:
Hier wird die Variable $var mit echo im folgende Formular angezeigt, nach ausfüllen der Felder folgt Seite 3.
Seite 3:
Hier werden alle Daten per e-mail an mich gesendet, funktioniert reibungslos, nur die Variable $var aus der vorhergehnden Seite ist leer. Diese wird meiner Meinung nach nich mit übernommen.
Alles das was Ihr hier schon gepostet habt, gibt mir auf der Seite 3 eine leere Variable mit.
MFG
Steffen
StBaumann 10-05-2004, 13:25 Ach so , alle Seiten haben die Endung .php
//beispiel Aufbau
//Datei bild
echo '<a href="http://www.deine_seite.de/formulardatei.php?var=irgendwas"><img src="bild.jpg" alt="dein Bild" height="20" width="20" border="0"></a>';
//datei formular
echo '<form action="deine_dritte_datei.php" method="post">';
echo '<input type="hidden" name="deine_var" value="'.$_GET['deine_var'].'">';
echo '<input type="submit" value="Abschicken">';
echo '</form>';
//mail datei, 3.datei oder sonstwas
//mit
$_POST['deine_var']
//steht dir die variabale zur Verfügung
//Kontrollausgabe:
echo $_POST['deine_var'];
//oder
print_r($_POST);
chansel0049 10-05-2004, 14:38 Seite 2:Hier wird die Variable $var mit echo im folgende Formular angezeigt, nach ausfüllen der Felder folgt Seite 3.
ubnd füge nun innerhalb ders Formulars in dieser 2. SkriptSeite folgenden PHP code hinzu // ich nehme jetzt an $var ist Name der Variablen
echo "<input type='hidden' name='bild' value='".$_GET['var']."' >";
Ist das geschehen wird die Variable mit übergeben an das 3. Skript
je nach Methode musst Du dann im 3. Skript :
$var = $_GET['bild']; // oder halt eben $HTTP_GET_VARS bei älterem PHP
// oder bei POST Methode statt GET halt POST
und dann muss der WErt auch im Skript 3 da sein.
StBaumann 11-05-2004, 09:34 Hi,
danke allen die mir geholfen haben, mit dem Hidden funktioniert es doch, hatte nur noch einen weiteren Fehler der die variable dann immer auf 0 gesetzt hat.
Also nochmal Dank an alle!!!:rocks:
MFG
Steffen
|