Umbruch bei Formularausgabe

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

Probiers mal mit [phpnet]nl2br[/phpnet]

Ohjeee

:shock: :shock: :shock:

[PHP]

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

[/PHP]

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); ?>[/php]

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

also

[PHP]

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

[/PHP]

und danach einfach mit

[PHP]

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

[/PHP]

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()[/PHP]
verhindern ^^

Sollte man sowieso immer machen

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, 'smiley', $string); } $bbcode = array('\[b\]'=>'','\[/b\]'=>'','\[u\]'=>'','\[/u\]'=>'','\[i\]'=>'','\[/i\]'=>''); foreach($bbcode as $kk => $vv) { $string = ereg_replace($kk,$vv,$string); } return $string; } // fuers editieren function outtoForm($string) { $string = preg_replace('//i', '', $string);

// Synonyme meiner Smileys
$synonym = array(‚smiley‘=>‚:true:‘,‚smiley‘=>‚:lough:‘,‚smiley‘=>‚:giigle:‘,‚smiley‘=>‚:kidding:‘,‚smiley‘=>‚:shock:‘,‚smiley‘=>‚:sad:‘,‚smiley‘=>‚:wine:‘,‚smiley‘=>‚:angry:‘,‚smiley‘=>‚:badly:‘,‚smiley‘=>‚:notme:‘,‚smiley‘=>‚:nc:‘,‚smiley‘=>‚:sure:‘);

foreach($synonym as $k => $v)
{
$string = ereg_replace($k,$v,$string);
}

$bbcode = array(‚‘=>‚‚,‘‚=>‘‘,‚‘=>‚‚,‘‚=>‘‘,‚‘=>‚‚,‘‚=>‘‘);

foreach($bbcode as $k => $v)
{
$string = ereg_replace($k,$v,$string);
}

return $string;
}
?>
[/php]

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 :wink:

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 -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 [b]-Tag eine Fett-Schrift erzeugen könnt?
Und schon hab ich nicht mehr das, was ich am Anfang geschrieben hab.

hä? wenn ich „“ schreibe, wird dieses ganz normal ausgegeben die beiden „<>“ werden in html Sonderzeichen umgesetzt und werden ausgegeben, erst wenn ich beim EINTRAGEN ein „[b]“ benutze, wird dieses in ein 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.

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!

Ja, das halte ich mich … :mrgreen:

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.

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

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

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

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

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

Thx

wooow :shock:

ABER DANKE! IHR HABT MIR SEHR GEHOLFEN! :mrgreen: