WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 26.08.2003, 09:57   #1
Frankster
Veteran
 
Registriert seit: 13.07.2002
Alter: 44
Beiträge: 242


Standard PHP + mail()

Hi!

Arbeite mit Sessions, wenn der Kunde seine Bestellung abschließt werden die Daten in die DB geschrieben.
Nur möchte ich jetzt gernde dem Kunden eine Mail schicken, die die von ihm bestellten Artikel enthält

Ich hab mir gedacht so!
PHP-Code:
$sendmail="$email";
$betreff="Bestellung";
$header="From: $email";

        
$Mail "SELECT * FROM bestellung WHERE ID='$ID'";
         
$Ergebnis mysql_db_query(""$Mail$bestellen);
        for (
$i=0$i<$num$i++)
           {
              
$Artikelnummer mysql_result($res$i"Artikelnummer");
              
$Stueck mysql_result($res$i"Stueck");
              
$Stueckpreis mysql_result($res$i"Stueckpreis");
              
$Preis mysql_result($res$i"Preis");
              
$Gesamtpreis mysql_result($res$i"Gesamtpreis");
        
$text="
        Artikelnummer:    $Artikelnummer;
        Stück:            $Stueck;
        Preis/Stück:    $Stueckpreis;
        Preis*Stück:    $Preis;
        Gesamtpreis:    $Gesamtpreis;
    };"
;
    
mail($sendmail,$betreff,$text,$header); 
Nur dürfte ich da einen Denkfehler haben
------------------------------------------------------------------
2. Frage
Nachdem er die Bestellung abgschickt habe, kommt die Anweisung SESSION_DESTROY();
Schliesse ich das Fenster nicht und gehe zurück zum Warenkorb, ist der Warenkorb zwar leer, aber ich habe noch immer die gleiche Session ID
Warum ?
session destroy wurde ja ausgeführt, sonst wäre der Warenkorb nicht leer!

Mfg
Frankster
Frankster ist offline   Mit Zitat antworten
Alt 26.08.2003, 10:28   #2
jonix
Veteran
 
Registriert seit: 03.08.2000
Alter: 47
Beiträge: 461


Standard

ad 1) was genau geht denn nicht? mir scheint die mail-funktion richtig zu sein, funktioniert denn die datenbank-abfrage an und fuer sich?

ad 2) http://at2.php.net/manual/de/functio...on-destroy.php
Zitat:
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende Globale Variablen und das Session-Cookie werden nicht gelöscht.
____________________________________
hampel.at
jonix ist offline   Mit Zitat antworten
Alt 26.08.2003, 10:47   #3
Frankster
Veteran
 
Registriert seit: 13.07.2002
Alter: 44
Beiträge: 242


Standard

Das Mail ist leer :-(
Frankster ist offline   Mit Zitat antworten
Alt 26.08.2003, 10:57   #4
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Du schreibst:

$Ergebnis = mysql...

und dann

$var = mysql_result($res ...


Das kann nicht gehen.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 26.08.2003, 10:59   #5
SingleParty.cc
Jr. Member
 
Registriert seit: 22.05.2003
Alter: 23
Beiträge: 91


Standard $num

$num wird nicht belegt und somit wird die Schleife nicht durchlaufen.

Ausserdem ist am Ende der $text-Zuweisung ein Quirx mit der schliessenden }-Klammer und dem abschliessendes Anführungszeichen, aber das kann auch ein Tippfehler im Forum sein (würde sonst wohl eine Fehlermeldung auswerfen).

Testweise kannst Du ja vor das "mail()" ein "echo $text;" schreiben und sehen, was rauskommt.

PS: Ans Ende jeder Mail-Zeile gehört auch noch ein Carriage Return, aber das ist im Moment wohl noch nicht das Problem...
____________________________________
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;www.tgifridays.at
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T.G.I. Friday\'s Vienna
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;www.SingleParty.cc
Plattform für Kontaktsuchende
SingleParty.cc ist offline   Mit Zitat antworten
Alt 26.08.2003, 11:02   #6
jonix
Veteran
 
Registriert seit: 03.08.2000
Alter: 47
Beiträge: 461


Standard

1) versuch mal irgendeinen statischen text zu versenden -> kontrolle der mail-funktion

