[gelöst] PHP problem

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • Hallo zusammen ich bin grad ein bischen am basteln und hab da ein script gefunden das aber nich richtig will.


    // Benutzerdaten, Datum, Uhrzeit und IP Adresse speichern


    $neuer_inhalt = $alter_inhalt . "\n"
    . strftime('%d.%m.%Y') . '|'
    . strftime('%H:%M') . '|'
    . text_parser($name) . '|'
    . getenv('REMOTE_ADDR') . '|'
    . email_parser($email) . '|'
    . text_parser($kommentar);


    es wird alles schön gespeichert


    11.09.2007|15:58||***.**.**.**||
    11.09.2007|15:59||***.**.**.**||


    nur $name $email $kommentar wird nicht ausgegeben
    was bedeutet text_parser???
    Hat jemand ne idee?

    mfg momo


    "Nie zuvor hatten wir so wenig Zeit, um so viel zu tun." - Franklin D. Roosevelt

    Einmal editiert, zuletzt von momo ()

  • text_parser ist eine Funktion. Es ist allerdings keine Standardfunktion also kann ich dir nicht sagen was sie tut. Die Deklaration sollte irgendwo im Quelltext zu finden sein.
    Wenn dem so ist, scheint bei dieser Funktion ein Fehler vorzuliegen, da sie keinen Wert zurückliefert.
    Wenn dort keine Deklaration zu finden ist wundert es mich einmal mehr, was PHP so zulässt :winking_face: Schreibe dann einfach eine Funktion die den Übergebenen Wert zurückliefert. Dort sollen vermutlich die String auf Zulässigkeit geprüft werden. Ich habe keine Ahnung ob und wenn ja in welchem Umfang du das nötig hast.

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

  • function text_parser($text)
    {
    $text = str_replace("&", "&", $text);
    $text = str_replace("|", "|", $text);
    $text = str_replace("\"", """, $text);
    $text = str_replace("<", "&lt;", $text);
    $text = str_replace(">", "&gt;", $text);
    $text = str_replace(array("\r\n", "\n", "\r"), '<br />', $text);
    $text = stripslashes($text);
    $text = trim($text);

    return $text;
    }


    function email_parser($email)
    {
    text_parser($email);

    if (preg_match("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}^", $email))
    {
    return $email;
    }
    else
    {
    return '';
    }
    }


    ich habs glaub gefunden es werden wohl sonderzeichen ersetzt bevor es geschrieben werden soll.


    was für eie funktion kann ich benutzen wenn ich das gar nicht brauch?

    mfg momo


    "Nie zuvor hatten wir so wenig Zeit, um so viel zu tun." - Franklin D. Roosevelt

  • die funktion text_parser liefert in jedem fall was zurück. scheint eher so, als ob die variablen $name, $email, $kommentar leer wären.

    Schöne Grüße aus Österreich,
    Ingo

  • die html datei dazu sieht so aus :


    <form action="#kommentarlink#" method="POST">
    <p><center>#kommentare#</center></p>
    <p><center>Name eingeben:<br /><input name="name" type="text" size="30" maxlength="25" /></center></p>


    <p><center>E-Mail Adresse eingeben:<br /><input name="email" type="text" size="30" maxlength="40" /></center></p>


    <p><center>Bitte '<span title="Zum Schutz gegen Spambots bitte abtippen." style="cursor: help;">NOSPAM</span>' eintippen:<br /><input name="spamblocker" type="text" size="30" maxlength="6" /></center></p>


    <p><center>Kommentar eingeben:<br /><textarea name="kommentar" cols="45" rows="6"></textarea></center></p>


    <p><center><input name="do" type="hidden" value="comment" /><input type="submit" class="button" value="Kommentar abgeben" /> <input type="reset" class="button" value="Zur&uuml;cksetzen" /></center></p>
    </form>


    oh man sollte eigentlich nur ein kleines kommentartool werden
    und jetzt hab ich mir schon die halben haare ausgerissen

    mfg momo


    "Nie zuvor hatten wir so wenig Zeit, um so viel zu tun." - Franklin D. Roosevelt

  • vermutlich keine register globals aktiv (gute sache!!! ;))


    du musst direkt über $_POST['<name>'] zugreifen, also z.B. $_POST['email'] statt $email.

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

  • Es funktioniert !!!!!!!!!!


    Vielen Dank ritzMo,tcsoft


    das hätt ich glaub nie rausgefunden


    Danke nochmal

    mfg momo


    "Nie zuvor hatten wir so wenig Zeit, um so viel zu tun." - Franklin D. Roosevelt