nl2br an welche stelle

visionsign

Mitglied
Hi, ich habe ein kleines gb gecodet.
jetzt möchte ich gerne in das feld wo man den text schreibt nl2br haben, damit sich automatisch nach dem *enter* drücken ein absatz ergibt. An welche stelle kommt es?

hier der code:

das gb:
Code:
<a href="index.php?site=insertgb">In das G&auml;stebuch Eintragen</a>

<br /><br />

<?php

include 'include/config.inc.php';

?>

<?



$resid = mysql_query ("SELECT * FROM eintraege"); 

while ($record = mysql_fetch_array ($resid, MYSQL_ASSOC)) 

{ 

$name ="$record[name]".""; 

$email ="$record[email]".""; 

$www ="$record[www]".""; 

$herkunft ="$record[herkunft]"."<br>\n";

$datum ="$record[datum]"."<br>\n";

$content ="$record[content]"."";

echo "



<table width=\"100%\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">

<tr>

<td width=\"450px\" valign=\"top\">

<b> $name | <a href=\"mailto:$email\">$email</a> | <a href=\"$www\" target=\"blank\">$www</a> aus $herkunft </b>

</td>

<td width=\"150px\"><div align=\"right\" valign=\"top\">



$datum

</div>

</td>

</tr>

<tr>

<td colspan=\"2\" valign=\"top\">

<br> $content

</td>

</tr>

</table>

<br>" ;

}

?>

und hier der teil zum eintragen:

Code:
<?php 



include ("include/config.inc.php"); 

if ($_POST["submit"] == "eintragen") { 

$name = $_POST["name"]; 

$email = $_POST["email"]; 

$www = $_POST["www"];

$herkunft = $_POST["herkunft"];

$content = $_POST["content"];

if (mysql_query ("INSERT INTO eintraege (name, email, www, herkunft, content) VALUES ('$name', '$email', '$www', '$herkunft', '$content')")) { 

echo "Daten wurden eingefügt"; 

} else { 

echo "Fehler beim einfügen der Daten"; 

} 

} else { 

?> 

<div align=center>

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

<table width="200" border="0" align="center" cellpadding="2" cellspacing="0">

<tr>

<td>Name:</td>

<td><input type="text" name="name"></td>

</tr>

<tr>

<td>EMail:</td>

<td><input type="text" name="email"></td>

</tr>

<tr>

<td>WWW:</td>

<td><input type="text" name="www"></td>

</tr>

<tr>

<td>Herkunft:</td>

<td><input type="text" name="herkunft"></td>

</tr>

<tr>

<td valign="top">Message:</td>

<td><textarea name="content" cols="20" rows="5"></textarea></td>

</tr>



</table>

<input type="submit" name="submit" value="eintragen"></input> 

<input type="reset" name="reset" value="l&ouml;schen"></input>

</form>

</div>

<?php 

} 

?>
 
Spescha: Wo siehst du da was von $text? ;)

Du solltest vor das echo (welches den Eintrag als solches ausgibt), folgendes packen:

PHP:
$content = nl2br($content);

Das dürfte reichen.
 
ja...hab mir den Code nicht durchgeschaut und wusste somit nicht, was für Variablen er verwendet hat...
gruss
 
Das was bis dato vorgeschlagen wurde ist eigentl. recht umständlich, weil du für eine Variable eine neue oder die gleiche noch mal anlegen musst.

Damit man sich mit solchen Dingen die Finger sauber hält, verwendet man die Ausgabe mit nl2br bereits im echo.

PHP:
<?php
echo "".nl2br($variable)."";
?>
 
saila hat gesagt.:
Das was bis dato vorgeschlagen wurde ist eigentl. recht umständlich, weil du für eine Variable eine neue oder die gleiche noch mal anlegen musst.

Damit man sich mit solchen Dingen die Finger sauber hält, verwendet man die Ausgabe mit nl2br bereits im echo.

PHP:
<?php
echo "".nl2br($variable)."";
?>

... und da ich das komischerweise immer wieder sehe mit den Anführungsstrichen. So ist besser:
PHP:
echo nl2br($variable);
 
Schön das du es immer wieder siehst.............., das Biepsiel bezog sich auf die Ausgabe innerhalb von HTML-tags. Deshalb auch die Anführungsstriche Sonst hätte ich wohl kaum diese eingebunden.
 
Zurück