Ankündigung

Einklappen
Keine Ankündigung bisher.

Flash und PHP Email senden

Einklappen

Neue Werbung 2019

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

  • Flash und PHP Email senden

    Es geht soweit das mailen von dem Server aus. Leider wird das erfolgreiche senden nich an das Flash zurück gesendet. Der Status "Sending..." bleibt in der Flash stehen.

    Meine Frage habe ich im Syntax nen schnitzer?


    PHP-Code:
    <?php 
    $yourName 
    $_POST['name']; // the variable needsto matchyour Actionscript
    $fromEmail $_POST['from']; // the variable needs to match yourActionscript
    $yourSubject $_POST['subject']; // the variable needs to matchyour Actionscript
    $YourMsg $_POST['msg']; // the variable needs to match yourActionscript

    if( $yourName == true ) { 
    $sender $fromEmail
    $yourEmail ="max@drauf.tv"// This will beyour email address so please change this
    $ipAddress $_SERVER['REMOTE_ADDR']; // This gets the user's ipAddress

    $emailMsg "Name: $yourName sent this from IP:$ipAddress\n\nReturn Email: $sender\n\nSubject:$yourSubject\n\nMessage:\n\n$YourMsg \n\n Thisemail wassent usinga form on your site"
    $return "From: $sender\r\n" ."Reply-To:$sender \r\n" ."X-Mailer: PHP/" phpversion();

    if( 
    mail$yourEmail$yourSubject$emailMsg$return))

    echo 
    "sentStatus=yes"; }
    else { echo 
    "sentStatus=no"; }
    }
    ?>
    Die ActionScript sieht so aus:
    PHP-Code:
    /*************************************    
    Buttons       
    **************************************/ 

    sendbtn.buttonMode true;

    sendbtn.addEventListener(MouseEvent.CLICKsubmit);

    resetbtn.buttonMode true;

    resetbtn.addEventListener(MouseEvent.CLICKreset);
    init();

    /*************************************        
    Variables needed        
    **************************************/  

     
    var timer:Timer; var varLoad:URLLoader = new URLLoader;

     var 
    urlRequest:URLRequest = new URLRequest"http://drauf.tv/sf/mail.php" );

     
    urlRequest.method URLRequestMethod.POST;

    /*************************************
    Functions
    **************************************/ 

     
    function init():void{

     
    //Set all fields to empty

     
    yourName.text "";

     
    fromEmail.text "";

     
    yourSubject.text "";

     
    YourMsg.text "";

     }

     function 
    submit(e:MouseEvent):void{

     
    //Check to see if any of the fields are empty

     
    if ( yourName.text == "" || fromEmail.text == "" || yourSubject.text == "" || YourMsg.text == "" ) { 
    valid.text " All fields need to be filled.";
     }
     
    //Check if you're using a valid email address
     
    else if( !checkEmail(fromEmail.text) ) { 
     
    valid.text "Enter a valid email address";
     }
    else { 
    valid.text "Sending over the internet...";
    var 
    emailData:String "name=" yourName.text "&from=" fromEmail.text "&subject=" yourSubject.text "&msg=" YourMsg.text;

    var 
    urlVars:URLVariables = new URLVariables(emailData);
    urlVars.dataFormat URLLoaderDataFormat.TEXT;
    urlRequest.data urlVarsvarLoad.loadurlRequest );
    varLoad.addEventListener(Event.COMPLETEthankYou );
     } 
    }
    function 
    reset(e:MouseEvent):void{
    init(); //call the initial clear function
     
    }
    function 
    checkEmail(s:String):Boolean {

     
    //This tests for correct email address

    var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; 
    var 
    r:Object p.exec(s);
    if( 
    == null ) {
    return 
    false;
    }
    return 
    true;
    }

    function 
    thankYou(e:Event):void 
    var 
    loader:URLLoader =URLLoader(e.target); 
    var 
    sent = new URLVariables(loader.data).sentStatus
    if( 
    sent == "yes" )
    {
    valid.text "Thanks for your email!"timer = new Timer(500);
    timer.addEventListener(TimerEvent.TIMERmsgSent);
    timer.start();
    }
    else {
    valid.text "Oh no! Something is wrong! Try again..."
    }
    }

    function 
    msgSent(te:TimerEvent):void {
    if( 
    timer.currentCount >= 10 ) { init();
    timer.removeEventListener(TimerEvent.TIMERmsgSent);

    }


    Ich weiss nicht mit php sicht so bescheid.
    Bestes
    Maxi


  • #2
    PHP-Code:
    if( $yourName == true ) { 
    änder diese Zeile mal in:
    PHP-Code:
    if(isset($yourName)) { 
    cu Grüße
    Destruction
    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

    Kommentar


    • #3
      ..keine änderung am zustand des mails senden.

      PHP-Code:
      <?php
      $yourName 
      $_POST['name']; // the variable needsto matchyour Actionscript

      $fromEmail $_POST['from']; // the variable needs to match yourActionscript

      $yourSubject $_POST['subject']; // the variable needs to matchyour Actionscript

      $YourMsg $_POST['msg']; // the variable needs to match yourActionscript

      //if( $yourName == true ) { $sender = $fromEmail; $yourEmail ="max@drauf.tv"; 
      if(isset($yourName)) {
      $sender $fromEmail$yourEmail ="max@drauf.tv"
      $ipAddress $_SERVER['REMOTE_ADDR']; // This gets the user's ip Address

      $emailMsg "Name: $yourName sent this from IP:$ipAddress\n\nReturn Email: $sender\n\nSubject:$yourSubject\n\nMessage:\n\n$YourMsg \n\nThis email was sent using a form on your site";
      $return "From: $sender\r\n" ."Reply-To:$sender \r\n" ."X-Mailer: PHP/" phpversion();

      if( 
      mail$yourEmail$yourSubject$emailMsg$return))

      echo 
      "sentStatus=yes"; }
      else { echo 
      "sentStatus=no"; } 
      }
      ?>
      Es geht immernoch nur soweit das immernoch nur "Sending.." stehen bleibt.

      Vllt auch noch sinnvoll .. Wenn ich aus Flash heraus auf dem desktop das mailen anstosse.. dann wird eine mail versendet.. aber nicht so mit der gleichen flashdatei vom server aus. Aber die desktop flash sendet nachdem einen"oops somethiong went wrong." das kommt aus der Flashdatei. Wenn das project steh mache ich alles hier schick damit mehr haben

      das AS aus der Flash
      PHP-Code:
      /*************************************    
      Buttons       
      **************************************/ 

      sendbtn.buttonMode true;
      sendbtn.addEventListener(MouseEvent.CLICKsubmit);

      resetbtn.buttonMode true;
      resetbtn.addEventListener(MouseEvent.CLICKreset); 

      init();

      /*************************************        
      Variables needed        
      **************************************/  

       
      var timer:Timer; var varLoad:URLLoader = new URLLoader;

       var 
      urlRequest:URLRequest = new URLRequest"http://drauf.tv/sf/mail.php" );

       
      urlRequest.method URLRequestMethod.POST;

      /*************************************
      Functions
      **************************************/ 

       
      function init():void{

       
      //Set all fields to empty

       
      yourName.text "";

       
      fromEmail.text "";

       
      yourSubject.text "";

       
      YourMsg.text "";

       }

       function 
      submit(e:MouseEvent):void{

       
      //Check to see if any of the fields are empty

       
      if( yourName.text == "" || fromEmail.text == "" ||yourSubject.text == "" ||YourMsg.text == "" ) { valid.text "All fields need to be filled.";

       }

       
      //Check if you're using a valid email address

       
      else if( !checkEmail(fromEmail.text) )

       { 
      valid.text "Enter a valid email address"; } 


      else { 
      valid.text "Sending over the internet...";

       var 
      emailData:String "name=" yourName.text "&from=" fromEmail.text "&subject=" yourSubject.text "&msg=" YourMsg.text;

      var 
      urlVars:URLVariables = new URLVariables(emailData);
      urlVars.dataFormat URLLoaderDataFormat.TEXT;
      urlRequest.data urlVarsvarLoad.loadurlRequest );
      varLoad.addEventListener(Event.COMPLETEthankYou );
       } 
      }
      function 
      reset(e:MouseEvent):void{
      init(); //call the initial clear function
       
      }
      function 
      checkEmail(s:String):Boolean {

       
      //This tests for correct email address

      var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; 
      var 
      r:Object p.exec(s);
      if( 
      == null ) {
      return 
      false;

      }

      return 
      true;

      }

      function 
      thankYou(e:Event):void 
      var 
      loader:URLLoader URLLoader(e.target); 
      var 
      sent = new URLVariables(loader.data).sentStatus; if( sent == "yes" )
      {
      valid.text "Thanks for your email!"timer = new Timer(500);
      timer.addEventListener(TimerEvent.TIMERmsgSent);
      timer.start();
      }
      else {
      valid.text "Oh no! Something is wrong! Try again..."; }

      }

      function 
      msgSent(te:TimerEvent):void {
      if( 
      timer.currentCount >= 10 ) { init();
      timer.removeEventListener(TimerEvent.TIMERmsgSent);

      }


      Kommentar


      • #4
        Zitat von wmaxi Beitrag anzeigen
        Leider wird das erfolgreiche senden nich an das Flash zurück gesendet.
        Firebug nehmen, Script-Antwort im Net-Panel untersuchen.

        Kommentar


        • #5
          Zitat von Destruction Beitrag anzeigen
          PHP-Code:
          if( $yourName == true ) { 
          änder diese Zeile mal in:
          PHP-Code:
          if(isset($yourName)) { 
          cu Grüße
          Destruction
          $yourName ist immer gesetzt!
          wenn dann müsste es bereits oben bei der Zuweisung passieren!

          Evtl. mal $_POST dumpen...

          Kommentar

          Lädt...
          X