Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[Variablen] Variable über ein Fomular mitnehmen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




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

 
oppi
10-05-2004, 10:05 
 
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.

 
asp2php
10-05-2004, 10:08 
 
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

 
asp2php
10-05-2004, 11:10 
 
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.

 
marc75
10-05-2004, 11:35 
 
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

 
marc75
10-05-2004, 14:34 
 
//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


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:57 Uhr.