php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-10-2020, 15:53
isd-17
 Registrierter Benutzer
Links : Onlinestatus : isd-17 ist offline
Registriert seit: Oct 2020
Beiträge: 1
isd-17 befindet sich auf einem aufstrebenden Ast
Standard Warenkorb Script verschickt teilweise leere E-Mails

Ich habe ein PHP-Skript, das zwei E-Mails mit dem Befehl mail sendet.
Eine E-Mail geht immer an den Besucher der Website - sie kommt immer korrekt an.
Eine zweite E-Mail geht an den Betreiber der Website. Die Post kommt immer an, ist aber in etwa 10% der Fälle leer.
Es ist also nur der Text darin, aber die Variablen wie $ _SESSION ['Name'], die eingefügt werden sollen, werden dann nicht übernommen.
Diese sind alle leer. Dies geschieht immer nur mit der E-Mail an den Site-Betreiber, aber nie mit der ersten E-Mail an den Kunden (Website-Besucher).

Kann mir da jemand helfen, wo da das Problem liegen könnte, warum die Variablen der Mail spiradisch leer übermittelt werden?
Alternativ, wie könnte man durch eine Abfrage verhindern, dass bei leeren Variablen eine Mail versendet wird?
Die Funktion "mail_cart"
Code:
function mailCart() {
    //Versandkosten berechnen
    if($_POST['Versandart']==1) { $V_Preis="3.00"; } else { $V_Preis="0.00"; }

    global $db;
    $cart = $_SESSION['cart'];
    if ($cart!="") {
        $items = explode(',',$cart);
        $contents = array();
        foreach ($items as $item) {
            $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
        }
        $output[] = '<table border="1" width="460">';
        $output[] = '<tr><td class="tdtitle" width="260">Veranstaltung</td><td class="tdtitle_right" width="60">E-Preis</td><td class="tdtitle" width="40">Anzahl</td><td class="tdtitle_right" width="100">Gesamtpreis</td></tr>';
        foreach ($contents as $id=>$qty) {
            //Kat aufdröseln
            list($id, $kat) =  explode(":", $id);

            $sql = 'SELECT * FROM artikel WHERE id = '.$id;
            $result = $db->query($sql);
            $row = $result->fetch();
            extract($row);
            $output[] = '<tr>';
            $output[] = '<td>'.$Titel.' am '.datesplit_Datum($Datum).'</td>';

            $output[] = '<td align="right">'.sprintf("%01.2f", $Preise).' &euro;</td>';
            $output[] = '<td align="center">'.$qty.'</td>';
            $output[] = '<td align="right">'.sprintf("%01.2f", $Preise * $qty).' &euro;</td>';
            $total += $Preise * $qty;
            $total_versand = $total+$V_Preis; 
            $total_netto = ($total-$total/1.07)+($V_Preis-$V_Preis/1.07);           
            }
            $output[] = '</tr>';
            $output[] = '<tr><td colspan="3">Versandkosten:</td>';
            $output[] = '<td align="right">'. sprintf("%01.2f", $V_Preis) .' &euro;</td></tr>';
            $output[] = '<tr><td colspan="3">inkl. MwSt. 7%:</td>';
            $output[] = '<td align="right">'.  sprintf("%01.2f", $total_netto) .' &euro;</td></tr>';
            $output[] = '<tr><td colspan="3"><b>Summe:</b></td>';
            $output[] = '<td align="right"><b>'.  sprintf("%01.2f", $total_versand)  .' &euro;</b></td></tr>';

            $output[] = '<tr><td align="right" colspan="5">';
            $output[] = '</table>';
        }
        //Neu zur Fehlereingrenzung
        else {$output[] = '<p>Fehler bei der Übermittlung der Ticketdaten aus dem Warenkorb</p>';}
        return join('',$output);
}

Der eigentliche Mailaufruf lautet:
Code:
 ob_start(); 

include('templates/mail/order_mail.htm'); 

$MessAnbieter = ob_get_contents();  

ob_end_clean();


 mail($_SESSION['eMail'], "Ihre Ticketbestellung", "$MessAnbieter",   "From: tickets@domain.de\nReply-To: tickets@domain.de\nContent-Type: text/html; Charset=utf-8\nX-Mailer: PHP/" . phpversion());   

mail("tickets@domain.de", "Web-Ticket-Bestellung!", "$MessAnbieter",   "From: tickets@domain.de\nReply-To: tickets@domain.de\nContent-Type: text/html; Charset=utf-8\nX-Mailer: PHP/" . phpversion());

Für die Mail die generiert wird gibt es ein Template als Vorlage.
Dort steht folgendes:
Code:
<b>Bestellung von:</b><br>
    <?php echo "$_SESSION[Anrede]"; ?> <?php echo "$_SESSION[Name1]"; ?> <?php echo "$_SESSION[Name2]"; ?><br>
    <?php echo "$_SESSION[Adresse]"; ?><br>
    <?php echo "$_SESSION[PLZ]"; ?> <?php echo "$_SESSION[Ort]"; ?><br>
    E-Mail: <?php echo "$_SESSION[eMail]"; ?><br>
    <hr>
    <b>Ticketdaten:</b><br>
    <?php echo mailCart(); ?>
    <br>
    Versandart: <?php echo "$VersandSet"; ?>
    <br><hr>
    <b>Newsletter:</b><br>
    <?php echo "$NLset"; ?><br>
    <b>Mitteillung:</b><br>
    <?php echo "$_SESSION[Info]"; ?><br>
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mails werden mehrfach verschickt Vlabs PHP Developer Forum 0 11-03-2013 11:58
Newsletterskript verschickt Mails mehrmals arcus8 PHP Developer Forum 1 11-04-2007 19:47
PHP Script, das Formular ausliest und verschiedene Mails verschickt AG2007 Jobgesuche 1 08-04-2007 21:34
Kontaktformular verschickt leere Email nokya PHP Developer Forum 1 19-03-2006 20:35
[Script] shop/warenkorb/ ect. tobias24 Apps und PHP Script Gesuche 0 08-11-2005 13:30

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

phpBasics Counter

Der Counter arbeitet mit einer klassischen einstellbaren IP-Reloadsperre. Er zählt die Besucher, die Seitenaufrufe und ermittelt auch die aktuellen Onlineuser. Zur Datenspeicherung wird eine MySQL-Datenbank genutzt. Der Counter überprüft seine Instal

09.09.2022 numaek | Kategorie: PHP/ Counter
MyPHPlib-Bibliotheksverwaltung

MyPHPlib ist eine Scriptsammlung, mit der die Bibliotheksverwaltung incl. Ausleihe und Recherche gelingt. Die Scriptsammlung wird seit Mitte 2005 entwickelt und ist besonders an den Bedürfnissen von Schulen angepasst.

11.08.2022 RobertG | Kategorie: PHP/ Management
responsive vertikales Menu

Diese Menu basiert auf php, jQuery, css und ajax. Wer sein Menu mit nested sets vertikal realisieren will, findet darin eine gute Lösung.

11.08.2022 COVISIONMEDIA | Kategorie: JAVASCRIPT/ Navigation
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:53 Uhr.