Wrap functie in multiline textfield werkt niet
Ik maak een multiline textfield aan met een char width van 100 char. Ik zet de WRAP op virtual. Echter als ik mijn bericht met php uitlees krijg ik toch steeds 1 lange zin zonder regeleind. Er verschijnt toch een horizontale schuifbalk. Waar moet ik waar veranderen?
Gewijzigd op 01/01/1970 01:00:00 door Marc koster
even de functie nl2br() over de text halen die uit de DB komt
PHP Newbie schreef op 12.10.2006 23:06:
even de functie nl2br() over de text halen die uit de DB komt
Let hierbij vooral op het punt: "die uit de DB" komt. Wat er (te) veel gebeurt is dat er met de nl2br() (= NewLine naar <br>) naar de database wordt geschreven, maar als je dan tekst later wil bewerken gaat het dan mis. Schrijf het weg zoals het uit het tekstveld komt (wel even htmlentities of adslashes eroverheen halen, om SQL-injectie te voorkomen) en doe de aanpassingen aan de tekst zelf pas bij het uitlezen.
$sql = "SELECT * FROM weblog ORDER BY id DESC";
$resultaat = mysql_query($sql); // voer SQL code uit
if ($resultaat) {
while ($rij = mysql_fetch_array($resultaat)) {
print("<table width=100% border=0>");
// echo "<tr>";
// print("<tr><td> </td></tr>");
print "<td><h5>".$rij["titel"]."</h5></td>";
print("<tr><td> </td></tr>");
print "<td><h4>".$rij["bericht"]."</h4></td>";
print("<tr><td><h3>".$rij["naam"].", ".$rij["datum"]." </h3></td></tr>");
print("<tr><td> </td></tr>");
print("<tr><td> </td></tr>");
print "</tr>";
}
}
print "</table>";
nl2br($_POST['bericht']);
print "<td><h4>".nl2br($rij["bericht"])."</h4></td>";
Nog steeds geen resultaat. De horizontale schuifbalk blijft verschijnen. Ik heb alle wrapfuncties in het formulier geprobeert.
Voor alle duidelijkheid: Ik type 1 lange zin, dus zonder enters. Dit omdat in mijn formulier de "cursor" vanzelf naar een nieuwe regel springt.
Robert schreef op 12.10.2006 23:18:
Let hierbij vooral op het punt: "die uit de DB" komt. Wat er (te) veel gebeurt is dat er met de nl2br() (= NewLine naar <br>) naar de database wordt geschreven, maar als je dan tekst later wil bewerken gaat het dan mis. Schrijf het weg zoals het uit het tekstveld komt (wel even htmlentities of adslashes eroverheen halen, om SQL-injectie te voorkomen) en doe de aanpassingen aan de tekst zelf pas bij het uitlezen.
Wat ik altijd doe: Ik haal met het invoeren in de db enkel mysql_real_escape_string over de input veldjes heen.PHP Newbie schreef op 12.10.2006 23:06:
even de functie nl2br() over de text halen die uit de DB komt
Let hierbij vooral op het punt: "die uit de DB" komt. Wat er (te) veel gebeurt is dat er met de nl2br() (= NewLine naar <br>) naar de database wordt geschreven, maar als je dan tekst later wil bewerken gaat het dan mis. Schrijf het weg zoals het uit het tekstveld komt (wel even htmlentities of adslashes eroverheen halen, om SQL-injectie te voorkomen) en doe de aanpassingen aan de tekst zelf pas bij het uitlezen.
met uitlezen gebuik ik htmlentities, stripslashes, nl2br ( indien nodig ) en nog wat zelfgemaakt functies.
Werkt perfect.
Bij de value van een input veldje doe ik het volgende:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$var = htmlentities($_POST['var']);
$var = stripslashes($var);
?>
<input type="text" name="var" value="<?=$var ?>">
$var = htmlentities($_POST['var']);
$var = stripslashes($var);
?>
<input type="text" name="var" value="<?=$var ?>">
als je bij het input veldje dan '/"/'/"/'/"/'/ invuld, krijg je dat ook netjes terug te zien. dus niet dat elke slash en elke quote ge-escaped worden.
Mvg,
Erik
Erik schreef op 13.10.2006 07:50:
met uitlezen gebuik ik htmlentities, stripslashes, nl2br ( indien nodig ) en nog wat zelfgemaakt functies.
Werkt perfect.
Bij de value van een input veldje doe ik het volgende:
als je bij het input veldje dan '/"/'/"/'/"/'/ invuld, krijg je dat ook netjes terug te zien. dus niet dat elke slash en elke quote ge-escaped worden.
Mvg,
Erik
Robert schreef op 12.10.2006 23:18:
Let hierbij vooral op het punt: "die uit de DB" komt. Wat er (te) veel gebeurt is dat er met de nl2br() (= NewLine naar <br>) naar de database wordt geschreven, maar als je dan tekst later wil bewerken gaat het dan mis. Schrijf het weg zoals het uit het tekstveld komt (wel even htmlentities of adslashes eroverheen halen, om SQL-injectie te voorkomen) en doe de aanpassingen aan de tekst zelf pas bij het uitlezen.
Wat ik altijd doe: Ik haal met het invoeren in de db enkel mysql_real_escape_string over de input veldjes heen.PHP Newbie schreef op 12.10.2006 23:06:
even de functie nl2br() over de text halen die uit de DB komt
Let hierbij vooral op het punt: "die uit de DB" komt. Wat er (te) veel gebeurt is dat er met de nl2br() (= NewLine naar <br>) naar de database wordt geschreven, maar als je dan tekst later wil bewerken gaat het dan mis. Schrijf het weg zoals het uit het tekstveld komt (wel even htmlentities of adslashes eroverheen halen, om SQL-injectie te voorkomen) en doe de aanpassingen aan de tekst zelf pas bij het uitlezen.
met uitlezen gebuik ik htmlentities, stripslashes, nl2br ( indien nodig ) en nog wat zelfgemaakt functies.
Werkt perfect.
Bij de value van een input veldje doe ik het volgende:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$var = htmlentities($_POST['var']);
$var = stripslashes($var);
?>
<input type="text" name="var" value="<?=$var ?>">
$var = htmlentities($_POST['var']);
$var = stripslashes($var);
?>
<input type="text" name="var" value="<?=$var ?>">
als je bij het input veldje dan '/"/'/"/'/"/'/ invuld, krijg je dat ook netjes terug te zien. dus niet dat elke slash en elke quote ge-escaped worden.
Mvg,
Erik
Dat is inderdaad beter :) danku.