Formular - Mail kommt nicht an

  • Jo is drin

    Zitat

    $gesendet = isset($_GET['mail']) ? '<p>Ihre Nachricht wurde erfolgreich versandt!</p>' : '';

    Mit $_GET?? Ich verwende doch kein $_GET..


    Hey sag mal liegt das an der Mail FUnktion, manchmal kommt keine . Dann kommt sie doch an, oder liegt das am server:lol:

    #Es funktioniert### SUPER

  • Natürlich hast du in dem Moment eine Variable in $_GET, kommt doch von "?mail=send"

    Doch die ständige Schreiberei hast du bestimmt Posting #60 übersehen

  • Jetzt versuche noch den phpMailer einzubauen und dann hast du ein ordentliches Script. Allerdings musst du auf meine Hilfe erst mal verzichten, bin jetzt erst mal weg.

  • Natürlich hast du in dem Moment eine Variable in $_GET, kommt doch von "?mail=send"

    Doch die ständige Schreiberei hast du bestimmt Posting #60 übersehen


    Danke, Danke, danke!! Durch dich habe ich heute sovieles verstanden(und anfangs dachte ich du willst mich hier vergraulen:oops:)

    Ok werde dann den xhtml strict doktype nehmen und jetzt mich noch reinlesen in den phpmailer, habe es heute mittag schon aber war zu müde da ich die ganze nacht daran gewerkelt hatte das es funktioniert. DU bist der beeeeeeeste, schnell ein Backup machen bevor ich nachher wieder die hälfte versau. Das Formular wird mir auch als ANsatz für meine zukünftigen Formulare seeeeeehr hilfreich sein;-)

    Zitat

    Mit dem Ankommen der Mails wäre ich sowieso vorsichtig. Manche Hoster blocken mehrfachen Mail-Versand per Script. Da kann es durchaus mal passieren, das eine Mail garnicht oder erst verspätet ankommt. Auch da kann der phpMailer helfen, wenn man Mails per SMTP versendet.

    Ist das nur bei Free-Hostern so oder auch bei meinem kostenpflichtigem. Muss ich aber wahrscheinlich dort anfragen... Auf jeden Fall cool jetzt funktioniert und das ganze auch noch benutzerfreundlich ohne captcha;-) HAMMER HAMMER

    P.s Bei dir sieht im Quelltext sogar alles normal aus, bei mir kamm alles hintereinander. Achnee das liegt ja daran ob das Formuklar mit php gemacht, ich habs ja jetzt wieder in HTML. Ist richtig oder?

    Letzte Frage: Kann das error_reporting jetzt raus. ja oder?


    P.s Komm vorbei, ich geb dick einen aus. Schön griechisch essen bei Corfu und ne bar deiner wahl.. Kein Spaß mach ich wirklich

    3 Mal editiert, zuletzt von Programmierer (21. September 2011 um 18:57)

  • Eins noch, nicht denken ich benutze das jetzt einfach so ohne weiter zu schauen, da du bestimmt Profi bist werde ich das Script nochmnal genau analysieren. Sonst bringts mir ja nix, werde mir den genauen Ablauf nochmal zu Gemüte führen. Damit ich auch verstehe, ist mir eigentlich viel wichtiger als die Funktionalität;-)

    http://isi.square7.ch/

    So habe nochmal alles kommentiert ob das so korrekt ist, wo ich noch nicht ganz durchsteige sind Fragezeichen??

    Aber ansonsten Power, hab soviel gelernt dank dir, ich glaub ich weiß auch wer du bist bzw hier im Forum warst;-) aber manche haben deine Hilfestellungen nicht gewürdigt. Kann ich gar nicht nachvollziehen nachdem was du dir für Mühe und Zeit und Nerv für mein Anliegen genommen hast. Alles undankbare Gockel:!:

    3 Mal editiert, zuletzt von Programmierer (22. September 2011 um 04:44)

  • wo kommt das $_GET['mail'] her ??


    Bei der Weiterleitung hängen wir ja ?mail=send an die Url, da kommt dann $_GET['mail'] her.

    ich glaub ich weiß auch wer du bist bzw hier im Forum warst;-)


    Das wissen die meisten hier, dass ich hier mal Bandit war. Meinen Schreibstil erkennen die regelmäßigen Besucher mit mehr oder weniger Begeisterung. Manche wären froh, wenn ich nicht hier wäre, aber gerade deshalb macht es ja Spaß. ;)

    aber manche haben deine Hilfestellungen nicht gewürdigt.


    Das kommt daher, dass ich auch sage, wenn sich jemand dämlich anstellt. Das hören die meisten nicht gerne. War bei dir am Anfang ja auch so, aber dann hat man erkannt, dass du dir Mühe gibst und dann helfe ich auch. Aber was soll's, ich turne seit über 10 Jahren in PHP-Foren rum, und daher weiß ich, dass man es nicht allen recht machen kann und dass man manchen einfach mal heftig irgendwo hintreten muss. Kommt zwar selten gut an, aber ist mir relativ wurscht. Besser andere ärgern sich als ich :D

    Kann ich gar nicht nachvollziehen nachdem was du dir für Mühe und Zeit und Nerv für mein Anliegen genommen hast.


    Das mache ich auch nicht immer, wenn's zeitlich knapp ist, gibts auch nur kurze Kommentare

  • Zitat

    Bei der Weiterleitung hängen wir ja ?mail=send an die Url, da kommt dann $_GET['mail'] her.

    Ok, mein Kopf geht immer davon aus dass $_GET oder $_POST Variablen ausschliesslich von Formularen kommen können, scheint wohl definitiv nicht so zu sein

    Zitat

    ...... Besser andere ärgern sich als ich :D


    Hahaha wo du recht hast hast du recht;-)

    Zitat

    Das mache ich auch nicht immer, wenn's zeitlich knapp ist, gibts auch nur kurze Kommentare


    Da hatte ich ja verdammtes Glück, *freu*

    ------------------------------------------------------------------------------

    Ich wollte jetzt nicht extra ein neues Thema dafür erstellen, gehört ja auch noch dazu:

    Ich möchte das der Haken bei der checkbox gesetzt bleibt falls Form gesendet wird und nicht alle Angaben gültig sind, wie soll ich das machen:

    PHP
    <p id="mailkopie"><input type="checkbox" name="email_kopie" value="<?php if($_POST['email_kopie']=="kopie") echo 'checked=checked'; ?>" /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>

    So, alle Lösungen die man über Google findet funktionieren so oder funktionieren gar nicht? Geht das generell überhaupt?

    Richtig kann es nicht sein, da der Haken nicht bleibt nach senden

  • Ähm, jetzt denkst du wieder nicht mit! Sieh' in dein Script und suche die Stelle, wo entschieden wird, ob eine Kopie gesendet werden soll oder nicht. Vom Prinzip her ist es ja das gleiche und ich habe dir zur Erklärung auch geschrieben, dass Checkboxen nur angeklickt weitergegeben werden. Also?!?

  • Ja hab das bei meiner Googel Suche gefunden:

    PHP
    <?php if($_POST['email_kopie']=="kopie") echo 'checked=checked'; ?>


    Und wenn ich aber im input tag in checked="checked" mache dann ist er ja immer aktiviert:cry:, muss nochmal schauen.

    Aber ganz so wild ist es ja nicht bei einem Feld, da kann der faule Benutzer dann ruhig noch einmal klicken;-)

    So macht er auch nicht:

    PHP
    <p id="mailkopie"><input type="checkbox" name="email_kopie" value="kopie" checked="<?php if($_POST['email_kopie']=="kopie") echo 'checked=checked'; ?> " /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>

    Oder so:

    PHP
    <p id="mailkopie"><input type="checkbox" name="email_kopie" value="kopie" checked="<?php if($_POST['email_kopie']=="checked") echo 'checked'; ?> " /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>

    Und so:

    PHP
    <p id="mailkopie"><input type="checkbox" name="email_kopie" value="kopie" checked="<?php if($_POST['kopie']=="checked") echo 'checked'; ?> " /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>

    Geht alles net.., ist das komplett falscher Ansatz?

    3 Mal editiert, zuletzt von Programmierer (22. September 2011 um 12:28)

  • Haaaalllllooooooo?????? Was steht bei der Überprüfung, ob eine Kopie gesendet werden soll?????

    PHP
    if(isset($_POST['email_kopie']) && $_POST['email_kopie'] == 'kopie')


    Genau das ist es doch auch, was entscheidet, ob die Checkbox angeklickt war oder nicht.

  • So, ist aber immer drin der Haken von Anfang an:

    PHP
    if(isset($_POST['email_kopie']) && $_POST['email_kopie'] == 'kopie') // wenn Emailkopie gesetzt u. aktiviert
                    {
                        $checked = 'checked';
    ....
    PHP
    <p id="mailkopie"><input type="checkbox" name="email_kopie" value="kopie" checked="<?php $checked; ?>" /> Möchten Sie eine Kopie dieser E-Mail erhalten?</p>

    mmmh..

  • Aijaijaiundjai

    PHP
    $checked = isset($_POST['email_kopie']) ? "checked='checked'" : "";
    
    
    <input type="checkbox" name="email_kopie" value="kopie" <?php echo $checked; ?>" />
  • Und wieso ist das error_reporting raus? Das sollte man erst entfernen, wenn das Script fertig ist!

  • Zitat

    Aijaijaiundjai

    :lol:
    Heftig, ich dachte ich hab PHP gelernt, kommt aber immer wieder was neues. Verstehen muss ich das nicht oder?

    PHP
    ? "checked='checked'" : ""

    Also es funktioniert aber..;-)

    Edit: ich habe dich irgendwann in den letzten Beiträgen gefragt, dachte dann da du nix sagtest es kann entfernt werden. Alles klar ist sofort wieder drin:oops:(dachte lokal bei xampp geht das automatisch)

    Einmal editiert, zuletzt von Programmierer (22. September 2011 um 12:44)

  • dachte lokal bei xampp geht das automatisch


    Nein, ist es leider nicht. Kann man aber in der php.ini einschalten. Und eigentlich ist es doch logisch, dass man das erst entfernt, wenn alles fertig ist, oder? ;)

  • Nein, ist es leider nicht. Kann man aber in der php.ini einschalten. Und eigentlich ist es doch logisch, dass man das erst entfernt, wenn alles fertig ist, oder? ;)


    Jop Cheffe;-), nee aber ernsthaft bei Xampp kommen doch immer Noticen wenn nicht alles korrekt ist, dachte das ist dann dasselbe.

    Aber was ist das denn?

    PHP
    ? "checked='checked'" : ""


    Ich glaub ich bin nicht so geschaffen dafür, und heute wollt ich noch den Mailer einbauen. Ich glaub meine geistige Grenze ist erreicht,a ber dafür kannst du nix. Nur ich auch nicht:oops:

  • PHP
    $checked = isset($_POST['email_kopie']) ? "checked='checked'" : "";


    ist das gleiche wie

    PHP
    if (isset($_POST['email_kopie']))
      $checked = "checked='checked'";
    else
      $checked = "";


    Und was den phpMailer angeht, so schwer ist das nicht. Einen Link zu einer Anleitung hast du bekommen, einfach nachbauen. Ich benutze den phpMailer schon seit Jahren, macht deutlich weniger Probleme als die mail-Funktion von PHP

  • Ich glaube ich verwende dann erstmal die zweite gezeigte Variante, da Sie einfach der Übersichtlichkeit(nur für mich) besser hinhält:

    PHP
    if (isset($_POST['email_kopie'])) 
      $checked = "checked='checked'"; 
    else 
      $checked = "";

    Sonst verplane ich irgendwann was das genau macht:lol:

    Zu dem Umstieg auf PHP Mailer bin ich heute noch nicht gekommen, allerdings ist mir noch was andere aufgefallen was ich wohl vergessen hatte bei der Überlegung. Viele sagen der Befehl wäre komplziert, ich finde es geht, allerdings müsste ich in irgendwie ergänzen und ich weiß nicht wie

    Ich möchte Sonderzeichen noch aus den Feldern rauslöschen, kann dieser Befehl irgendwie erweitert werden das er auch Sonderzeichen rauslöscht.

    PHP
    preg_match('#\d#', $name)
  • Gelöst auf folgende Art :arrow:

    PHP
    // addslashes --> stellt einfachen, doppelten Anführungszeichen sowie dem Slash selbst und Null Byte einen zweiten Backslash voran
    $name = addslashes(htmlentities(strip_tags(trim($_POST['name']))));

    Ob das von der Reihenfolge stimmt?
    htmlentities wandert Sonderzeichen in HTMl Code um, und Strip Tags entfernt HTML Tags. Reicht eigentlich Strip Tags aus oder besteht da doch ein Unterschied?

    Eigentlich wäre mir lieber, das er die Zeichen rauslöscht und vor dem mail versenden einen Fehler ausspuckt. Halt so wie wenn im Namen Zahlen drin sind;-)
    --------------------------------
    2 Fragen zum Php Mailer --> http://phpforum.de/forum/showthread.php?t=216932

    Ganz oben steht unter Features eindeutig:

    Zitat

    Senden von E-Mails mit mehreren Empfängern(TO), Kopieempfängern(CC), Blindkopieempfängern(BCC) und Antwortemailadressen(REPLY-TO)

    und:

    Zitat

    Versenden von HTML Mails

    Das ist doch genau das was ich verhindern möchte! Oder sichert dieser PHP-Mailer das ab?
    Also ich sehe da leider keine Vorteile, ausser das vielleicht Providermässig die Mail FUnktion selbst eingeschränkt funktioniert oder gar nicht zugelassen wird. Werde bei meinem Hoster da speziell nochmal nachfragen. Aber sonst:?: Ihr könnt mich gerne eines besseren belehren:!:;)

    Und 2. Wo ist der Download oder wird das selber gecodet, ich will das nicht verwenden tut mir leid. Sehe da keinen Sinn drin, und wenn mein Provider keine Einschränkung der Mail Funktion vorgenommen hat dann...

    10 Mal editiert, zuletzt von Programmierer (23. September 2011 um 06:15)

  • Das Hauptproblem der PHP-Mail-Funktion ist ein vernünftiger Mail-Header. Viele Spamfilter sind da gnadenlos, ist der Header nicht sauber, fliegen die Mails in den Spamordner oder werden je nach Einstellung direkt gelöscht. Das will man wohl überhaupt nicht. Der Aufbau einer eMail ist im RFC 5322 festgelegt, du kannst dich gerne tagelang da durchkämpfen, aber das macht kein vernünftiger Mensch.

    Und ja, mit dem phpMailer sind CC's, BCC's etc. kein Problem. Von alleine macht er das aber nicht, dass muss man ihm schon per Script sagen. Und da du das Script schreibst, kann es ja nicht passieren. Und ob man eine HTML- oder Text-Mail rausschickt, liegt auch in deiner Hand.

    Wenn du dir einfach mal die Doku vom phpMailer angesehen hättest, hätte ich mir das hier ersparen können, denn das steht dort alles.

    Zitat

    Und 2. Wo ist der Download


    Das sind wieder so Sätze, da kann ich mir bissige Bemerkungen kaum verkneifen. Verdammt noch mal, ist das so schwer, bei google einfach mal phpmailer einzugeben?