Welcher php-Experte kann helfen

  • Ich habe bei mir ein Formular-Script laufen. Bzw. lief es sonst immer. Ich vermute, dass ich irgendwo versehentlich einen Fehler hineingetippt habe. Vielleicht kann mir jemand sagen wo. Wäre wirklich klasse.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Aaaaahhh!!! NIEMALS!!! Variablen aus Usereingaben ungeprüft/ungefiltert weiterverwenden!!! Das Forumlar ist die reinste Spamschleuder!

    Sicheres Programmieren in PHP - Wie unterscheide ich böse Variablen von guten?
    Sicheres Programmieren in PHP - Prüfe importierte Parameter. Traue niemandem

    So, zum Problem selbst: welche Fehlermeldung gibt es? Was heißt "funktioniert nicht" im Klartext? Ich glaube hier fehlt was:

    PHP
    nger = "mail@mydomain.de";


    [COLOR="Red"]$Empfae[/COLOR]nger ?

  • puh, ich habe nicht wirklich Ahnung von php. Habe mir das vor Urzeiten mal irgendwo besorgt und leicht angepasst. Was mach ich denn jetzt um das wieder ans Laufen zu bekommen?
    Es kommt die Fehlermeldung:
    Parse error: syntax error, unexpected '}' in /var/www/web346/html/test.php on line 168

  • puh, ich habe nicht wirklich Ahnung von php.


    Das ist eine schlechte Voraussetzung. Warum verwendest du in dem Fall nicht eins der bekannten WP-Plugins dafür? Ansonsten filtere bitte alle Eingaben die aus $_REQUEST stammen, die PHP-FAQ (siehe Links oben) hilft dir da sicher weiter.

    Zitat

    Es kommt die Fehlermeldung:
    Parse error: syntax error, unexpected '}' in /var/www/web346/html/test.php on line 168


    Also fehlt irgendwo eine geschweifte Klammer. Und zwar hier:

    Code
    mail($Empfaenger, $Mailbetreff, "", $Header);
            echo"Vielen Dank für Deine Bewerbung! Ich werde mich in Kürze bei Dir melden";
       [COLOR="Red"][B]}[/B][/COLOR]
    }
    else
    {
  • dann wirf bitte noch das vollständige script hinterher, denn ohne den vollständigen code ist die fehlermeldung voll und ganz unnütz, da wir nicht einschätzen können was vor "nger" noch alles fehlt und vor allem wo sich zeile 168 im script befindet.

    vG

    arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

  • danke für die Mühe, das oben gepostete ist allerdings das vollständige Script, so wie es bisher immer auf meinem Server lief - bis ich neulich feststellte, dass es nicht mehr geht

  • Ja, in Zeile 62 fehlt die von marX erwähnte geschweifte Klammer der else-Anweisung von Zeile 9.
    Außerdem ist die Deklaration am Anfang nich richtig:
    nger = "mail@mydomain.de";
    Die muss wohl heissen $Empfaenger="mail@mydomain.de";

    Außerdem wird keine korrekte HTML-Seite ausgegeben. Denn der gesamte Head-Bereich fehlt.

    Gruß
    Stephan

  • so langsam verzweifel ich. Habe Eure Vorschläge berücksichtigt. Mein Code sieht jetzt so aus:

    Allerdings gibt es immer noch eine Fehlermeldung:

    Parse error: syntax error, unexpected '}' in /var/www/web346/html/test5.php on line 176

  • sofern das wirklich das ganze coding in der datei ist, fehlt am anfang ein

    PHP
    <?php

    in der ersten zeile....

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

    Einmal editiert, zuletzt von Arno Simon (7. Juni 2009 um 18:59)

  • :-) super, danke! langsam wird es was. mittlerweile kann man das formular fehlerfrei ausfüllen. nur beim abschicken kommt folgender fehler:

    Warning: fread(): supplied argument is not a valid stream resource in /var/www/web346/html/test5.php on line 56

  • Der Fehler liegt hier:

    Code
    $Dateiinhalt = fread([COLOR="Red"]fopen($_FILES['Anhang']['tmp_name'], "r")[/COLOR], $_FILES['Anhang']['size']);


    Splitte das mal auf:

    Code
    $fp = [COLOR="Red"]fopen($_FILES['Anhang']['tmp_name'], "r")[/COLOR];
    $Dateiinhalt = fread($fp, $_FILES['Anhang']['size']);


    und schau mal ob du dann eine andere Fehlermeldung bekommst.

  • dann kommt folgende Fehlermeldung:

    Warning: fread(): supplied argument is not a valid stream resource in /var/www/web346/html/test5.php on line 57

    Das Formular wird trotzdem verschickt, sieht aber natürlich für den Benutzer dumm aus wenn da eine Fehlermeldung kommt

    Zusammenfassend sieht der Code momentan so aus:

    Einmal editiert, zuletzt von osnapicture (7. Juni 2009 um 22:08)

  • dein script setzt voraus das vom absender des formulars ein dateiupload gemacht wurde, wofür aber keine (siehe marXs kommentar weiter oben) entsprechende prüfung vorgesehen wurde.

    habe aber weder zeit noch intention mich damit zu beschäftigen dir aus dieser (ich darf nochmal marX zitieren) "spamschleuder" ein brauchbares script zu basteln. ich denke ich spreche diesen gedanken nicht nur in meinem namen aus.

    anstatt dich (und uns) tagelang damit zu quälen ein brauchbares script daraus zu basteln, such dir doch bitte etwas das a) funktioniert und b) über ausreichende validierungsmechanismen verfügt.

    entweder die einschlägigen wp-plugin-repositories durchsuchen oder wenn das teil nicht zur integration in wp gedacht sein sollte, gibt es mehr als genug tiefgreifende php-repositories in deren tiefen sich mit sicherheit etwas geeigneteres als das was du da hast finden wird.

    vG

    arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

    Einmal editiert, zuletzt von Arno Simon (8. Juni 2009 um 16:23)

Jetzt mitmachen!

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