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

Umbruch bei Formularausgabe

Status
Für weitere Antworten geschlossen.

Angelus

Neues Mitglied
Hi, ich hab mir ne Datenbank erstellt und will den Textinhalt nun ausgeben.. kappt auch wunderbar..

bis auf, dass der Text keine Umbrüche hat, obwohl welche drin sind!!

wie mach ich das denn? der text soll mit umbrüchen und Absätzen ausgegeben werden...

Gruß
Angelus
 
Ohjeee

:shock: :shock: :shock:

PHP:
<?php echo "$row->text"; ?>

im mom sieht das einfach nur so bei mir aus... und das andere ist ganz schon kompiliert.. geht das nicht auch einfacher?
 
:shock: :shock: :shock:

PHP:
<?php echo "$row->text"; ?>

im mom sieht das einfach nur so bei mir aus... und das andere ist ganz schon kompiliert.. geht das nicht auch einfacher?

Wo ist denn da das Prob?
PHP:
<?php
echo nl2br($row->text);
?>
 
Zuletzt bearbeitet von einem Moderator:
Ich empfehle das nl2br schon beim schreiben in die Datenbank zu machen !

also

PHP:
<?php
...
mysql_query("INSERT INTO yourTable (yourField) VALUES ('".nl2br($yourTextVar)."') ");
...
?>

und danach einfach mit

PHP:
<?php
 echo $row->text;
?>

ausgeben
 
Ich empfehle das nl2br schon beim schreiben in die Datenbank zu machen !

also

PHP:
<?php
...
mysql_query("INSERT INTO yourTable (yourField) VALUES ('".nl2br($yourTextVar)."') ");
...
?>
und danach einfach mit

PHP:
<?php
 echo $row->text;
?>
ausgeben
blödsinn, dann lässt sich das ganze doch nicht anständig editieren etc., oder speicherst du links oder bbcode auch umgewandelt als html code inner db, sowas ist echt blödsinnig und führt zu ungewollten Anomalien.
 
wenn mans nicht macht führt es unter umständen zu einer
mysql-injection
was nicht nur zu anomalien, sondern zu datenverlust bis hin zur kompletten kontolle des servers führen kann - geht schneller als du denkst^^
 
mysql injection kann man doch einfach durch
PHP:
mysql_real_escape_string()
verhindern ^^

Sollte man sowieso immer machen
 
blödsinn, dann lässt sich das ganze doch nicht anständig editieren etc., oder speicherst du links oder bbcode auch umgewandelt als html code inner db, sowas ist echt blödsinnig und führt zu ungewollten Anomalien.

Das ist Blödsinn?
Ich meine, wenn Du keinerlei Ahnung hast, wie man das realisieren kann, dann ist das ja nicht mein Problem.
Bei mir läuft es so wunderbar und ist vorallem viel performanter alls wenn ich es nachträglich mache ...

Nur damit Du nicht dumm stirbst, habe ich Dir einmal ein kleines Code Beispiel dabei gelegt, wie man das lösen kann, das man es hinterher auch "vernünftig" editieren kann.

PHP:
<?php

// zum schreiben in die DB
function intoDB($string)
{
  $string = stripslashes($string);
  $string = htmlentities($string);
  $string = nl2br($string);
  $string = mysql_real_escape_string($string);
            
  $synonym = array(':true:'=>'true.gif',':lough:'=>'lough.gif',':giigle:'=>'giigle.gif',':kidding:'=>'kidding.gif',':shock:'=>'shock.gif',':sad:'=>'sad.gif',':wine:'=>'wine.gif',':angry:'=>'angry.gif',':badly:'=>'badly.gif',':notme:'=>'notme.gif',':nc:'=>'nc.gif',':sure:'=>'sure.gif');
                                
  foreach($synonym as $k => $v) 
  {
    $string = ereg_replace($k, '<img src="images/smileys/'.$v.'" alt="smiley">', $string);
  }
  
  $bbcode = array('\[b\]'=>'<b>','\[/b\]'=>'</b>','\[u\]'=>'<u>','\[/u\]'=>'</u>','\[i\]'=>'<i>','\[/i\]'=>'</i>');
  
  foreach($bbcode as $kk => $vv) 
  {
    $string = ereg_replace($kk,$vv,$string);
  }
  
  return $string;
}

// fuers editieren
function outtoForm($string)
{
  $string = preg_replace('/<br\\s*?\/??>/i', '', $string);
  
  // Synonyme meiner Smileys
  $synonym = array('<img src="images/smileys/true.gif" alt="smiley">'=>':true:','<img src="images/smileys/lough.gif" alt="smiley">'=>':lough:','<img src="images/smileys/giigle.gif" alt="smiley">'=>':giigle:','<img src="images/smileys/kidding.gif" alt="smiley">'=>':kidding:','<img src="images/smileys/shock.gif" alt="smiley">'=>':shock:','<img src="images/smileys/sad.gif" alt="smiley">'=>':sad:','<img src="images/smileys/wine.gif" alt="smiley">'=>':wine:','<img src="images/smileys/angry.gif" alt="smiley">'=>':angry:','<img src="images/smileys/badly.gif" alt="smiley">'=>':badly:','<img src="images/smileys/notme.gif" alt="smiley">'=>':notme:','<img src="images/smileys/nc.gif" alt="smiley">'=>':nc:','<img src="images/smileys/sure.gif" alt="smiley">'=>':sure:');
     
  foreach($synonym as $k => $v) 
  {
    $string = ereg_replace($k,$v,$string);
  }
  
  $bbcode = array('<b>'=>'[b]','</b>'=>'[/b]','<u>'=>'[u]','</u>'=>'[/u]','<i>'=>'[i]','</i>'=>'[/i]');
                  
  foreach($bbcode as $k => $v) 
  {
    $string = ereg_replace($k,$v,$string);
  }
  
  return $string;
}
?>
wenn mans nicht macht führt es unter umständen zu einer
mysql-injection
was nicht nur zu anomalien, sondern zu datenverlust bis hin zur kompletten kontolle des servers führen kann - geht schneller als du denkst^^

Ich kenne mich in diesem Business gut bis sehr gut aus, das könnt ihr mich glauben und ich habe auch schon gewisse Erfahrung damit ;)

Klar muss man vernünftige escape Sequenzen treffe aber das dürfte selbstverständlich sein.

Gruss Sven
 
Und was ist, wenn ich bei dir jetzt folgenden Beitrag schreibe:
Wisst ihr eigentlich, dass ihr mit dem <b>-Tag eine Fett-Schrift erzeugen könnt?
Beim speichern in die DB bleibt alles so, es wird nichts ersetzt.
Wird das jetzt aber wieder zum editieren ausgegeben, wird daraus das:
Wisst ihr eigentlich, dass ihr mit dem -Tag eine Fett-Schrift erzeugen könnt?
Und schon hab ich nicht mehr das, was ich am Anfang geschrieben hab.
 
hä? wenn ich "<b>" schreibe, wird dieses ganz normal ausgegeben die beiden "<>" werden in html Sonderzeichen umgesetzt und werden ausgegeben, erst wenn ich beim EINTRAGEN ein "" benutze, wird dieses in ein <b> umgesetzt ...
Oder hast Du den Source nicht verstanden ?! (ohne Dir nahe treten zu wollen)
 
Uups :oops: ,

hatte das htmlentities übersehen.

Jo solange, man das drin lässt und sachen nur in HTML-Code umwandelt also nicht /me tee in Ich sag "tee" geht das.
 
Das ist Blödsinn?
Ich meine, wenn Du keinerlei Ahnung hast, wie man das realisieren kann, dann ist das ja nicht mein Problem.
Bei mir läuft es so wunderbar und ist vorallem viel performanter alls wenn ich es nachträglich mache ...

Nur damit Du nicht dumm stirbst, habe ich Dir einmal ein kleines Code Beispiel dabei gelegt, wie man das lösen kann, das man es hinterher auch "vernünftig" editieren kann.

PHP:
<?php

