Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Gaestebuch - Zeilenumbruch verhindern...“

A

andybiotica

Guest

Halli Hallo

Bin absoluter Beginner und beschäftige mich seit 2 Wochen mit PHP.

Habe ein simples Gaestebuch fuer eine Testseite geschrieben und moecht bzw. muss Zeilenumbrüche verhindern, da es mir ansonsten bei der Ausgabe die Zeilen durcheinander haut und ich werd aus dem Netz nicht schlau.

2. Bitte lacht mich nicht aus, aber wo in meinem Code setze ich specialchars hin. Moechte Boshaftigkeiten vermeiden soweit es geht...

HTML:
<div id="gbook">

    <form action="" method="post">

     <div>

     <p>

     Name:<br /><br />
     <input style="width:500px; background-color: black; color: #FFFFFF;" type="text" name="von" /><br     /><br />

     Nachricht:<br /><br />
     <textarea rows="20" cols="25" style="width:500px; height:400px; background-color: black; color:  #FFFFFF;" name="nachricht"></textarea><br /><br />       

     <input type="submit" name="absenden" value="Senden" />

     </p>

     </div>

    </form><br /><br />

  <?php

  if(isset($_POST['absenden'])) 
  {
  $uname =  $_POST['von'];
  $message =  $_POST['nachricht'];

  $handle = fopen("gbook.txt", 'a+');

  fwrite($handle, $uname);
  fwrite($handle, "\r\n");
  fwrite($handle, $message);
  fwrite($handle, "\r\n");

  fclose($handle);
  }    

  $dateiinhalt = file("gbook.txt"); 
  $arraysize = sizeof($dateiinhalt);

  for($x = 0; $x < $arraysize; $x++)
  {
  if($x % 2 == 0) //Ermittlung, ob gerade oder ungerade Zeile
  {
  echo $dateiinhalt[$x].": ";
  }
  else
  {
  echo $dateiinhalt[$x]."<br /><br />";} 
  }

  ?>

  </div>
 
Zuletzt bearbeitet von einem Moderator:

msa1989

Bin da

Ich denke du wirst dir was dabei gedacht haben das Gästebuch in einer Textdatei zu speichern?
Wenn ja und du willst wirklich bei einer einzeiler-Lösung bleiben, dann kannst du schonmal folgendes machen:
Code:
$message = trim($_POST['nachricht']);
entfernt sämtliche leerzeichen vor und hinter dem Text. Mit
Code:
$message = str_replace("\r\n", "", $message);
$message = str_replace("\r", "", $message);
$message = str_replace("\n", "", $message);
kannst du anschließend alle Zeilenumbrüche in der Nachricht entfernen. Wie du vermutlich schon weißt ist "\r\n" ein Zeilenumbruch. Je nach Betriebssystem ist aber "\n" bzw. "\r" auch ein Zeilenumbruch (siehe hier: https://de.wikipedia.org/wiki/Zeilenumbruch)

P.s. specialchars bzw. "htmlspecialchars" kannst du zum Schluss setzen, nachdem alle Zeilenumbrüche entfernt sind:
Code:
$message = htmlspecialchars($message)
 
A

andybiotica

Guest

Wow, dass ging ja schnell. Großes Danke an Dich. Werd es gleich umsetzen und durchgeben ob es geklappt hat. Und ja, will erstmal bei dieser Variante bleiben. Wenns funktioniert, dann das ganze mit Datenbank.
 
A

andybiotica

Guest

Jippiehhh es funktioniert. Ich hab mal wieder viel zu kompliziert gedacht. Fuehle mich entjungfert...(PHP). Erstes eigenes funktionierendes PHP-Script in eine Testseite integriert. So kanns weitergehen.

Nochmal Danke fuer die schnelle Hilfe.
 

msa1989

Bin da

Gerne gerne. Irgendwo muss man ja mal anfangen.

Noch als kleiner Tipp bezüglich Datenbank:
Fang gleich mit den sog. "Prepared Statements" an. Dann umgehst du auf einfachem Weg grobe Fehler bei der Sicherheit.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.388
Beiträge
1.537.233
Mitglieder
67.258
Neuestes Mitglied
SaschMasch1312
Oben