BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- PHP variable über e-mail link in ein formular übergeben (http://www.black-board.net/thread.php?threadid=22901)


Geschrieben von 0cool am 23.05.2007 um 15:07:

  variable über e-mail link in ein formular übergeben

Hey Leute,

seid gnädig mir mir ich bin ein PHP Neuling smile .

was ich vorhabe: ich habe Seite a auf der verschiedene e-mail links stehen, diese e-mail links sollen auf Seite b verweisen.
Soweit ist das auch kein Problem.

Das Problem ist das auf Seite b ein e-mail Formular ist, dass auf funktioniert.
Jetzt soll in der Senden an Zeile, jeweils die e-mail Adresse stehen, von dem aus die Seite b aufgerufen wurde.

Beispiel:
link 1 übergibt die e-mail Adresse hallo@gmx.de
link 2 übergibt die e.mail Adresse tschüss@gmx.de

klicke ich auf der Seite a auf den link 1, dann soll sich Seite b öffen und in der senden an Zeile, soll hallo@gmx.de stehen.

klicke ich auf der Seite a auf den link2, dann soll sich Seite b öffnen und in der Senden an Zeile, soll tchüss@gmx.de stehen.

Das haupt Problem ist wie bekomme ich die e-mail Adresse als Variable von Seite a auf Seite b.

Angenommen beide e-mail Adressen werden auf die variabel $senden auf Seite b irgendwie verlinkt, so das die variable $senden in die Senden an Zeile im Formular geschrieben wird.

Dann wäre das geschafft wie ich es will.

Hilfe brauche ich nur dabei, jeweils die e-mail adresse die ich anklicke auf der Seite a in Seite b in der Variable $senden zu schreiben.
Den Rest krieg ich dann alleine hin. Wenn das überhaupt so geht, wie ich mir das vorstelle.

Hat jemand von euch eine Idee wie ich das hinbekomme??

Vielen Dank schon im vorraus für eure Hilfe

0cool



Geschrieben von LX am 23.05.2007 um 15:28:

Achtung

Es gibt ja 2 Möglichkeiten, Werte von A nach B zu bekommen, entweder über die Methode HTTP_POST, die meistens in Formularen verwendet wird und die Parameter über den HTTP-Header übergibt, oder über HTTP_GET, womit die Parameter einfach an die URL angehängt werden (sodass man einfache Links verwenden kann). Letzteres passiert ja auch hier auf dem Board, wenn beispielsweise "/thread.php?threadid=22901" aufgerufen wird, dann ist alles hinter dem Fragezeichen eine Auflistung von Parametern mit deren Werten.

Es würde also z.B. reichen, wenn du folgenden Link setzt:

code:
1:
<a href="formular.php?email=hallowelt%40gmx.de">Mail 1</a>


Der Parameter heißt dann "email" und der Wert ist "hallowelt@gmx.de" in URL-encodeter Form.


In der formular.php musst du diesen Parameter dann nur an entsprechender Stelle ausgeben:

php:
1:
<input type="text" value="<?php echo $_GET['email']; ?>"/>



Allerdings würde ich vorschlagen, dass du die Mailadressen nicht auf diese Weise dem Nutzer zugänglich machst, sonst kannst du dir sicher sein, dass sie über kurz oder lang von Spam zugemüllt werden. Stattdessen würde ich die Mailadressen irgendwo für den Nutzer unsichtbar im PHP-Teil hinterlegen und als Parameter nur eine Information übergeben, die dem Formular sagt, an welche Mailadresse es letztendlich gehen soll.


[EDIT]
Bei schattenbaum.net findest du auch ein Kapitel zur Variablenübergabe, wo nochmal auf den Unterschied von POST und GET eingegangen wird.



Geschrieben von 0cool am 23.05.2007 um 15:45:

  variable über e-mail link in ein formular übergeben

@LX: die e-mail adresse soll auf alle fälle nicht im klar text übergeben werden.

mein erster versuch sieht so aus aber der funkt nicht ganz

code:
1:
<?php $server="hallo@gmx.de";?>

code:
1:
<a href="kontakt.php?variable=server">link 1</a>

aber wie gesagt es funkt so nicht. die Variable wird nicht übergeben.

bin ich auf derm richtigen weg, oder ist mein weg ganz falsch??

0cool



Geschrieben von LX am 23.05.2007 um 15:49:

Achtung

Dann übergib doch einfach nicht die Mailadresse, sondern nur einen Wert, den du dann auf der Formularseite im PHP-Code wieder einer Mailadresse zuweist.


code:
1:
2:
<a href="formular.php?email=1">Mail 1</a>
<a href="formular.php?email=2">Mail 2</a>


Codeabschnitt in der formular.php:
php:
1:
2:
3:
4:
5:
6:
switch ( $_GET 'email' ] )
{
    case 1$mailto 'hallowelt@gmx.de'; break;
    case 2$mailto 'wasanderes@gmx.de'; break;
    default: $mailto 'sollsauchgeben@gmx.de'; break;
}


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH