phpbar.de logo

Mailinglisten-Archive

[php] Datenweiterleitung PHP nach CGI-Skript (Pearl)

[php] Datenweiterleitung PHP nach CGI-Skript (Pearl)

michip999-prog at yahoo.com michip999-prog at yahoo.com
Die Okt 10 22:02:14 CEST 2006


Hallo World!

Ich habe eine Anfängerfrage finde aber leider nirgends eine befriedigende Antwort.

Ich habe derzeit ein PHP-Formular und rufe damit ein bestehendes CGI-Skript (geschrieben in Pearl) auf:

<form action="/cgi-bin/BFormMail.pl" method="post"> 
<INPUT type="hidden" value="xxxx" name=recipient>                         <!--  AN -->
<INPUT type="hidden" value="yyyy" name=sender id="sender" >         <!--  VON -->
<INPUT type=hidden value="ssssss" name=subject>
<INPUT type=hidden value="http://www.muster.at/danke.php" name=redirect>

....
    <input name="Name" type="text" id="Name" size="30">
    <input name="Telefon" type="text" id="Telefon" size="30">
    <input type="submit" name="Submit" value="Absenden">
....
      </form>

Dieses aufgerufene Skript versendet ein Mail an eine definierte Mailadresse mit dem Inhalt der Formulardaten (Name, Telefon, etc.).

Danach wird auf die definierte Dankeseite (lt. Variable redirect) weitergeleitet.

Dies funktioniert einwandfrei & super.

Nun muss ich leider in die Dankeseite eine Logik einbauen, wo ich die ursprünglichen Formulardaten verarbeiten müsste.

So ad hoc wäre mir folgende Lösung eingefallen:
Ich leite vorerst via "form action" nur auf eine "Zwischenseite" um, wo ich die Daten in eine Session verpacke. Diese könnte ich dann auf der Dankeseite wiederherstellen.

Leider schaffe ich es nur unhübsch die Daten ins Skript durchzuschleusen:

<?php
     session_start();
     session_destroy();
     session_start();
     $SESSION_recipient = $_REQUEST['recipient'];
     $SESSION_sender    = $_REQUEST['sender'];
     $SESSION_subject   = $_REQUEST['subject'];
     $SESSION_name      = $_REQUEST['name'];
     $SESSION_telefon    = $_REQUEST['telefon'];
 ....

 header("Location: /cgi-bin/BFormMail.pl?recipient=".$_REQUEST['recipient'].
                                                           "&sender=".$_REQUEST['sender'].
                                                           "&subject=".$_REQUEST['subject'].
                                                           "&name=".$_REQUEST['name'].
                                                           "&telefon=".$_REQUEST['telefon']);
?> 
<html>
<head>
</head>
<body>
<p>&nbsp;</p>
</body>
</html>

Gibt es da eine elegantere Lösung, wo auch für den User in der Adresszeile nicht alle Variablen offensichtlich präsentiert werden?

Ist eine Weiterleitung durch 
 <meta http-equiv="refresh" content="0; URL=/cgi-bin/BFormMail.pl">
der obigen Variante vorzuziehen?

Herzlichen Dank aus Wien für Eure Ratschläge.

Liebe Grüsse,
Michi


		
___________________________________________________________ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

php::bar PHP Wiki   -   Listenarchive