Textausgabe nach Mailversand

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

  • Textausgabe nach Mailversand

    Hallo

    ich habe zz ein Mailformular in php, dass nach erfolgreichen ausfüllen der Eingabefelder(wird mit java überprüft) eine Mail direkt heraussendet ohne smtp angaben. Also ich sende diese durch die angabe einer standard email nach draussen zu meiner eigenen mail adresse.

    das ganze sieht dann so aus:
    PHP-Code:
    <?php
    $strEmpfaenger 
    'admin@meinedomäne.de';
    $strFrom       '"Kontakt@meinedomäne.de" <admin@meinedomäne.de>';
    $strSubject    'Mail Kontakt';
    $strReturnhtml 'http://www.meinedomäne.de/contact/conMai/index.php';
    $strDelimiter  ":\t";

    if(
    $_POST)
    {
     
    $strMailtext "";

     while(list(
    $strName,$value) = each($_POST))
     {
      if(
    is_array($value))
      {
       foreach(
    $value as $value_array)
       {
        
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
       }
      }
      else
      {
       
    $strMailtext .= $strName.$strDelimiter.$value."\n";
      }
     }

     if(
    get_magic_quotes_gpc())
     {
      
    $strMailtext stripslashes($strMailtext);
     }

     
    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
      or die(
    "Die Mail konnte nicht versendet werden.");
     
    header("Location: $strReturnhtml");
     exit;
    }
    ?>
    Jetzt möchte ich nur noch eine varaible hinzufügen, die nach erfolgreichen versenden in irgendeiner stelle in der seite auch augegeben wird.

    ich habe auch alle texte in einer textdatei stehen, die per echo und vaiablen bezeichnung aus dieser geholt werden. irgendwie bekomme ich es nicht hin auch nach std-langem probieren. weiß jemand wo und wie ich diese varaiable mit text definiere, damit ich das endlich hinbekomme?

    danke schonmal!

  • #2
    java ist nicht javascript!

    ich habe auch alle texte in einer textdatei stehen, die per echo und vaiablen bezeichnung aus dieser geholt werden.
    erklär mal genauer.

    Kommentar


    • #3
      ja java ist nicht javascript, meinte auch javascript, srry!

      ich habe in 2 textdateien (lang_en, lang_de) alle Texte stehen, die in die tpl's geholt werden.

      die werte werden nach drücken einer Flagge (de, en) in einer session gespeichert. Dann wird in jedem tpl ne abfrage der session gestartet, um zu sehen welcher wert in der session steht und um die richtige lang-datei zu includen und die texte anzuzeigen.

      da es auch viele englische besucher gibt muss die seite auch englisch verfügbar sein. und wenn man jetzt zb ein mailkontakt wählt dann soll nach abschicken einer mail der text "Mail wurde erfolgreich versendet" ausgegeben werden. Wenn jetzt aber vorher einer die Sprache auf englisch gestellt hat dann soll eben dieser text in englisch ausgegeben werden. also kann man ja zur text ausgabe keinen statischen text defoinieren sondern eher so:

      <?php echo &lang['text1']; und im zusammenhang der session auslesung weiß das script jetzt aus welcher lang datei er den text holen soll, damit der text in deutsch bzw englisch geholt wird. dieses soll bei der meldung zum mailversand genauso sein.

      ich hoffe ich konnte es einigermaßen verständlich erklären!??

      Kommentar


      • #4
        ok. was hat das jetzt alles mit deinem mailer zu tun?

        du leitest einen auf index.php weiter. hänge noch ein ?done=true an die url und in der index.php kannst du dann, sollte dieser flag gesetzt sein, eine bestätigung ausgeben. die sprache steht ja in der session.

        Kommentar


        • #5
          ich dachte das hat sofern was damit zu tun, dass ich ich für die sprachausgabe ja eine varaible definiere.


          dieses ?done=true wie definiere ich das genau? wo wird sie hingeschrieben?

          danke schonmal werde gleich ein bisschen damit rumprobieren oder lesen.

          edit: achso! du meinst ich soll aud die stringreturnhtml die varaiable ?done=true setzten und in dem script eine abfrage machen, die folgender maßen aussieht:

          if $done == 'true'{
          echo $lang['text-mailversand']};

          oder wie genau sollte das aussehen?


          <?php
          if ($done == true) {
          echo 'Mail wurde versendet';} ?>

          so habe ich jetzt die abfrage definiert. nur ist jetzt die varaible nicht definiert. so wirds zumindestens ausgegeben. soll ich die varaible einfach mit 0 deklarieren? funkt das?
          Zuletzt geändert von noob_in_php; 03.06.2007, 15:25.

          Kommentar


          • #6
            ja.

            Kommentar


            • #7
              $done = '';

              <?php
              if ($done == true) {
              echo 'Mail wurde versendet';} ?>


              so sieht das ganze jetzt aus. aber es wird kein text ausgegeben.

              irgendein syntaxt fehler?

              Kommentar


              • #8
                die syntaxt fehlt, ganz genau.

                informiere dich mal besser über register globals und schaue dir peterkropff.de und tut.php-q.net an, bevor du weiter herumrätst.

                Kommentar


                • #9
                  ja über $_GET["done"];

                  Kommentar


                  • #10
                    Danke penicilin!

                    habs mir zwar nicht durchgelesen aber deine anspielung habe ich verstanden!

                    hab jetzt einfach anstatt

                    PHP-Code:
                    $done = '';

                    <?php
                    $done 
                    '';

                    if (
                    $done == true) {
                    echo 
                    'Mail wurde versendet';} ?>

                    folgendes erstellt das jetzt funktioniert:
                    PHP-Code:
                    <?php
                    $done
                    =$_GET['done'];

                    if (
                    $done == true) {
                    echo 
                    'Mail wurde versendet';} ?>
                    Ist zwar manchmal ein wenig schwierig aber ich lebe ganz nach dem motto "learning by doing"

                    vielen dank aber nochmal!

                    Kommentar


                    • #11
                      schon besser.
                      vielleicht kannst du noch mal kurz erklären, welchem zweck die variable $done dient?

                      Kommentar


                      • #12
                        da ja die seite nach absenden erneut geladen wird und ich in der $stringreturnhtml diese variable angegeben habe kann ich danach abfragen ob sie true ist oder nicht. Wenn sie true ist kann ich einen definierten text ausgeben.


                        was bedeutet: das ich mit dieser varaiable jetzt erkenne, ob eine mail gültig versendet wurde und dann kann ich wiue erwähnt eine textausgabe machen.

                        denn bei meinem script ist ja so, dass nach erfolgreichem versenden der user auf die gleiche seite geleiotet wird, wenn das der fall ist und die varaible done mit an die url gehängt wird, dann einfach ne abfrage und wenn true dann erfolgreich versendet wenn nicht eine standard text ausgabe.


                        hoffe ich hab es wenigstens verstanden....

                        Kommentar


                        • #13
                          die idee ist völlig klar. die frage war eher so gemeint: die variablen $done und $_GET['done'] sind hier völlig identisch und nach der zuweisung wird $done nicht mehr verändert. daher die frage: wozu brauchst du die denn noch?

                          Kommentar


                          • #14
                            ich dachte die $done=$_GET['done']; wäre für das abfragen aus der url welchen wert $done jetzt hat.


                            und das $done brauche ich um die $_GET zu definieren.

                            später benutze ich die $done um abzufragen ob sie true ist oder nicht um den richtigen text auszugeben.


                            ist denn jetzt schon wieder was falsch an dem was ich erstellt habe?


                            dachte ich hätte mal was verstanden von php....

                            Kommentar


                            • #15
                              ich dachte die $done=$_GET['done']; wäre für das abfragen aus der url welchen wert $done jetzt hat.
                              und das $done brauche ich um die $_GET zu definieren.
                              nein, dies ist einfach nur eine zuweisung, nicht mehr und nicht weniger. weder fragst du da etwas ab, noch definierst du etwas. $_GET['done'] ist auch nur eine variable. die kannst du direkt statt $done verwenden.

                              Kommentar

                              Lädt...
                              X