<br> eingabe bei Gästebuch

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

  • <br> eingabe bei Gästebuch

    Hallo...

    ich habe ein Gästebuch programmiert...

    das eigentliche Kommentarfeld habe ich so definiert: `beitrag` TEXT NOT NULL,

    wenn ich jetzt was eingebe über ein Formular, gehts auch.. ABER
    wie mach ich das, dass auch die Absätze mit gewertet werden.
    So dass wenn ein Benutzer was eingibt auch die "Enter"-Schläge mit einem <br> geschrieben werden..bzw in die db geschrieben werden und dann richtig ausgeb´geben werden!?

  • #2
    nl2br
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      deine Antowrt hilft mir überhaupt nicht weiter!

      Kommentar


      • #4
        du solltest in die db selbst rohdaten schreiben (nur addslashes() vorher verwenden).

        bei der ausgabe dann nl2br()
        und andere formatierungsoptionen (htmlentities() & co) durchlaufen!
        GNU/LINUX

        Kommentar


        • #5
          ok ok... immer noch zu hoch für mich!

          geht das noch ne Stufe easier?

          Kommentar


          • #6
            ok, nehmen wir mal an der gb-eintrag steht in $_POST['eintrag']!

            bei speichern:
            mysql_query("INSERT INTO tabelle VALUES('".addslashes($_POST['eintrag']."') usw

            beim ausgeben/lesen:
            $q = mysql_query("SELECT usw")

            dann hast du meinentwegen in row['0'] das jeweilige posting stehen und formatierst es:
            $row['0'] = stripslahes($row['0']); // backslashes entfernen
            $row['0'] = htmlentities($row['0']); //html-tags entfernen
            $row['0'] = nl2br($row['0']); // \n in <br> umwandeln
            GNU/LINUX

            Kommentar


            • #7
              cool hilft mir schon mal weiter.. DANKE

              aber
              we mache ich das wenn ich die Daten mit "list" aufrufe

              PHP-Code:
              $query mysql_query ("select id,titel,DATE_FORMAT(datum,'%d.%m.%Y') as anzeigedatum, 
                                      DATE_FORMAT(datum,'%H:%i:%s') as anzeigezeit,name,email,homepage,beitrag 
                                      from 
              $table order BY datum DESC limit $nr$amount;"); 
              echo
              "<br>";
              while (list(
              $id,$titel,$anzeigedatum,$anzeigezeit,$name,$email,$homepage,$beitrag) = mysql_fetch_row($query)) { 
                   echo 
              "<a name=\"$id\"></a><table width=$tablewidth $tableborder cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"center\">".
                          
              "<tr><td>".
                          
              "<table width=100% cellspacing=\"1\" cellpadding=\"4\" border=\"0\" >".
                          
              "<tr>".
                          
              "<td $bgtime class=zeit width=27%><b>#$id</b> am $anzeigedatum $anzeigezeit</td>".
                          
              "<td $bgtitle class=max_einträge  width=\"73%\">&nbsp;<b>$titel</b></td>".
                          
              "</tr>".
                          
              "<tr>".
                          
              "<td $bgfrom valign=top><p class=von>geschrieben von :</p><p class=name> $name</p>";} 

              Kommentar


              • #8
                ersetze
                PHP-Code:
                while (list($id,$titel,$anzeigedatum,$anzeigezeit,$name,$email,$homepage,$beitrag) = mysql_fetch_row($query)) { 
                durch

                PHP-Code:
                while($row mysql_fetch_array($query)) { 
                nun hast du in row['mysql_spaltenname_hier_einsetzen'] deine werte und kannst sie in aller ruhe vorher mit den oben genannten funktionen formatieren!
                GNU/LINUX

                Kommentar


                • #9
                  habs so geamcht

                  PHP-Code:
                  while($row mysql_fetch_array($query)) { 
                       echo 
                  "<a name=\"$row['id']\"></a><table width=$tablewidth $tableborder cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"center\">".
                              
                  "<tr><td>".
                              
                  "<table width=100% cellspacing=\"1\" cellpadding=\"4\" border=\"0\" >".
                              
                  "<tr>".
                              
                  "<td $bgtime class=zeit width=27%><b>#$row['id']</b> am $row['anzeigedatum'] $row['anzeigezeit']</td>".
                              
                  "<td $bgtitle class=max_einträge  width=\"73%\">&nbsp;<b>$row['titel']</b></td>".
                              
                  "</tr>".
                              
                  "<tr>".
                              
                  "<td $bgfrom valign=top><p class=von>geschrieben von :</p><p class=name> $row['name']</p>"
                  bekomme folgende Fehlermeldung:
                  Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /kunden/kramer-digital.de/grabo/gb/guestbook2.php on line 114

                  Kommentar


                  • #10
                    lass mal inner halb der " " die ' ' in den $row[] weg
                    zB $row['id'] muss $row[id] heissen
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      Oder du machst es so

                      In $text steht der Kommentar.


                      PHP-Code:
                      $text "Hallo\nDies ist ein Beispieltext.";
                      $text str_replace("\n""<br>"$text);
                      echo 
                      $text
                      mfg Flashfactor

                      Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

                      Kommentar


                      • #12
                        ok hab die ' jetzt weggelassen und hat geklappt!

                        aber wenn ich jetzt nach dem Selct das hier schreibe

                        PHP-Code:
                        $query mysql_query ("select id,titel,DATE_FORMAT(datum,'%d.%m.%Y') as anzeigedatum, 
                                                DATE_FORMAT(datum,'%H:%i:%s') as anzeigezeit,name,email,homepage,beitrag 
                                                from 
                        $db_table order BY datum DESC limit $query_offset$query_amount;"); 
                                                
                        $row[beitrag] = nl2br($row[beitrag]); // \n in <br> umwandeln
                                                
                        $row[beitrag] = stripslahes($row[beitrag]); // backslashes entfernen
                                                
                        $row[beitrag] = htmlentities($row[beitrag]); //html-tags entfernen 
                        bringt er mir den fehler

                        Fatal error: Call to undefined function: stripslahes() in /kunden/kramer-digital.de/grabo/gb/guestbook2.php on line 113

                        Kommentar


                        • #13
                          na dann lies mal die Fehlermeldung genau durch die Funktion stripslahes() gibs nicht
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Kommentar


                          • #14
                            habs beim INSERT so gemacht

                            Code:
                            $beitrag=(addslashes($beitrag));
                            $query = "INSERT INTO $db_table (name,email,homepage,titel,beitrag,datum ) VALUES('$name','$email','$homepage','$titel','$beitrag','$datum')";
                            und beim Aufrufen so:

                            Code:
                            $query = mysql_query ("select id,titel,DATE_FORMAT(datum,'%d.%m.%Y') as anzeigedatum, 
                            						DATE_FORMAT(datum,'%H:%i:%s') as anzeigezeit,name,email,homepage,beitrag 
                            						from $db_table order BY datum DESC limit $query_offset, $query_amount;");
                            						$beitrag=$post;
                            						function formatpost($post) {
                                $post= stripslashes($post);
                                $post= htmlspecialchars($post);
                                $post= nl2br($post);}
                            ...
                            echo formatpost($row[post]);

                            Kommentar


                            • #15
                              Warum willst DU denn beim Schreiben in die DB die \r entfernen?
                              Einfach beim lesen nl2br verwenden und gut is.
                              Beantworte nie Threads mit mehr als 15 followups...
                              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                              Kommentar

                              Lädt...
                              X