// zum schreiben in die DB
function intoDB($string)
{
  $string = stripslashes($string);
  $string = htmlentities($string);
  $string = nl2br($string);
  $string = mysql_real_escape_string($string);
            
  $synonym = array(':true:'=>'true.gif',':lough:'=>'lough.gif',':giigle:'=>'giigle.gif',':kidding:'=>'kidding.gif',':shock:'=>'shock.gif',':sad:'=>'sad.gif',':wine:'=>'wine.gif',':angry:'=>'angry.gif',':badly:'=>'badly.gif',':notme:'=>'notme.gif',':nc:'=>'nc.gif',':sure:'=>'sure.gif');
                                
  foreach($synonym as $k => $v) 
  {
    $string = ereg_replace($k, '<img src="images/smileys/'.$v.'" alt="smiley">', $string);
  }
  
  $bbcode = array('\[b\]'=>'<b>','\[/b\]'=>'</b>','\[u\]'=>'<u>','\[/u\]'=>'</u>','\[i\]'=>'<i>','\[/i\]'=>'</i>');
  
  foreach($bbcode as $kk => $vv) 
  {
    $string = ereg_replace($kk,$vv,$string);
  }
  
  return $string;
}

// fuers editieren
function outtoForm($string)
{
  $string = preg_replace('/<br\\s*?\/??>/i', '', $string);
  
  // Synonyme meiner Smileys
  $synonym = array('<img src="images/smileys/true.gif" alt="smiley">'=>':true:','<img src="images/smileys/lough.gif" alt="smiley">'=>':lough:','<img src="images/smileys/giigle.gif" alt="smiley">'=>':giigle:','<img src="images/smileys/kidding.gif" alt="smiley">'=>':kidding:','<img src="images/smileys/shock.gif" alt="smiley">'=>':shock:','<img src="images/smileys/sad.gif" alt="smiley">'=>':sad:','<img src="images/smileys/wine.gif" alt="smiley">'=>':wine:','<img src="images/smileys/angry.gif" alt="smiley">'=>':angry:','<img src="images/smileys/badly.gif" alt="smiley">'=>':badly:','<img src="images/smileys/notme.gif" alt="smiley">'=>':notme:','<img src="images/smileys/nc.gif" alt="smiley">'=>':nc:','<img src="images/smileys/sure.gif" alt="smiley">'=>':sure:');
     
  foreach($synonym as $k => $v) 
  {
    $string = ereg_replace($k,$v,$string);
  }
  
  $bbcode = array('<b>'=>'[b]','</b>'=>'[/b]','<u>'=>'[u]','</u>'=>'[/u]','<i>'=>'[i]','</i>'=>'[/i]');
                  
  foreach($bbcode as $k => $v) 
  {
    $string = ereg_replace($k,$v,$string);
  }
  
  return $string;
}
?>
Ich kenne mich in diesem Business gut bis sehr gut aus, das könnt ihr mich glauben und ich habe auch schon gewisse Erfahrung damit ;)

Klar muss man vernünftige escape Sequenzen treffe aber das dürfte selbstverständlich sein.

Gruss Sven
Du hälst dich wohl für oberschlau was?
Redest von Erfahrung, nutzt aber ereg_replace <- lOL! Schreibst alles doppelt und dreifach auf z.b. die arrays synonym und $bbcode, da frag ich mich wofür gibt es array_flip und array_walk gibt, damit hab ich mit einer zeile code das gemacht, was du so in 15 Zeilen machst.
Allemein muss ich sagen, sowas undynamisches hab ich lang net gesehen.

