schnuckeliges PHP Problem

  • Hi Leute, ich hab da ein kleines PHP Problem


    Ich habe mir aus dem Skrip hier: http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/
    einen kleinen Formularmailer gebastelt.


    Das funktioniert sogar. Jetzt hab ich das noch etwas erweitert, so dass ich es als phpnuke modul brauche kann. Und schon funktionierts nicht mehr.
    Es kommen noch Mails an, aber der Inhalt fehlt.



    Die Funktionierende Stand alone Version



    Für die Modulversion sind nur ein paar Details ander, aber an denen liegts.
    Irgendwas mit dem Post scheint nicht zu funktionieren, es werden wohl die Werte aus dem Formular nicht übergeben.


    Please help me out.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

  • Mhh das Mail kommt an aber ohne Inhalt? Also die Variable $strMailtext nicht richtig gefüllt?


    Also ich habe mir dein verändertes Script auf meinen Server geladen und da funktioniert es perfekt.


    Alle Form Inhalte werden versendet.

  • das oben funktioniert
    das unterer jedoch nicht. Und das ist das, welches ich haben sollte.
    Da kommen die Mails eben ohne Inhalt.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    Einmal editiert, zuletzt von 2cool4u ()

  • ich habe das untere genommen.


    Allerdings musste ich die Funktionen entfernen die ich nicht besitze, und die Form Action auf "mail.php" setzen.


    So funktioniert es Perfekt.


    Sieht so aus als würden die Funktionen irgendwie das Script überschreiben...


    mach mal das:
    [PHP]echo $strMailtext;[/PHP]
    in der Linie 66. Was zeigt es dir an?

  • es zeigt mir gar nix an.


    Ich denke, dass hier

    PHP
    1. <FORM METHOD="post" ACTION="modules.php?name=<?php echo $module_name; ?>">


    was falsch läuft. Denn das ist ja praktisch das einzige, was das unter vom oberen skript unterscheidet.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    Einmal editiert, zuletzt von 2cool4u ()

  • was dort bei Action steht, sorgt dafür, dass der POST Befehl in der richtigen Datei aufgerufen wird. also Post in modules.php?name=Bestellform


    Das hat nicht direkt mit modules.php zu tun denk ich.


    Ich kann dort auch ACTION=modules.php?name=Bestellform reinschreiben mit demselben Effekt, dass die Mails leer bleiben.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    Einmal editiert, zuletzt von 2cool4u ()

  • Die modules.php


    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

  • Also wenn er die Mail überhaupt versenden kann, dann muss er das $_POST auch auslesen können. Wenn da schon was falsch laufen würde dann gäbe es ja in Zeile 42 schon ein Problem, repsektiv, er würde den ganzen Mailer Teil nicht durcharbeiten.


    Andere Frage, wieso kannst du nicht PHP_SELF benutzen? Du wechselst ja beim Post nicht auf eine andere Seite?

    Signatur sein ist doof, ich will ein Avatar werden, wenn ich gross bin!

  • PHP_SELF gibt einfach nicht die komplette URL aus.
    die andere Post Action hab ich aus einem anderen phpnuke modul geklaut.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

  • Ich hab noch ne andere Version gebastelt. Diesmal abgeleitet aus dem Modul Feedback Formular



    jetzt kommt bei jedem Post, dass so eine Seite nicht existieren würde. Ich check aber nicht wieso das kommt.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    2 Mal editiert, zuletzt von 2cool4u ()

  • geht denn mit POST überhaupt das mit den ?bla= urls ?


    sprich, wenn du mit method post ein form abschickst, geht es direkt an die datei, da dann wohl das ?bla=irgendwas fehlt, kann es nicht richtig verarbeiten, vielleicht mal mit _GET arbeiten oder das POST richtig abfangen ?
    ich habs nur kurz überflogen ;)

  • naja ich davon ausgegangen, dass wenn es beim feedback so geht, es bei meinem bestellformular auch so gehen müsste.


    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    4 Mal editiert, zuletzt von 2cool4u ()

  • ok, ich habs rausgefunden.


    Jedenfalls warum die verbesserte Version immer File not found brachte.


    Man sollte die Formularfelder gleich benamsen, wie die Variablen, die ihren Inhalten zugeordnet werden.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

  • ja das ist eben das, was ich mit dem method=POST gemeint habe, der frisst die ?x= in der url nicht, zumindest ha das bei mir immer probleme gem8 ;)

  • Zitat

    Original von Bart
    ja das ist eben das, was ich mit dem method=POST gemeint habe, der frisst die ?x= in der url nicht, zumindest ha das bei mir immer probleme gem8 ;)


    Also bei mir hat das schon bei mehreren Scripts problemlos funktioniert. Aber ich benutze in der regel eben PHP_SELF

    Signatur sein ist doof, ich will ein Avatar werden, wenn ich gross bin!

    Einmal editiert, zuletzt von Mannyac ()

  • mhh sonst schon mal überlegt den Array zeiger auf $_POST auf 0 zu stellen?


    Evtl. geht ja eines der Scripts das $_POST Array durch und der Zeiger ist dann am Schluss.


    Edit:
    Oder hast du das Problem schon gelöst? :shure

  • ja, die zuletzgepostete Version funktioniert jetzt.
    An den Vorversionen hab ich dann nicht mehr weitergetüftelt.


    es lag lediglich daran, dass ich hier

    Code
    1. <input name=\"name\" type=\"text\" VALUE=\"$sender_name\" size=\"50\" maxlength=\"100\">


    statt

    Code
    1. <input name=\"sender_name\" type=\"text\" VALUE=\"$sender_name\" size=\"50\" maxlength=\"100\">


    die Feldnamen falsch hatte.

    A fine is a tax for doing wrong.
    A tax is a fine for doing well.

    3 Mal editiert, zuletzt von 2cool4u ()