Antworten auf deine Fragen:
Neues Thema erstellen

nl2br funktioniert einfach nicht

A

aydesign

Guest

Hi :uhm:

Hab in letzter Zeit viele kleine Scripte geschrieben und funktioniert auch alles soweit, nur bei einem hab ich ein Problem und komm einfach nicht drauf woran es liegt.

Und zwar wird im augegebenen Text einfach kein Zeilenumbruch angezeigt. Stattdessen steht an der Stelle immer \r\n

habs auf diesen arten versucht:

PHP:
    echo nl2br("$message");
    echo parseBBCode2HTML(nl2br("$message"));

$message = nl2br($message);
echo "$message";
alle möglichen variationen, und bei jedem meiner anderen Scripte funktioniert es auch, das komische ist, dass meine Smileys angezeigt werden und so funktioniert auch alles, nur die Zeilenumbrüche wollen nicht!? :'(

Liegt es vielleicht daran wie ich das gepostet in die Datenbank schreiben?
PHP:
    if(isset($_REQUEST['submit']))
   {
   $yourpost = mysql_real_escape_string($_POST['yourpost']);
.....
.....
      $yourpost = strip_tags($yourpost);
      $insertpost = "INSERT INTO test(author,title,post,showtime,realtime,lastposter) values('$name','$subject','$yourpost','$displaytime','$thedate','$name')";
Danke im Voraus !

Mfg, Andy
 

Duddle

Posting-Frequenz: 14µHz

AW: nl2br funktioniert einfach nicht

Ich tippe auf das mysql_real_escape_string(). Das maskiert bestimmte Zeichen, damit sie nicht als Angriffsvektor dienen können. Also wird bspw. aus "\" ein "\\".

Du kannst daher mal versuchen, vorher ein stripslashes() anzuwenden, das sollte diese Zeichen wieder demaskieren. Also konkret:
PHP:
$message = stripslashes($message);
$message = nl2br($message);
echo $message;


Duddle
 
A

aydesign

Guest

AW: nl2br funktioniert einfach nicht

Hi,

funktioniert leider nicht mit: stripslashes( , dann werden nur die \ bei \r\n entfernt.

und wegen mysql_real_escape_string() glaub ich nicht das es daran liegt, wie gesagt ich hab meine anderen Scripte auf die selbe Weiße erstellt und da gibts keine Problemme.

Ich find das echt so merkwürdig, ich hab schon alles mögliche probiert, auch schon absurdes wo ich mir gedacht hab daran liegt es sicher nicht und die tatsache dass es bei den anderen Scripten funktioniert.


 

Duddle

Posting-Frequenz: 14µHz

AW: nl2br funktioniert einfach nicht

Wird auf $message vor deinem ersten Code-Auszug noch etwas angewandt, oder wird es so direkt aus der Datenbank geholt? Falls letzteres, lass dir mal den Inhalt ohne irgendeinen Zwischenschritt ausgeben oder schau in die Datenbank selbst um zu sehen wie es gespeichert wurde (vielleicht schon dort mit "\r\n" statt mit den Zeichen dafür).

Oder anders gefragt: was passiert hier
PHP:
$yourpost = mysql_real_escape_string($_POST['yourpost']);
.....
.....
      $yourpost = strip_tags($yourpost);
bei "....."?


Duddle
 
A

aydesign

Guest

AW: nl2br funktioniert einfach nicht

Hi,

also hab nageschaut in der Datenbank wird der Text auch schon mit \n\r angezeigt. So sieht meine post.php aus, die den Text in die Datenbank speichert:

PHP:
<?php

    include "data/config.php";
    include "data/functions.php";

    echo "<table width='750' class='designtable'>";
    echo "<tr><td><h1>Neuer Eintrag:</h1><br /><br /></td></tr>";
    echo "<tr class='designtable'><td>";

    if(isset($_REQUEST['submit']))
   {
   $name = mysql_real_escape_string($_POST['name']);
   $yourpost = mysql_real_escape_string($_POST['yourpost']);
   $subject = mysql_real_escape_string($_POST['subject']);
   if(strlen($name)<1)
   {
      echo "Sie haben keinen Namen eingegeben.";
   }
   else if(strlen($yourpost)<1)
   {
      echo "Sie haben keine Nachricht eingegeben.";
   }
   else if(strlen($subject)<1)
   {
      echo "Sie haben keinen Betreff angegeben.";
   }

   else

   {

      $thedate = date("U");
      $displaytime = date("F j, Y, g:i a");
      $subject = strip_tags($subject);
      $name = strip_tags($name);
      $yourpost = strip_tags($yourpost);
      $insertpost = "INSERT INTO test(author,title,post,showtime,realtime,lastposter) values('$name','$subject','$yourpost','$displaytime','$thedate','$name')";

      mysql_query($insertpost) or die("Fehler: Eintrag konnte nicht eingestellt werden.");
      echo "Eintrag wurde erfolgreich gestellt! [ <a href='index.php'>Weiter</a> ]";
   }

}

else

{

    include "data/config2.php";
    include "data/ipsperre.php";

    $pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());
    if(@!mysql_fetch_array($pruef)) {
        mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());

    echo "<form action='post.php?submit' method='post'>";
    echo "<strong>Ihr Name:</strong><br>";
    echo "<input type='text' class='feedbacks' name='name' size='30'><br /><br />";
    echo "<strong>Betreff:</strong><br>";
    echo "<input type='text' class='feedbacks' name='subject' size='30'><br /><br />";
    echo "<strong>Ihre Text:</strong><br>";
    echo "<textarea name='yourpost' class='feedbacks' rows='7' cols='50'></textarea><br /><br />";
    echo "<input type='image' src='layout/button.png' name='submit' value='submit'></form><br />";


    } else {
    echo "<span class='red'>IP Filter hat angegeben, dass Sie gerade einen Eintrag getätigt haben.<br/>Sie müssen mindestens 10 Minuten warten!</span><br /><br />";
    }

}

    echo "</td></tr></table>";

?>
Könnte es vielleicht daran liegen dass ich einen Image-Button verwende? Bei meinen anderen Scripten kommt es dadurch zwar auch nicht zu problemen, mir ist aber aufgefallen dass anscheinen nicht alles so übertragen wird wie mit einem normalen Formular Button?
 
A

aydesign

Guest

AW: nl2br funktioniert einfach nicht

Habs gelöst ich hab einfach diese Zeile eingefügt:

$message = str_replace("\\r\\n","<br>", $message);

Damit klappts auch endlich, trotzdem hab ich noch keine erklärung wieso es schon in der Datenbank mit\r\n gespeichert wird?

Danke für die Hilfe
 
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

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben