• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gästebuch selbst erstellen

Es wurden ja nicht mal \n oder\t angezeigt .Es wahr einfach eine neue Zeile ohne Zeichen,genau so wenn ich hier ein Zeilenumbruch mache ,hier steht auch kein \n.
Wahrscheinlich konnte ich deswegen auch nix replacen. Was nicht da ist kann auch nicht getauscht werden

Versucht hatte ich es so

Code:
$sms    =  $_POST['sms'];

   $sms = str_replace('\n', "<br>", $sms);
 
Werbung:
Diese Steuerzeichen werden auch nicht angezeigt... die siehste du höchstens in deinem Editor als Zeichen für Zeilenende... das Zeichen sieht aus wie das Zeichen für pi.
 
Werbung:
Aus der Doku...
It's important to remember that this function does NOT replace newlines with <br> tags. Rather, it inserts a <br> tag before each newline, but it still preserves the newlines themselves! This caused problems for me regarding a function I was writing -- I forgot the newlines were still being preserved.

If you don't want newlines, do:

<?php
$Result = str_replace( "\n", '<br />', $Text );
?>
 
Werbung:
Werbung:
Ich hatte dir hier ja schon ein Beispiel gepostet, wie man die Daten für ein Gästebuch auslesen kann. Hier nun ein Beispiel, wie man sie speichern kann:
PHP:
<?php
    if (isset($_POST['name']))
    {
       $mysqli = mysqli_connect('localhost', 'user', 'passwort', 'datenbank');
  
       if (mysqli_connect_errno())
         die ("Connect failed: " . mysqli_connect_error());
    
       $query = "Insert
                     into
                       `entries`
                          (`date`, `name`, `email`, `message`, `ip`)
                      values
                         (now(), %s, %s, %s, %s)";
                        
       $query = sprintf($query, mysqli_real_escape_string($mysqli, $_POST['name']),
                                mysqli_real_escape_string($mysqli, $_POST['email']),
                                mysqli_real_escape_string($mysqli, $_POST['message']),
                                $_SERVER['REMOTE_ADDRR']);
 
       $result = mysqli_query($mysqli, $query)
          or die ("MySQL-Error: " . mysqli_error($mysqli));
    }
?>

Wenn du jetzt immer noch nicht einsiehst, dass man das besser mit einer DB macht, ist dir nicht mehr zu helfen. :D
 
... dann zum Vergleich auch die Methode mit Textdateien...
PHP:
if(isset($_POST['name']) and isset($_POST['text'])) /*Wenn Eingabe erfolgt, neuen Eintrag speichern*/
   {$name = $_POST['name'];
    $text = $_POST['text'];
    $text = str_replace( "\n", "<br>", $text ); /*NewLine aus Eingabe in <br> umwandeln*/
    $text = str_replace( "~", "-", $text );     /*Da '~' Trennzeichen in Datei ist, darf es im Text nicht vorkommen */

   /* hier könnten noch Manipulation an den Variablen durchgeführt werden - Sonderzeichen, Verschlüsselung und und und */

    $datum_zeit = date("d.m.Y H:i:s");

   /* sonst noch was zum Speichern? Dann in der nächsten Zeile mit einfügen*/
   /* und dann natürlich auch in der Tabelle weiter unten berücksichtigen*/

    $neuer_eintrag = $datum_zeit."~".$name."~".$text."\n"; /* Neue Zeile erzeugen*/
    $alle_eintraege = "";                                  /* Initialisieren der Variablen*/
    if(file_exists($speicherdatei))
       {$alle_eintraege = file_get_contents($speicherdatei);/*Einlesen Datei, falls vorhanden*/
       }
    $alle_eintraege .= $neuer_eintrag; /*Neuen Eintrag anhängen bzw ersten Eintrag in Datei schreiben*/
    file_put_contents($speicherdatei, $alle_eintraege);  /*Daten speichern */
    unset($_SESSION['eintraege']); /*unset SESSION Array, damit es neu eingelesen wird*/
   }
 
Werbung:
Werbung:
Reload-Sperre fehlt und warum verstümmelst du Umlaute:

Mein G&auml;stebuch
 
Reload-Sperre fehlt und warum verstümmelst du Umlaute:
Reload-Sperre fehlt bewusst - wenn ein Nutzer Reloaden will, dann soll er es tun... will ja keinen bevormunden.

Das mit den Umlauten liegt an meinem (lieb gewonnenen) Editor (Phase5). Der kann kein utf-8 und schon gar nicht mit ohne BOM.
Und die Umwandlung der Sonderzeichen in Entities macht der automatisch beim Speichern.

Hast du dadurch irgendwelche Nebenwirkungen... außer dass man im Quellcode die Entities sehen kann ?
 
Werbung:
Reload-Sperre fehlt bewusst - wenn ein Nutzer Reloaden will, dann soll er es tun... will ja keinen bevormunden.
Aber damit kann ich ohne Mühe das Gästebuch vollspammen
Hast du dadurch irgendwelche Nebenwirkungen... außer dass man im Quellcode die Entities sehen kann
Nein

Vielleicht solltest du langsam aber sicher mal von Phase5 verabschieden, ein Editor, der kein UTF-8 kann ist nicht mehr zeitgemäß ;)

Für "Vorherige Seite" und "Nächste Seite" würde ich aber kein Formular nehmen, ein Link reicht doch auch. Und auf der ersten und letzten Seit sollte nur ein Button zu sehen sein. ;)
 
Wie machst du das ,das nur eine bestimmte Anzahl von Nachrichten auf einer Seite angezeigt werden und der Rest auf die anderen Seiten verteilt wird ?
 
Zurück
Oben