Gästebuch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch

    Hab jetzt gerade erst mit PHP angefangen und mal um ein bisschen in die Sprache rein zukommen ein Gästebuch aus einem Buch abgeschrieben, bisher aber nur das Formular, also die Daten werden zunächst nur gespeichert, noch nicht weiterverarbeitet. Jetzt hab ich das Problem, dass immer, wenn ich die Daten absende, ein Fehlermeldung erscheint:

    Fatal error: Call to undefined function: n12br() in /usr/export/www/vhosts/funnetwork/hosting/krami/gaestebuch.php on line 21

    Das ist das Script:

    <?php

    if($_POST['sent']==1)
    {

    $_POST['name']=str_replace('~','',htmlentities(strip_tags(trim($_POST['name']))));
    $_POST['betreff']=str_replace('~','',htmlentities(strip_tags(trim($_POST['betreff']))));
    $_POST['message']=str_replace('~','',htmlentities(strip_tags(trim($_POST['message']))));

    if(!$_POST['name']){$fehler="Bitte geben Sie einen Namen ein <br>";}
    if(!$_POST['betreff']){$fehler="Bitte geben Sie den Betreff an<br>";}
    if(!$_POST['message']){$fehler="Bitte geben Sie eine Nachricht ein<br>";}

    if($fehler){$fehler='<h4><font color="red">'.$fehler.'</font></h4>';}

    }

    if($_POST['name'] AND $_POST['betreff'] AND $_POST['message'])
    //Formular wurde ausgefüllt
    {
    $_POST['message']=n12br($_POST['message']);

    if(file_exists('gast.txt')){$ausgabe="\n";}
    $comment=fopen('gast.txt','a');
    $ausgabe.=$_POST['name']."~".$_POST['betreff']."~".$_POST['message'];
    fputs($comment,$ausgabe);
    fclose($comment);
    $_POST['name']="";
    $_POST['betreff']="";
    $_POST['message']="";

    }

    ?>

    <html><head>
    <title></title>
    </head>
    <body>

    <h3>G&auml;stebuch</h3>

    <?php echo $fehler; ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="sent" value="1">
    <p>Ihr Name:<br>
    <input type="text" name="name" size="30" value="<?php echo $_POST['name']; ?>">
    <br>
    Betreff:<br>
    <input type=""text" name="betreff" size="30" value="<?php echo $_POST['betreff']; ?>">
    <br>
    Ihre Nachricht:<br>
    <textarea name="message" rows="10" cols="30" wrap="virtual">
    <?php echo $_POST['message']; ?>
    </textarea>
    </p>
    <input type="submit" value="abschicken">
    </form>
    </body>
    </html>

    Hoffe ihr könnt mir helfen.

  • #2
    Such mir diese Fkt im Manual und du wirst festellen, dass ein gaaanz kleiner aber nicht unwesentlicher Unterschied zwischen dem Manual und deiner Fkt besteht

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Kannst mir nich einfach erklären worans liegt?

      Kommentar


      • #4
        warum sagst du ihm nicht gleich das er einen schreibfehler hat
        Fatal error: Call to undefined function: n12br()
        in /usr/export/www/vhosts/funnetwork/hosting/krami/gaestebuch.php on line 21
        ps. das soll bestimmt
        PHP-Code:
        NL2BR() 
        sein und nicht
        PHP-Code:
        N12BR() 
        oder?
        absichtlich gross geschrieben ^^
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Thx jetz gehts^^

          Kommentar


          • #6
            jaor warum kompliziert wenns auch einfach geht.

            ps: beim nähsten mal einfach mal syntax checken dann kommt man auch von alleine drauf ^^ warum ihm die function n12br() unbekannt ist.

            Code:
            l!=1
            PHP-Code:
            l!=
            l!=1
            l!=1
            es ist zwar hier im forum nur ein KLEINER aber feiner pixel unterschied wenn man code und php nutzt , jedoch wenn man quoted fällt es einem schon auf das l nie und nimmer 1 ist *rofl*
            aber naja blind kann auch mal jeder sein da wird aus nl2br schon mal schnell n12br
            Bitte Beachten.
            Foren-Regeln
            Danke

            Kommentar


            • #7
              warum sagst du ihm nicht gleich das er einen schreibfehler hat
              Weil dieser Fehler so was von eindeutig ist/war. undefined function schreit förmlich danach mal ins Manual zu schauen...

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Original geschrieben von jahlives
                Weil dieser Fehler so was von eindeutig ist/war. undefined function schreit förmlich danach mal ins Manual zu schauen...

                Gruss

                tobi
                stimmt haste eigentlich recht. man hätte ihn auch stundelang suchen lassen können. und er hätte weiter rum genervt.
                z.B.: Ich find das aber nicht. helft mir doch.
                ums kurz zu machen.

                währe es dir lieber gewesen es währe wieder zu einer endlosen diskussion gekommen warum und wieso jemand ins manual schauen soll.

                klar schauen muss er trotzdem.

                und wenn er dann das halbe PHP manual durchforstet hat. wo in den codeteilen
                Code:
                nl2br()
                steht
                und er sich stundenlang wundert. weil warscheinlich sein editor das l fast genau so darstellt wie die 1.
                da selbst Hier im codeblock nur 1 PIXEL unterschied besteht. hätte er sich wohl tot und dämmlich suchen können.

                ps: vergleich mal
                Code:
                nl2br() = n12br()
                PHP-Code:
                nl2br() = n12br() 
                der einziege unterschied ist wirklich im QUOTE zu erkennen.
                nl2br() = n12br()
                man sehe und staune wenn man nicht wirklich drauf achtet ... und ich schätze das hat er nicht dann fällt einem der unterschied warlich kaum auf.
                pps: mein quellcode editor stellt das kleine l und die 1 genau so dar wie hier CODE und PHP ... so ein fehler find mal vorallem wenn man selber ein neuling ist.
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #9
                  Also bei meiner Schriftart kann ich eine 1 eindeutig von einem l unterscheiden...
                  Natürlich ist der Fehler dumm und schwer findbar, aber wer eine Schriftart wählt wo 1 und l gleich aussieht, ist selbst schuld *shrug*

                  und ich hab noch Anti-Alias an, ohne sieht man es wahrscheinlich noch deutlicher...

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    Also bei meiner Schriftart kann ich eine 1 eindeutig von einem l unterscheiden
                    welche?
                    aber wer eine Schriftart wählt wo 1 und l gleich aussieht, ist selbst schuld
                    ich arbeite seit jahren mit der courier new, wie wohl viele andere auch. und ich hätte auch keinen unterschied gesehen. ich glaube nl2br ist wohl auch der einzige fall, wo das vorkommt.

                    seht es mal positiv. wenn uns das passiert, wissen wir sofort, wo der fehler steckt.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      OffTopic:
                      webdings / windings

                      Kommentar


                      • #12
                        stimmt. ich mag Courier New in meinen Editoren lieber als irgennteine andere Schriftart.

                        was solls. war schön das geklärt zu haben
                        Bitte Beachten.
                        Foren-Regeln
                        Danke

                        Kommentar


                        • #13
                          Original geschrieben von Kropff
                          welche?
                          Consolas

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            Hätte da noch ne Frage:

                            Immer wenn ich im <textarea> einen Zeilenumbruch per Enter herbeirufe erscheinen bei mir im GB mehrere Nachrichten. Hier nochmal der Quelltext:



                            <?php

                            if($_POST['sent']==1)
                            {

                            $_POST['name']=str_replace('~','',htmlentities(strip_tags(trim($_POST['name']))));
                            $_POST['betreff']=str_replace('~','',htmlentities(strip_tags(trim($_POST['betreff']))));
                            $_POST['message']=str_replace('~','',htmlentities(strip_tags(trim($_POST['message']))));

                            if(!$_POST['name']){$fehler="Bitte geben Sie einen Namen ein <br>";}
                            if(!$_POST['betreff']){$fehler="Bitte geben Sie den Betreff an<br>";}
                            if(!$_POST['message']){$fehler="Bitte geben Sie eine Nachricht ein<br>";}

                            if($fehler){$fehler='<h4><font color="red">'.$fehler.'</font></h4>';}

                            }

                            if($_POST['name'] AND $_POST['betreff'] AND $_POST['message'])
                            //Formular wurde ausgefüllt
                            {
                            $_POST['message']=nl2br($_POST['message']);

                            if(file_exists('gast.txt')){$ausgabe="\n";}
                            $comment=fopen('gast.txt','a');
                            $ausgabe.=$_POST['name']."~".$_POST['betreff']."~".$_POST['message'];
                            fputs($comment,$ausgabe);
                            fclose($comment);
                            $_POST['name']="";
                            $_POST['betreff']="";
                            $_POST['message']="";

                            }

                            $eintrag=file('gast.txt');
                            $ausgabe="<br>";
                            $temp=count($eintrag)-1;

                            for($i=$temp;$i>=0;$i--)
                            {
                            $element=explode('~',$eintrag[$i]);
                            $ausgabe.="<table class='frame'>";
                            $ausgabe.="<tr><td><b><u>Name:</u> ".$element[0]."</b></td></tr>";
                            $ausgabe.="<tr><td><u>Betreff:</u> ".$element[1]."</td></tr>";
                            $ausgabe.="<tr><td><u>Message:</u> ".$element[2]."</td></tr>";
                            $ausgabe.="<table><br><br><br>";
                            }
                            ?>

                            <html><head>
                            <title></title>

                            <link rel="stylesheet" type="text/css" href="http://styles.freewartools.com/dark/style.css">

                            <style type="text/css">
                            /* <![CDATA[ */
                            @import url(http://styles.freewartools.com/dark/style.css);
                            /* ]] */
                            </style>
                            </head>
                            <body>

                            <h3>G&auml;stebuch</h3>

                            <?php echo $fehler; ?>

                            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                            <input type="hidden" name="sent" value="1">
                            <p>Ihr Name:<br>
                            <input type="text" name="name" size="30" value="<?php echo $_POST['name']; ?>">
                            <br>
                            Betreff:<br>
                            <input type="text" name="betreff" size="30" value="<?php echo $_POST['betreff']; ?>">
                            <br>
                            Ihre Nachricht:<br>
                            <textarea name="message" rows="10" cols="30" wrap="virtual">
                            <?php echo $_POST['message']; ?>
                            </textarea>
                            </p>
                            <input type="submit" value="abschicken">
                            </form>

                            <?php echo $ausgabe; ?>
                            </body>
                            </html>

                            Ruhig ein bisschen ausprobieren^^ Wie kann ich das beheben?

                            Kommentar


                            • #15
                              Wenn du die Einträge in einer Textdatei jeweils in eine Zeile schreibst, sollte es klar sein, dass ein Zeilenumbruch in den Daten etwas ungünstig ist ...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X