Kontaktformular

  • Hallo,


    ich habe mein Kontaktformular jetzt mal neu gemacht, allerdings läuft es nicht wie gewünscht.


    Das neue Formular findet ihr hier: neues Formular


    Folgendes Problem: wenn ich alle Felder ordnungsgemäß ausfülle und die Anfrage absende, erfolgt die Fehlermeldung: Es besteht Spamverdacht. Bitte Angaben überprüfen.

    Klickt man dann einfach nochmal auf "Absenden", geht die Anfrage raus. Woran liegt das bzw. was habe ich falsch gemacht?


    Wenn die Anfrage dann versendet ist, möchte ich gerne, dass das Formular ausgeblendet wird und dort steht: Mitteilung wurde erfolgreich versandt.

    Stattdessen erscheint die Mitteilung ganz oben über dem header links.


    Hier ist mein Quellcode dazu:


    Wäre schön, wenn mir jemand helfen kann, da ich von PHP eigentlich null Plan habe. :D

  • Wie so oft gilt auch hier:


    Richtig debuggen


    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
  • Deine angegebene Meldung kann nur an dieser Stelle ausgegeben werden:

    PHP
    if($cfg['Honeypot'] && (!isset($_POST["mail"]) || ''!=$_POST["mail"])){                                                                                                    $fehler['Honeypot'] = "<span class='errormsg'>Es besteht Spamverdacht. Bitte überprüfen Sie Ihre Angaben.</span>";                                                                                                }

    Was bedeutet, dass die Bedingung insgesamt true ergibt. Welche Konstellation dafür verantwortlich ist, musst Du rausfinden, ich tippe auf den honeypot.

    Aber es sind ja nur drei Bedingungskriterien, das ist überschaubar.



    EDIT:

    btw., was soll das:

    PHP
    !=$_POST["mail"])
  • Wie so oft gilt auch hier:


    Richtig debuggen


    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Also Punkt 2. und 3. hab ich jetzt gemacht. Somit würde ich gleich zu Punkt 8. übergehen und die Profis fragen, da ich von PHP (wie schon gesagt) keine Ahnung habe.

  • Warum lässt Du 5 und 6 vorsetzlich aus?

    Wenn Du 2 und 3 befolgt hast, ist doch die Frage, ob Du Fehler, Warnungen oder Hinweise bekommst. All diese Meldungen sind in PHP Gold wert, weil man den Fehler i.d.R. direkt ablesen kann.


    Wenn Du also Punkt 8 in Anspruch nimmst, solltest Du uns zeigen, was das Resultat aus 2 und 3 ist und welche Schritte Du mit welchen Ergebnissen für Punkt 4 und 5 durchgeführt hast.

  • Warum lässt Du 5 und 6 vorsetzlich aus?

    Wenn Du 2 und 3 befolgt hast, ist doch die Frage, ob Du Fehler, Warnungen oder Hinweise bekommst. All diese Meldungen sind in PHP Gold wert, weil man den Fehler i.d.R. direkt ablesen kann.


    Wenn Du also Punkt 8 in Anspruch nimmst, solltest Du uns zeigen, was das Resultat aus 2 und 3 ist und welche Schritte Du mit welchen Ergebnissen für Punkt 4 und 5 durchgeführt hast.

    Die Fehler werden jetzt angezeigt, aber wie bereits 2x schon erwähnt, verstehe ich das nicht. Wenn ich das verstehen würde, würde ich hier nicht um Hilfe bitten.

  • Die Fehler werden jetzt angezeigt, aber wie bereits 2x schon erwähnt, verstehe ich das nicht.

    ...und das verstehst Du auch nicht?

    Wenn Du also Punkt 8 in Anspruch nimmst, solltest Du uns zeigen, was das Resultat aus 2 und 3 ist

    ...oder meinst Du, wir raten hier jetzt, was die Fehlermeldungen sein könnten?

    DU musst uns schon mit den nötigen Infos füttern, wenn wir helfen sollen, d.h. i.d.R., relevanten Code posten, sowie Fehler, Warnungen und Hinweise ( Error, Warning, Notice ) in kompletter Form.


    "Habe ich gemacht, verstehe es aber nicht, helft mir mal" ist ne ganz schlechte Attitüde.

  • Notice: Undefined index: delete in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 27 Notice: Undefined index: Submit in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 32


    Das ist die Fehlermeldung über dem header.


    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 368 Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 369 Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 370Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 390###i class="field" placeholder="Name" value="
    Notice: Use of undefined constant name - assumed 'name' in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 391

    Notice: Undefined index: name in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 391
    " maxlength="50" style="font-size: 16px; font-family: avenir-lt-w01_35-light1475496, sans-serif; color: rgb(0, 0, 102);"###

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 399###i class="field" placeholder="E-Mail" value="
    Notice: Use of undefined constant email - assumed 'email' in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 400

    Notice: Undefined index: email in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 400
    " maxlength="50" style="font-size: 16px; font-family: avenir-lt-w01_35-light1475496, sans-serif; color: rgb(0, 0, 102);"###

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 409


    ...und das im Formular.


    Sorry, ich dachte ihr guckt selber auf die Seite.

  • Notice: Undefined index: delete in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 27

    Code
    27: if ($_POST['delete']){

    Notice: Undefined index: Submit in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 32

    Code
    32: if ($_POST["Submit"]) {

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 368

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 369

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 370

    Code
    368:     $fehler["Honeypot"] != "" || 
    369:     $fehler['Links'] != "" ||
    370      $fehler['Badwordfilter'] != ""

    Notice: Undefined variable: fehler in /var/www/vhosts/web64.rs016.glowfish.de/httpdocs/Dogs/Test_Kontakt/kontakt.php on line 390

    PHP
    390: <div><?php if ($fehler["name"] != "") { echo $fehler["name"]; } ?>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!