ilch Forum » Ilch Clan 1.1 » Allgemein » Problem mit Formular

Geschlossen
  1. #1
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    hi leute hab ein kleines php formular gemacht das geht aber nicht so ganz


    in zeile 85 mekerts beim senden

    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
    Da fehlt ein ';' in Zeile 77.

    Edit: und .' muss an der Stelle weg.


    Zuletzt modifiziert von kdl am 19.04.2011 - 22:28:06
    .
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    oh man danke ^^

    wie kann ich es machen dass die ausgabe also das echo im content bereich angezeigt wird und nicht in einer neuen seite?



    und wie kann ich die punkte die in der mail ankommen formatieren? also zumbeispiel bustyp: fett machen?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Treicio gelöschter User
    Ja wenn du die Mail in HTML Format nimmst könntest du das machen durch einfache HTML Tags wie <b></b>
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    primär ist am wichtigsten dass für die ausgabe dass die mail verschickt wurde kein neues fenster auf geht oder die ganze seite überdeckt

    es soll lediglich im kontent bereich stehen




    wie wie mach ich die mail als html?^^
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Treicio gelöschter User
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $message = "<h1>Hello world!<h1>";
    $to      = "empfaenger@system.de";
    $subject = "Betrefftext";
    $xtra    = "From: ab@sender.de (Ab Sender)\r\n";
    $xtra   .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
    $xtra   .= "X-Mailer: PHP ". phpversion();
      
    mail($to,
         $subject,
         $message,
         $xtra)
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    wie würde ich denn meine eingaben übergeben?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Treicio gelöschter User
    Also für das HTML:
    Dein From erstmal erweitern.

    1
    2
    $from   .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
    $from   .= "X-Mailer: PHP ". phpversion();


    Und dann kannst du alles mit <b></b> Und sowas machen.

    Und was meinst grade mit Eingaben übergeben?^^
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
    ZitatZitat geschrieben von holz

    wie kann ich es machen dass die ausgabe also das echo im content bereich angezeigt wird und nicht in einer neuen seite?


    Das sind grundlegende Funktionen von ilch, die du dir besser in der Dokumentation durchließt.
    externer Link

    Speziell für dein Problem ist die Design-Klasse wichtig.


    Zuletzt modifiziert von kdl am 20.04.2011 - 10:00:27
    .
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ZitatZitat geschrieben von Treicio

    Also für das HTML:
    Dein From erstmal erweitern.

    1
    2
    $from   .= "Content-Type: text/htmlrnContent-Transfer-Encoding: 8bitrn";
    $from   .= "X-Mailer: PHP ". phpversion();


    Und dann kannst du alles mit <b></b> Und sowas machen.

    Und was meinst grade mit Eingaben übergeben?^^



    einfach diese zwei zeilen in meinen code?
    oder wie verstehe ich das?
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Treicio gelöschter User
    1
    2
    $from  = "Content-Type: text/htmlrnContent-Transfer-Encoding: 8bitrn";
    $from   .= "X-Mailer: PHP ". phpversion();

    in die zeile unter dem // und über dem if ( also ne neue zeile dazwischen )

    tipp: ist gut so da $from vorher netmal gesetzt wurde ^^

    also :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //die sendefunktion
    $from  = "Content-Type: text/htmlrnContent-Transfer-Encoding: 8bitrn";
    $from   .= "X-Mailer: PHP ". phpversion();
    if  (mail($empfaenger, 'Busmiete', $send, $from))
       {
       echo "Danke, wir haben Ihre Email erhalten. Wir werden uns schnellstmöglich um Ihr Anliegen kümmern. ";
           }
           else
           {
          echo "Bitte füllen Sie alle Felder aus";
    }
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja aber senden tu ich das was ab zeile 31-77 steht


    das mit dem if ist ja was anderes, das soll ja im content ausgegeben werden(was jetzt auch klappt)
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Treicio gelöschter User
    Hast du das echt selbst gemacht?
    Weil dann dürftest du wissen das das was du meinst nur der Inhalt ist.

    Und das mail($empfaenger, 'Busmiete', $send, $from) im if sendet die mail erst ab.
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    klar hab ich das selber gemacht.... ich dachte nur das muss über den inhalt weil der soll ja formatiert werden aber ich probiers einfach mal aus
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    also ich hab das eben probiert, aber leider klappt das nicht so ganz

    das was vorher einfach in der mail stand ist jetzt in einer *.txt im anhang

    formatierungen wie <b></b> gehen aber nicht


    Zuletzt modifiziert von holz am 21.04.2011 - 15:11:28
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Treicio gelöschter User
    poste ma deinen jetzigen code ( also mit den veränderungen )
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    Du musst auch festlegen, dass es keine einfach Text-Mail werden soll.
    Ein Beispiel findest du hier: externer Link

    Liebe Grüße
    Jan
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte







    kann ich dem betreff der mail auch einer der variablen von meinem feldern zuweisen?
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Treicio gelöschter User
    betreff kansnt du auch mache indem du einfach hinschreibst $variable
    dann sit der betreff gleich alles was in $variable steht.

    Und zu dem HTML: Änder mal Die beiden Zeilen mit $from einfach in:

    1
    $from = "Content-Type: text/plain; charset=UTF-8";


    so dass du nur einmal $from hast.

    also so:

    1
    2
    3
    4
    5
    //die sendefunktion
    $from = "Content-Type: text/plain; charset=UTF-8";
    if  (mail($empfaenger, 'Busmiete mit Übernachtung', $send, $from))
        {
    ?>


    Und wenn du willst kannst du den Betreff auch ändern.
    z.B. so:

    1
    2
    3
    4
    5
    6
    $betreff = 'Busmiete mit Übernachtung nach ' . $_POST["reiseziel"];
    //die sendefunktion
    $from = "Content-Type: text/plain; charset=UTF-8";
    if  (mail($empfaenger, $betreff, $send, $from))
        {
    ?>
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    hi also das mit dem Betreff hat geklappt, aber die formatierung der mail noch immer nicht,
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Treicio gelöschter User
    eig müsste das heißen:

    1
    $from = "Content-Type: text/html; charset=UTF-8";


    irgendwie wurde es umegändert ^^
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    jop so geht es perfekt lächeln

    danke

    Zuletzt modifiziert von holz am 22.04.2011 - 18:05:58
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    UTF-8 kann natürlich Umlaute und auch sehr viele andere Sonderzeichen und genügt in jedem Falle!
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    leider hat utf-8 nicht gereich weil outlook damit nicht ganz klar kommt hab jetzt einen iso standard






    so hab das formular jetzt noch umgebaut dass eine abfrage drin ist ob auch alle pflichtfelder ausgefüllt wurde

    ist dies nicht der fall erscheint ein hinweis dass alle felder ausgefüllt werden sollen


    jetzt mein problem wenn dann alle felder ausgefüllt wurden soll der text nicht mehr erscheinen wenn gesendet wurde sondern nur noch dass die mail weg ist


    was muss ich anpassen?
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    Du musst eine Abfrage um alles herumsetzen:

    1
    2
    3
    4
    5
    6
    7
    8
    WENN
      email gesendet
     
    DANN
      Erfolgreich gesendet ... bla bla bla ...
     
    SONST
      Zeige Formular

    Du könntest beispielsweise nach dem Senden der E-Mail eine neue Variable anlegen und den Status bzw. Wert dieser Variable abfragen.

    Und Outlook kommt mit UTF-8 nicht zurecht? Das ist Quatsch.
    Wenn überhaupt, dann kommst du mit UTF-8 nicht zurecht.
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Treicio gelöschter User
    Was ich nicht verstehe ist:
    1
    $field10 != JA


    JA ist nichts festes wie TRUE oder FALSE und wird in "" oder '' gesetzt.

    Und wo kommt das "JA" her??
    Wenn du meinst zu gucken ob es ausgefüllt ist schreibt man

    1
    empty($VARIABLE)


    Und sowas:
    1
    <?php echo $field10 ?>>

    ?

    1. Ein Tippfehler
    2. hättest du das Value ( das echo gibt den Wert des Feldes aus ) trotzdem mit "" versehen müssen.
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    ZitatZitat geschrieben von Treicio

    Was ich nicht verstehe ist:
    1
    $field10 != JA


    JA ist nichts festes wie TRUE oder FALSE und wird in "" oder '' gesetzt.

    Und wo kommt das "JA" her??


    Hättest du dir seinen Code angeschaut, hättest du folgendes gefunden:

    1
    2
    3
    <input type="checkbox" name="C1" value="JA"value=<?php echo $field11 ?>></p>
            <p><input type="checkbox" name="C2" value="JA" value=<?php echo $field12 ?>></p>
            <p><input type="checkbox" name="C3" value="JA" value=<?php echo $field13 ?>>


    Ist zwar auch Käse, wüsstest aber, worum es geht.

    ZitatZitat geschrieben von Treicio

    Wenn du meinst zu gucken ob es ausgefüllt ist schreibt man

    1
    empty($VARIABLE)



    Zack, und hier wieder: Schau dir doch den Code an, in diesem Fall gäbe es deine $VARIABLE gar nicht, denn wenn die Checkbox nicht ausgewählt ist, wird auch nichts übergeben.

    also:
    1
    2
    if(isset($_POST['C1']) AND ...) {
    [...]


    bzw. statt $_POST['C1'] dein $field10 oder welches das jetzt auch ist.

    => Nimm also bei deinen Checkboxen das value="JA" raus. Ansonsten ist das alles ein großes durcheinander, was man sich ganz sicher nicht gerne anschaut.

    Das ist nicht böse gemeint, aber wenn ich was kommentiere, muss ich mir das auch wenigstens mal ordentlich anschauen.


    Zuletzt modifiziert von DaStIaC am 27.04.2011 - 14:37:11
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Treicio gelöschter User
    Ich würde auch empfehlen wenn du ein Formular machst es dann voll in PHP zu machen mit echo weil andauernd PHp und dann HTML und dann PHP ist ein ziemliches durcheinander.

    Da kann man auch einfach echo '...'; machen. Einzige nachteil ist wenn man onclick oder so hat oder allgemein js muss man halt immer \ benutzen.
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Rein theoretisch ists besser echo nur dann zu verwenden, wenn es wirklich notwendig ist, und es hat viele Vorteile HTML außerhalb des PHP Blocks zu belassen, angefangen bei Syntaxhighlighting für Editoren, ne bessere Übersicht und auch Geschwindigkeit.

    (Hab mir nur Treicios Post durchgelesen, nicht dass hier irgendwas missverstanden wird.)

    Ach und wegen dem JA, Zeichenketten ohne Leerzeichen werden von PHP als Strings behandelt, trotzdem sollte man immer " und ' verwenden, da hast du natürlich recht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Treicio gelöschter User
    Ob ich echo nehme oder ?> ... ist egal von der Geschwindikeit. ist eigentlich das gleiche. ( Also bei mir local, auf meinem Webserver unde dem vServer meines Bro's ist es immer egal und gleich schnell, und bei bplaced auch ^^ )

    Außerdem würde ich sowieso anstatt das in die PHP reinzuschreiben ne extra html machen. Ist meiner Meinung nach noch viel übersichtlicher.

    Je mehr Sprachen in einem desto unübersichtlicher wird es.
    Wenn ich was für mich mache mache ich immer : php - öffnet -> html - über <script> -> Javascript

    Vorallem wenn man wirklich was größeres macht. ( Deswegen würde ich z.B. ExtJS nie direkt in die html kopieren xD )
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten