PHPMailer Verständniss-klärung

  • Hallo,


    bin ein absoluter newbie was php betrifft, daher bitte ich gleich vorab um nachsicht :)


    ich möchte ein ganz simples kontaktformular benutzen und mir wurde phpmailer empfohlen um die übertragung der daten per email zu versenden.
    Zuerst dachte ich ach ganz simple, aber irgendwie ist es doch ganz tricky...


    also habe ich eine Datei kontakformular.php erstellt und im oberen teil den htmlteil für die eingabefelder erstellt und darunter den phpteil, hoffe das daß auch erstmal überhaupt so richtig ist.
    bin des englischen nur bedingt mächtig und grundsätzliche fragen konnte ich auch per youtube-videos nicht für mich klären.


    Hier mal meine kontaktformular.php - Datei:

    Also mir geht es hier nicht darum ne lösung von euch geschrieben zu bekommen, erstmal geht es mir darum ob der aufbau so richtig ist ( vonwegen htmlteil oben und darunter den php konfigurationsteil oder wie wird phpmailer sonst integriert? ) und wie die textfelder dem phpskript zugeordnet werden. Ist der Ansatz so richtig? :)

    hier mal ne liveansicht des formulars: http://helgehh.bplaced.net/


    Gruß,


    Helge

    p.s. kann man der codeansicht irgendwie zeilennummern voranstellen?

  • Hallo,

    erstmal habe ich eine html- und eine eigene php-datei erstellt und somit den code aufgeteilt!

    index.html :

    Über action wird im html-dokument die kontakt.php geladen:

    So ist es übersichtlicher :)

    sind die eintragungen in der php datei so ok oder habe ich da völlig falsche eintragungen gemacht?

    wenn ich jetzt versuche die daten zu übertragen kommt folgender fehler:

    Nachricht konnte nicht gesendet werden!Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting , kann ja auch noch nicht ;)

    also für mein verständniss, wo im php skript übernehme ich die zu übertragenen eintragungen aus den htmlfeldern, sprich wo name, vorname, email,betreff und die nachricht eingetragen wurde?

    siehe seite: http://helgehh.bplaced.net/

    ich versuche mich da immer weiter ranzutasten, aber so wirklich alleine komme ich nicht weiter :(

    gruß,

    Helge


    p.s. natürlich habe ich im htdocs-root verzeichniss ein unterverzeichniss phpmailer erstellt in dem die datein PHPMailerAutoload.php , phpmailer.php und smtp.php liegen!

    Einmal editiert, zuletzt von HelgeHH (11. September 2016 um 08:44)

  • Hey,

    zu deinem HTML-Teil:

    Wenn du input-elemente beschreiben willst benutze den label-tag. Der ist dazu da diese input felder zu beschreiben.
    -> siehe : http://www.w3schools.com/tags/tag_label.asp


    Was machst du da mit dem attribut : font face ?

    Wenn du jedem Element in deinem html-teil die schriftart arial geben möchtest kannst du ganz easy im css den * Selektor verwenden welches das ganze dokument anspricht und da kannst du dann die schriftart mit : font-family: Arial,sans-serif; einstellen. Die 2. Schriftart wird erst aktiv wenn die 1.ste nicht vorhanden ist

    Wenn du ein unsichtbares input feld erstellen willst brauchst du das css wie in deinem Beispiel nicht. Du kannst es da einfach so machen:

    HTML
    <input type="hidden" name="schutz" value="schonabgesendet">

    Mit dem könntest du z.b. mit php abfragen ob formular bereits schonmal aufgerufen wurde, weil dieses feld gibt die value erst aus wenn das formular abgesendet wurde.
    Es gibt sehr viele Möglichkeiten in php dies zu machen. Aber dies ist für den anfang die leichteste.

    Zu diesem PHP-Mailer kann ich dir nicht helfen.


    Gruß,
    Stef

    • Offizieller Beitrag

    Hallo Helge,

    Der Fehler, den Du bekommst deutet darauf hin, dass die Authentifizierung am SMTP-Server fehl schlägt.
    Prüfe bitte die Daten nochmal, ansonsten darfst Du mir gerne eine PN senden mit der E-Mail, die Du als SMTP-Gateway verwenden willst.
    Dann schaue ich gerne mal, ob ich Dir da etwas weiter helfen kann.

    Zum HTML-Teil: Inline-Style solltest Du sowieso nicht nutzen!
    Du verwendest bereits CSS im Header, da gehört das eher rein.
    Noch besser wäre es in eine extra Datei auszulagern, aber wie gesagt auf jeden Fall kein Inline-Style verwenden, das ist seit Jahren nicht mehr StateOfTheArt.

    Gruß Arne

  • Hallo Stef, Hallo Arne ich danke euch für die Rückmeldung :)

    Habe erstmal den HTML - Teil angepasst :

    Am PHP-Teil werkele ich noch etwas rum ! :)

    Ich poste ihn später nach :)

    gruß,

    Helge

    p.s. konnte leider nicht als html code einfügen, es hat mir jedesmal den gesamten code in der ansicht zerrissen, daher habe ich ihn im normalen code modus eingegeben!

  • Hey,

    kein Ding.

    Und wenn du ein label benutzt dann must du das for attribut benutzen und den zugewiesenen text dann dem input feld hinzufügen das html weis, dass der label-tag zum input element gehört
    d.h.:

    HTML
    <label for="male">Male:</label>
    <input type="radio" name="geschlecht" id="male" value="maenlich">
    
    
    <label for="female">Female:</label>
    <input type="radio" name="geschlecht" id="female" value="weiblich">

    Stef