Formular versenden

  • Du bist unfassbar!!

    Du hast "Richtig debuggen" immer noch ignoriert! Keinerlei Ausgaben von Variablen und das Error-Reporting immer noch nicht hochgedreht! Und gerade das Error-Reporting würde dir wichtige Informationen ausgeben. Aber da du eindeutig zu faul bist, selbst einfachste Dinge umzusetzen, werde ich den Teufel tun und dir den Fehler nennen. Dass du nur auf eine fertige Lösung wartest ohne auch nur einen Hauch von Eigeninitiative zu zeigen, beweist du wieder mal eindrucksvoll!

  • Du willst es einfach nicht kapieren: Ich habe keine Ahnung was Debuggen bedeutet. Bitte lass mich mit deinem unnötigen Geschwätz in Ruhe. Ich bin auf dein Geschwafel nicht angewiesen. Kapiere das endlich, oder lass Dir meine Postings von jemanden erklären, der die deutsche Sprache kapiert. Das ist anscheinend bei Dir nicht der Fall. Bitte lass mich in Ruhe, ich werde sicher jemanden finden, der mir hilft. Von dir will ich keine Hilfe, du bist aber auch außerstande mir welche zu geben mit deinem eingebildeten Supermanngehabe.

  • Du bist also nicht in der Lage, diese zwei Zeilen in das Script zu schreiben:

    Code
    error_reporting(-1);
    ini_set('display_errors', true); 

    Wenn das so ist, dann solltest du besser die ganze Sache vergessen!

    Und ganz nebenbei, du hast schon längst die Lösung bekommen, aber die hast du ja elegant ignoriert!

    Zitat

    Ich würde eher explode nehmen

    Ich habe es erfolgreich durch explode ersetzt.

    Siehe https://www.php.net/manual/de/function.explode.php

    Du hast 2x einen Hinweis auf explode bekommen!!!

    Hast du es jetzt endlich begriffen?? :cursing:

    Einmal editiert, zuletzt von Bandit (31. Dezember 2019 um 12:24)

  • Ok, jetzt habe ich die beiden Zeilen hineingeschrieben. Wenn ich nun das Formular versende, erhalte ich folgende Fehlermeldungen:

    Ich werde es jetzt auch noch mit explode versuchen.

  • explode wird dir erst ab der Meldung mit preg_split helfen, die Notice-Meldung davor werden bleiben, da du keine Formularfelder mit den Namen email, vorname, nachname und name hast. Ich behaupte mal, dass dieses Script so noch nie richtig funktioniert hat.

  • Also vor der php Version 7.0 hat das Script immer einwandfrei funktioniert und ich habe per Mail alle Daten und jeweils 2 Dateien erhalten, die die Absender mitgeschickt haben. Auch derzeit erhalte ich beim Versand des Formulars alle Daten einwandfrei, nur der Versand der Dateien (Format pdf oder Format jpeg) funktioniert nicht.

    Hier sieht man die korrekt übermittelten Daten, die ich im Formular erfasst habe und die ich per Mail erhalte und die Fehlermeldung, die bezüglich der Datei erscheint. Ich habe eine jpeg Datei mit 1,6 MB übertragen und erhalte diesen Fehler???

    Alle anderen Fehlermeldungen (notice und warning preg_split sowie das header warning) sind verschwunden, nachdem ich die Funktion split durch explode ersetzt habe und in Zeile 45 die Bezeichungen der Formularfelder durch die ID meiner Formularfelder ersetzt habe bzw.die von mir nicht verwendeten Formularfelder entfernt habe.

    Es ist also nur mehr das Problem, dass die Datei nicht übertragen wird, obwohl ein definiertes Format in der definierten Größe verschickt wird.

  • IMG_5629.JPG

    $upload_extensions = 'jpg, gif, png, pdf, docx, doc, txt';

    Da fällt dir nichts auf?

  • Muss ich dann bei den erlaubten Dateiformaten Groß- und Kleinschreibung berücksichtigen, funktioniert es nicht wenn die Dateiendung groß geschrieben ist und die Definition im Script klein. Bei der ebenfalls getesteten pdf Datei war nämlich alles klein geschrieben.

    Oder muss man den Punkt vor der Dateiendung auch im Script in der Definition anführen? Soll ich dann im Script sowohl groß als auch klein geschriebene Formate definieren.

  • Bitte hier das html

    formular.txt

    und das Script

    script.txt

    wird jemand schlau daraus (als Code kann ich es nicht posten - das ist zu lange)

    Ich sehe keinen Code.

    @Bandit Ich bewundere deine Sturheit.

    Allein danach, hätte ich die Tastatur ruhen lassen.

    Bitte lass mich mit deinem unnötigen Geschwätz in Ruhe. Ich bin auf dein Geschwafel nicht angewiesen.

    Guten Rutsch und ein gesundes 2020 allen.

    Gegen Mods kommt man nicht an, die haben immer Recht. Sind scheinbar nicht kritikfähig.

  • Und wieder war es nicht möglich, meine Fragen einfach zu beantworten. Ich dachte, ich hätte die Fragen in verständlichem Deutsch gestellt. Dem war aber anscheinend nicht so.

    Oder mein Verdacht bestätigt sich, dass jemand hier der deutschen Sprache nicht mächtig ist.

    Trotzdem allen Prosit 2020.

  • Mitdenken ist definitiv keine Stärke von dir, ganz im Gegenteil!

    Ich denke dann mal für dich:

    • Man hat ein Problem mit Groß/Kleinschreibung von Dateinamen
    • Dabei spielt nur die Extension des Dateinamens eine Rolle
    • Ausnahmsweise dem Link folgen und lesen: strtolower — Setzt einen String in Kleinbuchstaben um
    • Grübel, Grübel und AHHHHHHH, man wandele den Dateinamen einfach in Kleinbuchstaben um und schon wird aus JPG jpg, was dann zu meiner Liste der Extensions passt.
    • Man beachte die Beispiele in der Doku und baue strtolower ein und schon ist das Problem gelöst

    Und nun möge sich dein Rechner in Rauch auflösen, mir wird das jetzt doch zu doof mit deiner Bequemlichkeit und deiner Unfähigkeit mal mitzudenken! Lass es einfach sein mit Programmierung und Internetseiten, mit deiner merkwürdigen Einstellung wird das nichts. Außerdem hoffe ich, dass jetzt nicht irgendjemand dir das Script zurecht biegt und deine Faulheit am Ende doch noch siegt.

  • Und warum wird wieder nicht auf die Tatsache eingegangen, dass ich auch versucht habe eine .pdf Datei zu übertragen, wo die Dateiendung auch hinsichtlich Kleinschreibung mit meinen definierten Dateien übereinstimmt, und wo trotzdem dieselbe Fehlermeldung erscheint?

  • Code
    if (strpos($upload_extensions, strtolower(substr($data['name'], -3))) !== false)

    :D:D:D:D

  • Ist dies nun auch ein Code der erforderlich ist oder nicht???

    Ich habe die Funktion nun hier eingefügt

    Oder muss ich diese Funktion hier bei den Uploads einfügen?

    Bei einem Test mit der JPEG Datei wurden jedenfalls wieder alle eingegebenen Daten übertragen, wobei wieder die Fehlermeldung erschienen ist, dass die Datei wegen einer falschen Endung nicht übertragen werden konnte.

    Code
    $mail->Body = $body;
      //senden der EMail
      if($mail->Send()) {
        header("Location: $redirect");
      }else {
        outputError("Aufgrund eines Fehlers beim Senden konnten die Formulareingaben nicht per E-Mail &uuml;bertragen werden.<br>Error-Message:" . $mail->ErrorInfo);
      }
    }else {
      outputError("Das Formular wurde nicht abgeschickt, da das Formular nicht ausgef&uuml;llt wurde.");

    Weiters werden die strings korrekt in Kleinbuchstaben ausgegeben und es erscheint diese Fehlermeldung zu dem o.a. Teil des Scripts:

    jpeg, jpg, gif, png, pdf, docx, doc, txt

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/44/d291036264/htdocs/html/Anwendungen/myFormMail.php:36) in /homepages/44/d291036264/htdocs/html/Anwendungen/myFormMail.php on line 103

  • Oder muss ich diese Funktion hier bei den Uploads einfügen?

    Und wieder verweigerst du das Mitdenken. Dieser Thread dient echt als gutes Beispiel dazu, wie sehr manche Leute besser die Finger vom Programmieren lassen sollten, weil das mit dem logischen Denken nicht wirklich funktioniert.

    Ich schubse dich noch einmal in die richtige Richtung: wo liegt das Problem, an den vorgegeben Extension oder an den unbekannten Dateinamen vom Upload?

    Und jetzt seh' zu, von mir hast du keinerlei Hilfe mehr zu erwarten. Ich weiss, in deinen Augen habe ich dir ja nicht geholfen, aber das liegt definitiv an dir, da du nicht mitdenkst.

  • Ich denke, der Fehler liegt an den vorgegeben Extensions, nur wird halt leider dafür keine Lösung geboten. Im Gegenteil: es macht Dir Spaß, irgendwelches Kauderwelsch von Dir zu geben und in Rätseln zu sprechen, Darüber, dass Du nie konkret auf meine Fragen antwortest, darf man sich wirklich nicht mehr wundern. Dass ist halt schwer möglich, wenn man nicht sinnerfassend lesen kann.

    Ich habe es echt satt, zu Deinem Spaß hier herumzuraten. Ich hoffe ganz einfach, dass hier in diesem wirklich guten Forum auch noch Leute mit Fachwissen sind, die mir echt weiterhelfen können und das auch wollen. Von dir habe ich echt die Nase voll.