2) hier die korrekte syntax einer db-abfrage (von php.net):
PHP-Code:
<?php
    
/* Variablen definieren - fuell hier Deine Werte ein */
    
$host "";
    
$user "";
    
$pass "";
    
$database "";

    
/* Verbindung aufbauen, auswählen einer Datenbank */
    
$link mysql_connect($host$user$pass)
        or die(
"Keine Verbindung möglich!");
    print 
"Verbindung zum Datenbankserver erfolgreich";
    
mysql_select_db($database) or die("Auswahl der Datenbank fehlgeschlagen");

    
// ausführen einer SQL Anfrage
    
$query "SELECT * FROM bestellung WHERE ID='$ID'";
    
$result mysql_query($query) or die("Anfrage fehlgeschlagen");

    
// Ausgabe der Ergebnisse in einen String
    
$ausgabe "";
    while (
$line mysql_fetch_array($resultMYSQL_ASSOC))
    {
      foreach (
$line as $key=>$value)
      {
        
$ausgabe .= $key ": " $value "\n";
      }
    }

    
// Freigeben des Resultsets
    
mysql_free_result($result);

    
// schliessen der Verbinung
    
mysql_close($link);
?>
____________________________________
hampel.at
jonix ist offline   Mit Zitat antworten
Alt 26.08.2003, 11:27   #7
Frankster
Veteran
 
Registriert seit: 13.07.2002
Alter: 44
Beiträge: 242


Standard

Ahrg
Sowas dummes

Ist doch klar

Man man man, da arbeit ich eh schon die ganze Zeit mit DB und PHP und dann so ein Fehler

DANKE
Frankster ist offline   Mit Zitat antworten
Alt 26.08.2003, 12:19   #8
Frankster
Veteran
 
Registriert seit: 13.07.2002
Alter: 44
Beiträge: 242


Standard

@jonix

Da stellt sich mir die Frage, wie kann ich eine Trennlinie machen ?
Das Problem ist, dass $ausgabe alles sammelt und anschlessend alles ausgibt.
Wenn jemand 3 Artikel bestellt schaut das so aus

Artikelnummer
Preis
Stueck
Artikelnummer
Preis
Stueck
Artikelnummer
Preis
stueck

Ich hätte gerne
Artikelnummer
Preis
Stueck
----------------------------
Artikelnummer
Preis
Stueck
-----------------------------

Die einzige Lösung die mir einfallen würde, wäre in der DB ein Feld anlegen, dass so ein Trennzeichen beinhalten, aber das ist nicht wirklich die feine art :-(
Frankster ist offline   Mit Zitat antworten
Alt 26.08.2003, 12:27   #9
jonix
Veteran
 
Registriert seit: 03.08.2000
Alter: 47
Beiträge: 461


Standard

du kannst zb nach der "foreach"-schleife, aber noch innerhalb der "while"-schleife, folgendes einfuegen:

$ausgabe .= "---------------------------\n";
____________________________________
hampel.at
jonix ist offline   Mit Zitat antworten
Alt 26.08.2003, 12:30   #10
Frankster
Veteran
 
Registriert seit: 13.07.2002
Alter: 44
Beiträge: 242


Standard

Das is so simpel, das meine Frage echt unnötig war

ICH DANK DIE VIELMALS


Ich hab ein sehr komisches Problem:
Wie oben schon beschrieben kann ich die session_id nicht löschen :-(

Nach der Abschickung der Bestellung führe ich Session_destroy aus, dann überprüfe ich sogar ob die session_id noch gültig ist

if(session_id())echo session_id();echo "
";session_destroy(); if(!session_id())echo "Session-ID wurde zerstört";

Er schreibt mir Session-ID wurde zerstört.

Auf der Warenkorbseite hab ich ebenfalls eine Abfrage gestartet ob welche session id ich habe
echo"". session_id();

und er gibt mir haar genau die gleiche Session ID wie vorher aus.

Was hats da ?

Denk Link von hab ich mir schon angeschaut, und mach eigentlich das gleiche wie dort beschrieben
Frankster ist offline   Mit Zitat antworten
Antwort


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

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.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:27 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag