Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem beim Umstieg auf PHP 5

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem beim Umstieg auf PHP 5

    Hallo,
    als Newbie habe ich mich hier angemeldet und hoffe etwas Hilfe zu erfahren.
    Seit dem Umstieg meines Providers auf PHP 5 (5.5) funzt mein Kontaktformular auf unserer Vereinsseite nicht mehr, könnt Ihr mir evtl. helfen?

    Habe hier leider keinen Durchblick.
    Danke im voraus.

    Hier mein Code

    PHP-Code:
    <?php
    session_start
    ();
    if(isset(
    $_SESSION['captcha_spam']) AND ($_POST["sicherheitscode"] == $_SESSION['captcha_spam'])){
    unset(
    $_SESSION['captcha_spam']); 

     
    $admin'info@xxx.de';
    // 1. Message an den Administrator

    $subject1 'Kontaktformularanfrage von '.$Vorname.' '.$Name;


    $message1'Anrede: ' ."\n".$Anrede."\n\n";
    if (
    $Titel == "Frau"){
    $message1.= $Anrede.' ';
    }
    if (
    $Titel == "Herr"){
    $message1.= $Anrede.' ';
    }

    $message1.= 'Name: ' ."\n".$Vorname.' '.$Name."\n\n";
    $message1.= 'Firma: ' ."\n".$Firma."\n\n";
    $message1.= 'Adresse: ' ."\n".$Strasse."\n".$PLZ.''.$Wohnort."\n\n";
    $message1.= 'Telefon: '.$Telefon."\n";
    $message1.= 'E-Mailadresse: '.$Mail."\n\n";
    $message1.= 'Nachricht: '."\n".$Nachricht."\n\n";

    // bitte unbedingt Serveradresse anpassen
    $message1.= 'Server: '.'www.xxx.de';


    // 2. Message an den Kunden

    $subject2'Ihre Anfrage an die xxx ';

    $message2'Sehr geehrte';
    if (
    $Anrede == "Herr"){
    $message2.= 'r';

    $message2.= ' '$Anrede.' ';
    if (
    $Titel == "Dr."){
    $message2.= $Titel.' ';
    }
    if (
    $Titel == "Prof."){
    $message2.= $Titel.' ';
    }
    if (
    $Titel == "Prof. Dr."){
    $message2.= $Titel.' ';
    }
    $message2.= $Name.','."\n\n";

    $message2.= 'Sie haben beiliegende Anfrage an '.$admin.' geschickt:'."\n\n";

    foreach(
    $HTTP_POST_VARS as $name=> $value) {

    $message.= "$name:$value\n";

    }

    $message2.=$message."\n\n".'Wir werden versuchen, Ihre Anfrage so schnell wie möglich zu beantworten.'."\n\n\n".'Mit
     freundlichen Grüßen'
    ."\n\n".' bla bla';

    // eigentlicher Mailversandt

    E-Mail ($admin$subject1$message1"From: $Mail");
    E-Mail ($Mail$subject2$message2"From: $admin");
    header('Location: http://www.xxx.de/html/danke.html');

    }else{ 
       die (
    "Der Sicherheitscode ist falsch!"); 

    ?>


  • #2
    Also ich weiß ja nicht wie das vorher funktionieren konnte aber du greifst einfach auf Variablen zu die in dem Script gar nicht deklariert werden. ($Vorname, $Name, etc...)
    - Laravel

    Kommentar


    • #3
      Register Globals ist schon laaange raus .. 5.3 ist schon veraltet.
      http://php.net/manual/de/security.globals.php

      dann ... Error Reporting aufrehen und schaun was kommt an Meldngen und beheben
      http://php-de.github.io/jumpto/leitfaden/

      Mailerklasse verwenden
      http://php-de.github.io/jumpto/mail-class/
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        @tera3yte hat funktioniert
        (Website wurde noch mit NetObjectsFusion12 erstellt.
        Kann das nur so erklären, das Formular befindet sich auf einer html Seite und dazu lief dieses Script)

        Kommentar


        • #5
          Suspekt...
          PHP-Code:
          E-Mail ($admin$subject1$message1"From: $Mail"); 
          Was passiert da PHP-technisch?

          E ist eine undefinierte Konstante
          - ist eine mathematische Operation
          Mail() ist mail()

          Auch wenn es mehrere Warnings erzeugt, syntaktisch dürfte der Code laufen. Klingt verrückt, iss aber so.
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Sehr geil!
            Standards - Best Practices - AwesomePHP - Guideline für WebApps

            Kommentar


            • #7
              Und alles gewollt!

              Kommentar


              • #8
                [OT]Den Rückgabewert von mail() von der Eulerschen Zahl abzuziehen, lässt auf ein neuartiges Hashing-Verfahren vermuten [/OT]

                Spaß beiseite, ich tippe mal darauf, daß das nicht das komplette Script ist?!
                Vereinzelte Code-Teile deuten zudem auf PHP4 hin, wie man auch aus dem Threadtitel ableiten könnte.

                Aber selbst in PHP4 kann eine Variable keinen sinnvollen Inhalt haben, wenn Sie nicht zuvor auf irgendeine gewollte oder ungewollte Weise definiert bzw. befüllt wurde. Somit gebe ich tera3yte recht, dies ist in dem Code-Ausschnitt von Dir nirgends zu finden! Damit bleibt die Frage, wie der Code, den Du hier gepostet hast jemals korrekt gelaufen haben soll. Selbst in PHP3 wäre das imho undenkbar.

                Was Du machst ist keine Hexerei, es geht um Daten, die scheinbar aus einem Formular kommen und per Mail gesendet werden sollen.
                Außer aktuelle Grundlagen wurde Dir hier schon alles nahegelegt, was Du benötigst, um Dein Vorhaben erfolgreich umsetzen zu können.

                Bitte verfolge die Links der Helfer und frag gerne nach, wenn Du ein explizites Problem hast.
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar

                Lädt...
                X