tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
610
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Hi,
    vielleich kann mir hier jemand helfen.
    Ich habe mir nach dem Tutorial ein Mailformular gebastel und es funktioniert auch soweit.
    Nun werarte ich, laut PHP - Skript das ich eine Meldung bekomme ob die Nachricht verschickt wurde.
    Die kommt aber nicht.
    Was ist an den Code falsch?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    <?php
    $answer = "Keine Daten zum verschicken";
     
    if (isset($_POST["nachricht"]))
    {
    $msg = "Nachricht von: ".urldecode($_POST["vorname"])."
    " .urldecode($_POST["name"])."\n";
    $msg .= " E-Mail: ".urldecode($_POST["mail"])."\n\n";
    $msg .= urldecode($_POST["nachricht"]);
     
    $msg = utf8_decode($msg);
     
    if (mail("meine adresse", "Formmailer",$msg) == true){
    echo("success=true&");
    $answer = "Ihre Nachricht wurde verschickt";
    }
     
    else{
    $answer ="Ihre Nachricht konnte nicht verschickt werden";
    }}
    echo("answer=".urlencode($answer));
    ?>

    Danke schon mal für die Hilfe.

    Borsti
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hmm... auf den ersten Blick kann ich da keinen Fehler erkennen. Was wird ausgegeben, wenn Du das Script direkt im Browser aufrufst?

    Ich nehme an, der Flash-Part (Verschicken und Abfragen der Daten) entspricht ebenfalls dem Tutorial?

    Gruß
    .
     

  3. #3
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Hi Datic,
    danke für Deine schnelle Reaktion.
    Zu meiner Schande muß ich gestehen das es mir zu umständlich war den Apachen
    zu installieren und einzurichten, da ich sonst nicht mit PHP arbeite.
    Ich hab es einfach auf blauen dunst probiert und es funtioniert ja auch bis auf die Meldung.
    Die Mails kommen auch an wo sie sollen und wie sie sollen.
    Kann da was in der fla Datei nicht stimmen?
    Aber das kann fast nicht sein, das PHP verschickt ja die Daten.

    Vielleicht weiß noch jemand Rat.
    Borsti
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Äh. Wenn Du keinen Server installiert hast, wird PHP nicht geparst und es können auch keine Mails verschickt werden.... ergo hast Du entweder einen lokalen Server installiert, oder Du testest das ganze Online auf Deinem Webspace. Aber auch in diesem Fall kannst Du ja den Pfad der PHP-Datei direkt in Deinem Browser eingeben und nachschauen, was das Script ausgibt.

    Gruß

    P.S.: Wenn die .fla 1:1 dem Tutorial entspricht, kann es daran eigentlich nicht liegen, da es bei mir (und anderen) funktioniert. Wenn Du etwas geändert hast, poste bitte Deinen Code.
    .
     

  5. #5
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Also wenn ich den Pfad direkt eingebe kommt die Meldung
    "Keine Daten zum verschicken"
    Was ja glaube ich in Ordnung ist.
    Also hier der Code aus der fla

    Code :
    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
    52
    53
    54
    55
    56
    57
    
    stop();
    //Zulassungen in den Textfeldern
    function beschr()
    {vorname.restrict = "a-zA-Z.\\-öäüÖÄÜ"; name.restrict = "a-zA-Z.\\-öäüÖÄÜ";
    mail.restrict = "a-z.A-Z0-9_\\-.@";
        }
        beschr();
        
    //Prüfen der Textfeldeingaben
    function checkForm()
    {var error=0;
     error += (name.text.length < 2 )? 1 : 0;
     error += (vorname.text.length < 2 )? 2 : 0;
     error += (mail.text.indexOf("@") < 3 || mail.text.lastIndexOf("@")>mail.text.length - 4)? 16 : 0;
     error += (mail.text.indexOf(".")< 1 || mail.text.lastIndexOf("@")>mail.text.length - 2)? 32:0;
     error += (nachricht.text.length < 2 )? 64:0;
     return error;
        }
    function errorMsg (error)
    {var estr = ""; //Rückgabestring initialisieren
    if(error >> 5) {estr += "\n Geben Sie eine Nachricht ein";error -= 32;}
    if(error >> 4) {estr += "\n ungültige Domain in der E-Mail Adresse";error -= 16;}
    if(error >> 3) {estr += "\n ungültige E-Mail Adresse"; error -= 8;}
    if(error >> 2) {estr += "\n Geben Sie eine E-Mail Adresse ein"; error -= 4;}
    if(error >> 1) {estr += "\n Geben Sie Ihren Vornamen ein"; error -= 2;}
    if(error >> 0) {estr += "\n Geben Sie Ihren Namen ein";}
    return estr;
        }
    function sendForm()
    {var error = checkForm();
    if(error == 0)
      {var LV = new LoadVars();
      LV.name = escape(name.text);
      LV.vorname = escape(vorname.text);
      LV.mail = escape(mail.text);
      LV.nachricht = escape(nachricht.text);
      LV.sendAndLoad("mailto.php",LV, "POST");
      
           LV.onLoad = function()
                        {display.text = "\n";
                         if (this.answer != undefined)
                               {display.text += unescape(this.answer);
                                   }
                                   else
                                     {display.text += "Ein unbekannter Fehler ist"+'\n'+"aufgetreten!";
                                         }
                                         if(this.success == "true")clearForm();
                            }} else {display.text = errorMsg(error);
                                }
                                }
                                function clearForm()
                                {name.text ="";
                                vorname.text = "";
                                mail.text = "";
                                nachricht.text = "";
                                display.text = "";
                                    }
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    da müsste stehen:
    Code :
    1
    
    answer=Keine Daten zum verschicken
    Ansonsten sehe ich nach wie vor keinen Fehler - wie gesagt, bei mir funktionieren die Rückgaben des Formmailers.

    Ansonsten: Hat dein Textfeld auch den Instanznamen "display"?

    Vielleicht kannst Du beide Dateien (.fla und php) mal anhängen; dann teste ich es noch einmal.

    Gruß
    .
     

  7. #7
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    da steht korrekt

    answer=Keine+Daten+zum+verschicken

    Warum das Pluszeichen?

    Jetzt wollte ich einen Anhang anfügen und weiß nicht wie. HILFE
    Gruß Borsti
    Geändert von borsti (18.04.05 um 13:30 Uhr) Grund: Anhang vergessen
     

  8. #8
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Habe es selbst gefunden
    wie man einen Anhang beifügt
    Außerdem ist noch folgendes aufgetreten.
    Wenn ich den Namen vergesse, dann kommt die Meldung ich soll den Namen eingeben.
    Wenn ich aber die E-Mail Adresse weg lasse kommen zwei Meldungen.
    Einmal das ich die Adresse eingeben soll und das ich eine Nachricht eingeben soll.

    Vielen Dank für Eure Hilfe

    Borsti
    Angehängte Dateien Angehängte Dateien
     

  9. #9
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    Deine .fla ist eine leere Datei....

    Nun, ich habe einfach meine Original Simplemailer.fla genommen und hatte keine Probleme bein Test. Du musst natürlich darauf achten, dass die Variablennamen, die an das PHP-Script übergeben werden, auch genauso aus $_POST geholt werden. Bei mir sind das z.B. "msg_forename", "msg_message" usw. Wenn Du Variablen mit dem Bezeichnern "nachricht", "mail" und "vorname" erwartest, müssen die Membervariablen des LoadVars-Objektes natürlich genau so benannt werden:
    PHP-Code:
    LV.nachname escape(msg_lastname.text);
    LV.vorname escape(msg_forename.text);
    LV.mail escape(msg_mail.text);
    LV.nachricht escape(msg_message.text);
    LV.sendAndLoad("mailto.php"LV"POST"); 
    (Ob Du das gemacht hast, kann ich wie gesagt nicht sehen, da die .fla leer/defekt ist).

    die "Fehlermeldungen" werden bei mir auch korrekt angegeben, da Du aber anscheinend andere (und weniger) Eingabefelder hast, musst Du die Funktion zum Überprüfen der Eingaben auch entsprechend ändern. Versuche doch, die .fla noch einmal anzuhängen.

    Gruß

    P.S.: die Pluszeichen sind schon korrekt, da der String URL-codiert ausgegeben wird.
    .
     

  10. #10
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Also auf ein Neues,hoffentlich klappt es dieses mal.
    Aber den Fehler den du vermutest, habe ich nicht gemacht.
    Na schau mal selbst, manchmal ist man schon betriebsblind.
    Das Auspacken und Öffnen hat bei mir geklappt
    Danke für deine Mühe

    Borsti
    Angehängte Dateien Angehängte Dateien
     

  11. #11
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    ... wie ich vermutet habe (und schon aus Deinem Codeschnipsel hätte ersehen können, wenn ich nicht zu faul gewesen wäre), muss die Fehlerabfrage entsprechend dem was Du abfragst, geändert werden (z.B. hast Du keine Telefonnummer und fragst nicht nach, ob überhaupt eine Email-Adresse eingegeben wurde) (siehe Anhang).

    Ansonsten funktioniert Deine Datei (sowohl die swf als auch der PHP-Teil); die Rückgaben bekomme ich auch.

    Gruß
    .
    Angehängte Dateien Angehängte Dateien
     

  12. #12
    borsti borsti ist offline Mitglied Bronze
    Registriert seit
    Mar 2003
    Beiträge
    27
    Hi Datic,
    vielen Dank für Deine Hilfe.
    Das hätte ich glaube ich nicht allein gefunden.

    Gruß Borsti
     

Ähnliche Themen

  1. VBA(!) Keine Rückmeldung umgehen
    Von dallas998 im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 30.01.10, 11:24
  2. SWT: Anwendung sagt keine Rückmeldung
    Von Dragowob im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 9
    Letzter Beitrag: 18.12.07, 08:44
  3. SWT: GUI -> Keine Rückmeldung
    Von RipdEaTh im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 5
    Letzter Beitrag: 07.12.06, 23:32
  4. Performansproblem (Keine Rückmeldung)
    Von Don_Pazo im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 21.04.06, 14:22
  5. GUI gibt keine Rückmeldung
    Von cesupa im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 17.12.05, 08:43