Ankündigung

Einklappen
Keine Ankündigung bisher.

PLZ überprüfen und Email versenden

Einklappen

Neue Werbung 2019

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

  • PLZ überprüfen und Email versenden

    Hallo Leutz,
    ich bin neu hir und habe auch gleich ein Prolem!!
    Ich sollte bei dem Mailversand eine Überprüfung von der PLZ habe bzw. nur von der ersten Zahl.

    ALso wenn einer aus dem PLZ gebiet kommt wo mit 5 oder 6 beginnt soll die Email an die Person1.
    Wenn die PLZ mit 1,2,3,4,7,8,9 begint soll sie an Person2.
    Ich kenne mich leider zu wenig aus wie das funktionieren soll.
    Bis jetzt sieht der Quelltext so aus!!

    PHP-Code:
    // Mailversand 
          
          // 1.   Mail an Shopbetreiber 
          
    mail($order_mail,"$order_mail_12 $order_id - $name2 @ $shop_name",$mailtext_a,"From: $email\nX-Sender: $email\n"); 
          switch (
    substr (01$_POST['zip_code'])) 

        case 
    1'person2@domain.de'
        case 
    2'person2@domain.de'
        case 
    3'person2@domain.de'
        case 
    4'person2@domain.de'
        case 
    5'person1@domain.de'
        case 
    6'person1@domain.de'
        case 
    7'person2@domain.de'
        case 
    8'person2@domain.de'
        case 
    9'person2@domain.de'
    break; 

          
    //Verzögerung einbauen, damit es nicht Probleme mit Mailsystem gibt bei schnellem Mailversand hintereinander 
          
    usleep(500); 
          
          
    // 2.   Mail an Kunden 
          
    mail($email,"$order_mail_11 $order_id / $new_kdnr @ $shop_name",
    $mailtext,"From: $order_mail\nX-Sender: $order_mail\n"); 
    Nur sendet er nicht an die jeweilige Person.
    ist das so überhaupt richtig ??

    mfg

    mic187


  • #2
    Du musst der Variablen $email innerhalb der switch-Abfrage auch jeweils den gewünschten Wert zuweisen.

    Kommentar


    • #3
      Hallo ich bin leider ein newbie und weis nicht wi ich das zuweisen soll!!
      Wie soll das dann ausehen ??
      Kann mir da einer helfen ??

      Danke
      mfg

      Mic187

      Kommentar


      • #4
        sind die E-Mail Adressen der Fälle (case1, case2,...) die Kunden? Du schreibst nämlich nur die E-Mail Adressen
        hin (gibst nicht mal eine Ausgabe, da kommt glaub sogar ein Fehler, bin mir aber nicht sicher). Das heißt, du musst
        einer Variable die Werte der E-Mail Adresse geben, bzw die E-Mail ausgeben via print oder echo, wobei in
        deinem Fall das unnötig wär und sowieso nichts bringt.

        Also Wertzuweisung

        PHP-Code:
        <?php
            
        case 1
              
        $email 'person2@domain.de'
              break;  
            case 
        2
              
        $email 'person2@domain.de'
              break;  
            ...
         
        ?>
        Das break brauchst du auch. Lies mal hierzu folgendes durch:
        http://tut.php-q.net/switch.html

        Ausserdem würde ich noch einen Default-Wert benutzen (auch in dem obigen Link erklärt).

        Ich leg dir auch das ganze Tut ans Herz, damit du die Grundlagen verstehst und beherrschst Wäre zumindestens Vorteilhaft für dich (und uns).

        http://tut.php-q.net

        MFG
        HK

        Kommentar


        • #5
          also die mail sol an die jeweilige person gehen die dann auch die Ware versendet!!
          ne bisher kommt kein fehler aber er sendet auch nichts an die jeweilig person.

          mfg

          mic187

          Kommentar


          • #6
            Hast du deinen Code denn mal so verändert wie von HK beschrieben?

            Kommentar


            • #7
              PHP-Code:
              switch (substr ($_POST['zip_code'], 0))
              {
                 
              #PLZ beginnt mit nicht mit 5 und 6
                 
              case 1
                 case 
              2
                 case 
              3
                 case 
              4
                 case 
              7
                 case 
              8
                 case 
              9
                    
              $email 'person2@domain.de';
                 break;
                
              #PLZ beginnt mit 5 und 6
                 
              case 5
                 case 
              6
                    
              $email 'person1@domain.de';
                 break;
                 
              #evtl. anderer PLZ-anfang, man weiss ja nie
                 
              default: $email 'person1@domain.de';

              Ich habe den Code jetzt so geschrieben aber das geht auch nicht, er sendet nichts an die Person 1 oder 2

              Kommentar


              • #8
                Zitat von mic187
                Ich habe den Code jetzt so geschrieben aber das geht auch nicht, er sendet nichts an die Person 1 oder 2
                Das hängt in jedem Fall nicht mit Deiner switch-Abfrage zusammen.

                Kommentar


                • #9
                  Setze in jedem Fall erst einmal error_reporting auf E_ALL und schau dir auch mal an, welche Rückgabewert die Funktion mail() liefert.

                  Kommentar

                  Lädt...
                  X