+ Antworten
Ergebnis 1 bis 12 von 12

Thema: Variablen werden nicht mitübergeben...

  1. #1
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160

    Unhappy Variablen werden nicht mitübergeben...

    Hallo Leute!

    Ich habe wieder ein spezielles Problem...

    Also, ich hab ein Script zum senden von E-Mails über SMTP etwas überarbeitet. Das ganze Ding funktioniert auf meinem Rechner lokal 1A. Ich bekomme die E-Mail ganz richtig ausgefüllt in mein Postfach. (zur Info: Lokaler Server läuft mit Apache)

    Aber, lade ich das ganze Script auf den Webserver (MS IIS) werden die Variablen in dem Mail irgendwie nicht mitübergeben. Was heißen soll: Ich krieg keine Daten die der Besucher eingegeben hat.

    hier ist die mail.php, die die Daten von der index.php bekommt...
    Schaut euch bitte mal die Variablen an, ob ich da vielleicht irgendwas falsch gemacht habe!

    PHP-Code:
    <?php
        
    /***************************************
        ** Include the class. The header() makes
        ** the output look lovely.
        ***************************************/
        
    include('class.smtp.inc');
        
    header('Content-Type: text/plain');

        
    /***************************************
        ** Setup some parameters which will be
        ** passed to the smtp::connect() call.
        ***************************************/
        
    $params['host'] = 'smtp.asdf.net';                // The smtp server host/ip
        
    $params['port'] = 25;                    // The smtp server port
        
    $params['helo'] = exec('smtp.asdf.net');              // What to use when sending the helo command. Typically, your domain/hostname
        
    $params['auth'] = TRUE;                    // Whether to use basic authentication or not
        
    $params['user'] = 'asdf';                     // Username for authentication
        
    $params['pass'] = 'asdf';                // Password for authentication

        /***************************************
        ** These parameters get passed to the
        ** smtp->send() call.
        ***************************************/
        
    $ip $REMOTE_ADDR;
        
    $browser $HTTP_USER_AGENT;

        
    $send_params['recipients']    = array("asdf");                            // Empfänger
        
    $send_params['headers']        = array(
                                            
    "From: $firma $email",                          // Headers
                                            
    "To: [email]asdf[/email]""Subject: Bestellung über die Homepage");

        
    $send_params['from']        = $email;                                                // Absender
        
    $send_params['body']        = "Folgende Person wünscht Kontaktaufnahme:

    Kdnr: $kdnr
    Firma: $firma
    Ansprechperson: $ansprechperson
    _________________________________________________
    Telefon: $tel
    Mobil: $mobil
    Fax: $fax
    E-Mail: $email
    _________________________________________________
    Bestellung:
    asdfasdf: $asdf
    Informationsmaterial: $infomaterial
    Bildschirmschoner CD: $bildschirmschoner
    _________________________________________________

    Nachricht: $kommentar
    _________________________________________________

    IP-Adresse: $ip
    Browser: $browser"
    // Der Hauptteil der E-Mail (Body-Text)



        /***************************************
        ** The code that creates the object and
        ** sends the email.
        ***************************************/

        
    if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){

            
    $target "../home.php?page=erfolgreich"// Auf diese Seite wird man weitergeleitet wenn die E-Mail erfolgreich gesendet werden konnte!
            
    header("Location:$target");
            exit;

        }else{

            
    $target "../home.php?page=fehler"// Auf diese Seite wird man weitergeleitet wenn die E-Mail NICHT erfolgreich gesendet werden konnte!
            
    header("Location:$target");
            exit;
        }
    ?>
    1.000 DANK!
    Geändert von Bernhard_at (08.08.2003 um 10:57 Uhr)

  2. #2
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Auf dem Win-Server stehen die register_globals auf OFF. Das bedeutet, dass du über die Superglobals ($_POST, $_GET,...) "gehen" musst.

    Gruss
    Jan

  3. #3
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160
    1. Danke für die schnelle Antwort!

    2. Kann man die irgendwo aktivieren? Ich hab eh die Möglichkeit zu einer Fernwartung...

  4. #4
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Könntest du in der php.ini. Davon rate ich aber ab. Denn das Ding ist schon mit Absicht so eingestellt (Sicherheit).
    Da du hier ja nur ein kleines Script hast, wäre es am schlausten, die Variablen einfach anzupassen:
    PHP-Code:
    Kdnr$_POST['kdnr']
    ... 
    Gruss
    Jan

  5. #5
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160
    Ok, dann modifiziere ich mal wieder das Script...

    DANKE für die Infos!

  6. #6
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\asdf\bestellen\mail.php on line 35



    PHP-Code:

    <?php
        
    /***************************************
        ** Include the class. The header() makes
        ** the output look lovely.
        ***************************************/
        
    include('class.smtp.inc');
        
    header('Content-Type: text/plain');

        
    /***************************************
        ** Setup some parameters which will be
        ** passed to the smtp::connect() call.
        ***************************************/
        
    $params['host'] = 'asdf';                // The smtp server host/ip
        
    $params['port'] = 25;                    // The smtp server port
        
    $params['helo'] = exec('asdf');              // What to use when sending the helo command. Typically, your domain/hostname
        
    $params['auth'] = TRUE;                    // Whether to use basic authentication or not
        
    $params['user'] = 'asdf';                     // Username for authentication
        
    $params['pass'] = 'asdf';                // Password for authentication

        /***************************************
        ** These parameters get passed to the
        ** smtp->send() call.
        ***************************************/
        
    $ip $REMOTE_ADDR;
        
    $browser $HTTP_USER_AGENT;

        
    $send_params['recipients']    = array("asdf");                            // Empfänger
        
    $send_params['headers']        = array(
                                            
    "From: $firma $email",                          // Headers
                                            
    "To: asdf""Subject: Bestellung über die Homepage");

        
    $send_params['from']        = $email;                                                // Absender
        
    $send_params['body']        = "Folgende Person wünscht Kontaktaufnahme:

    Kdnr: $_POST['kdnr']
    Firma: $_POST['firma']
    Ansprechperson: $_POST['ansprechperson']
    _________________________________________________
    Telefon: $_POST['tel']
    Mobil: $_POST['mobil']
    Fax: $_POST['fax']
    E-Mail: $_POST['email']
    _________________________________________________
    Bestellung:
    asdf: $_POST['asdf']
    Informationsmaterial: $_POST['informationsmaterial']
    Bildschirmschoner CD: $_POST['bildschirmschoner']
    _________________________________________________

    Nachricht: $_POST['kommentar']
    _________________________________________________

    IP-Adresse: $_POST['ip']
    Browser: $_POST['browser']"
    // Der Hauptteil der E-Mail (Body-Text)



        /***************************************
        ** The code that creates the object and
        ** sends the email.
        ***************************************/

        
    if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){

            
    $target "../home.php?page=erfolgreich"// Auf diese Seite wird man weitergeleitet wenn die E-Mail erfolgreich gesendet werden konnte!
            
    header("Location:$target");
            exit;

        }else{

            
    $target "../home.php?page=fehler"// Auf diese Seite wird man weitergeleitet wenn die E-Mail NICHT erfolgreich gesendet werden konnte!
            
    header("Location:$target");
            exit;
        }
    ?>
    Geändert von Bernhard_at (08.08.2003 um 11:35 Uhr)

  7. #7
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160
    aaah!

    Das Zeug muss ich ins Formular einbauen, oder? *ggg*
    $_POST['kommentar']

  8. #8
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    öhm... also ich hab das Ding mal eben per Copy'n'Paste bei mir ausgeführt und den include und den Klassenaufruf auskommentiert und ich bekomme keinen Parse-Error.

    Das $_POST darf nicht in deine Formulare.

  9. #9
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    ..strange... tritt nur unter Windows auf... hatte es eben auf nem Linux Rechner probiert - da funzts... auf Win hab ich auch die Fehlermeldung...mom

  10. #10
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160
    aha...

  11. #11
    TP-Specialist Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Stuck Mojo ist ein richtiges Arbeitstier - DANKE Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Ok... du hast 2 Möglichkeiten:

    1. Die singlequotes (') aus dem $_POST-Array entfernen -> $_POST[kommentar]

    2. Für jede Variable aus der echo-Anweisung "herausgehen" ->
    Kdnr: ".$_POST['kdnr']."

    Gruss
    Jan

  12. #12
    TP-Senior Bernhard_at ist mal kurz schlecht aufgefallen
    Registriert seit
    Jul 2003
    Ort
    Upper Austria
    Beiträge
    160
    OK, der Fehler kommt jetzt nicht mehr...

    Jetzt müsste ich das Zeug nur noch abloaden und am IIS testen...
    Mal sehen ob's funktioniert.

    Danke soweit!

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51