Außerdem habe ich nicht gesgat, dass man es nicht editieren kann sondern nur nicht anständig (was deine metode nunmal nicht ist). Es geht ja auch nich nur ums editieren, hast du z.b. änderungen bei den smileys (andere bilder) oder willst anderen html für die bbcodes haben, darfst du alle einträge der db (meinet wegn durch ein script) editieren, ich mein du mit deiner ERFAHRUNG kriegst das ja hin!!! Aber ich weiß nich ob das der Sinn von Datenbanken (bzw ich weiß es) ist, daten so speichern.
Ein kleines Beispiel, wie würdest du das Alter abspeichern, mit der Zahl, wie alt er ist, also z.b. 35 oder lieber das Geburtsjahr?
Wird wohl klar sein, genauso ist es hier auch, man speichert die Rohdaten ab um Anomalien etc zu verhinden, sowas lernt man in der 11. Klasse, wenn man Datenbanken behandelt, aber da hast du oberkluger wahrscheinlich nie aufgepasst!
Nochmal zu deinem code:
$string = mysql_real_escape_string($string);
Warum hast du das am Anfang? Durch die " in den Bildern können beim eintragen in die db auch noch fehler enstehen, wenn die nicht escaped sind!
Dann die foreach`s mit dem ereg_replace, da würd die funktion strtr() den ganzen myll besser hinekommen und vor allem kürzer..
Und bitte unterstell mir nicht, ich könnte so ein Kinderkram net slebst realisieren, das geht nach hinten los! Und nochwas garantiere ich dir, macht der nutzer nur enen fehler im bbcode ist der ganze html schön invalide.. Für bbcodes nimmt man regex um auch wirklich ein abschließendes Tag zu haben!
Aber mach nur weiter so, damit wirst du sicher erfolg haben!
 
Du hälst dich wohl für oberschlau was?

Ja, das halte ich mich ... :mrgreen:

Redest von Erfahrung, nutzt aber ereg_replace <- lOL! Schreibst alles doppelt und dreifach auf z.b. die arrays synonym und $bbcode, da frag ich mich wofür gibt es array_flip und array_walk gibt, damit hab ich mit einer zeile code das gemacht, was du so in 15 Zeilen machst.
Allemein muss ich sagen, sowas undynamisches hab ich lang net gesehen.

Denkst Du wirklich, das ich solch ein ( von mir als Bsp. dargebotenes ) Codesnippet benutze? - Im leben nicht ... wie schon erwähnt, ein BEISPIEL um meine Aussage zu stützen bzw. Deine zubeantworten.

Außerdem habe ich nicht gesgat, dass man es nicht editieren kann sondern nur nicht anständig (was deine metode nunmal nicht ist). Es geht ja auch nich nur ums editieren...

Nein ? Mhh dann hab ich wohl an Deiner Aussage etwas fehlerhaft interpretiert ...

Aber ich weiß nich ob das der Sinn von Datenbanken (bzw ich weiß es) ist, daten so speichern.
Ein kleines Beispiel, wie würdest du das Alter abspeichern, mit der Zahl, wie alt er ist, also z.b. 35 oder lieber das Geburtsjahr?

Ich kenne den Sinn einer Datenbank, denke ich genauso gut wie Du.
Definitiv würde ich das Alter nicht als z.B 35 abspeichern! Du hast schon recht, das Geburtsdatum ist da performanter ;Jump

$string = mysql_real_escape_string($string);
Warum hast du das am Anfang? Durch die " in den Bildern können beim eintragen in die db auch noch fehler enstehen, wenn die nicht escaped sind!

Ich verweise auf die Aussage, das dies ein Beispiel ( vllt. in Deinen Augen ein schlechtes ) ist.

Und bitte unterstell mir nicht, ich könnte so ein Kinderkram net slebst realisieren, das geht nach hinten los!

Soll das eine Drohung o. eine Aufforderung zum Wettbewerb sein? :-D
Ich wollte Dich niemals in Deiner Ehre kränken, ich bitte vielmals um Entschuldigung ...

Und nochwas garantiere ich dir, macht der nutzer nur enen fehler im bbcode ist der ganze html schön invalide..
Für bbcodes nimmt man regex um auch wirklich ein abschließendes Tag zu haben!
Aber mach nur weiter so, damit wirst du sicher erfolg haben!

Joa, ich mache weiterhin solche Beispiele um Nutzern wie Dir nur zu Veranschaulichen was ich meine o. Codest bist Du einer der wenigen, der auf Anfrage eines Uploadscriptes ein UploadManagerSystem schreibt mit Ordner und Datenverwaltung + Userverwaltung etc. ?

Beispiele leben davon, das sie recht überschaubar und verständlich sind ... vielen hat es vllt. geholfen ... Dir eventuell nicht und Du wirst niemals Programme finden, die gleich aussehen ... der eine findet das besser und der andere das ...

Falls Du noch etwas mit mir persönlich klären willst, würde ich Dich bitten mich via PM zu kontaktieren, sodass wir das Thema hier nicht unnötig belasten.

Bis dahin verbleibe ich mit freundlichen Grüssen

Der Onkel
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben