Gå til innhold

[Løst]Automatisk linjeskift i textarea?[Løst]


Anbefalte innlegg

Holder på å lage en liten gjestebok der folk/jeg skal skrive i et textarea.

Men hvis noen skriver noe langt, holder alt seg fortsatt til en linje, så alt kommer utenfor rammene på siden.

Eneste mulighet jeg kommer på er jo at folk på bruke br for å skrive og det er jo ikke alle som vet om.

Er det noen som har en måte å få automatis linjeskift, evt. etter x-antall tegn?

Endret av Jokkeman
Lenke til kommentar
Videoannonse
Annonse
Litt dårlig forklart av meg :p

 

Det jeg mener er:

Når jeg skriver i textarea, funker ikke linjeskift når det kommer inn i fieldset.

Alt fortsetter bare på samme linje. br er det eneste som funker.

 

Bruker PHP i den gjesteboken.

 

Du mener at hvis skriver ett linjeskift i bruker-inputten, så er du overrasket at en nettleser ikke bryter linjen når du viser den i ett ikke pre-formatert element?

Lenke til kommentar

<?php
$con = mysql_connect("localhost","****","**********");
if (!$con)
{
die ("error, " . mysql_error());
}

mysql_select_db("********_mysql", $con);
$sel = mysql_query("SELECT * FROM Gjestebok");

while ($rad = mysql_fetch_array($sel))
{
echo "<fieldset><legend><small>Skrevet av: <b>";
echo $rad['Brukernavn'];
echo "</b>(";
echo $rad['Epost'];
echo ") ";
echo $rad['Dato'];
echo "</small></legend></br>";
echo $rad['Melding'];
echo "</fieldset></br>";
}

mysql_close($con);
?>
<form method="post" action="index.php?page=lagretgjestebok">
<table border="0"><tr><td>Navn: </td><td><input type="text" name="Brukernavn"></tr></tr></br>
<tr><td>E-Post: </td><td><input type="text" name="Epost"></td></tr></br></table>
Melding: </br>
<textarea name="Melding" rows="5" cols="60"></br></br>
<input type="submit">
</form>

 

Hadde du\noen giddet å sette det inn i koden her?

Lenke til kommentar

Vi trenger mer enn bare det. Vi trenger filen du inserter variablene til databassen.

 

Uansett, du må ha med </textarea> etter <textarea>. Altså, formen blir slik:

<form method="post" action="index.php?page=lagretgjestebok">
<table border="0"><tr><td>Navn: </td><td><input type="text" name="Brukernavn"></tr></tr></br>
<tr><td>E-Post: </td><td><input type="text" name="Epost"></td></tr></br></table>
Melding: </br>
<textarea name="Melding" rows="5" cols="60"></textarea></br></br>
<input type="submit">
</form>

Endret av onTop
Lenke til kommentar

<?php

$con = mysql_connect("localhost","*********","********");
$dato = date("DdMY");

if (!$con)
{
die ("error, " . mysql_error());
}

mysql_select_db("********", $con);
$ins = "INSERT INTO Gjestebok (Brukernavn,Epost,Dato,Melding) VALUE ('$_POST[Brukernavn]','$_POST[Epost]','$dato','$_POST[Melding]')";

if (!mysql_query($ins,$con))
{
die ("error, " . mysql_error());
}
else
{
echo "Trykk <a href='index.php?page=gjestebok'>her</a> for å komme tilbake til gjesteboken";
}

mysql_close($con);
?>

 

Her er den det blir sendt til.

Lenke til kommentar

Alt du trenger å endre her er $_POST['melding'] til str_replace("\n","<br>",$_POST['melding'] eller nl2br($_POST['melding']) som andre her har sagt før meg.

 

Kanskje til og med mysql_real_escape_string() ?

 

Da blir post-variablene slik: mysql_real_escape_string($_POST['var'])

eller

addslashes($_POST['var'])

 

Er på en måte litt ny i dette jeg også :) Så noen andre får rette opp i dette hvis det ikke er riktig :)

Endret av onTop
Lenke til kommentar

Har lite å gjøre..

<?php

$con = mysql_connect("localhost", "*********", "********");
$dato = date("DdMY");

if (!$con)
{
die("error, " . mysql_error());
}

$brukernavn = htmlentities($_POST['Brukernavn']);
$epost = htmlentities($_POST['Epost']);
$melding = htmlentities(nl2br($_POST['Melding']));

mysql_select_db("********", $con);
$ins = sprintf("INSERT INTO Gjestebok (Brukernavn,Epost,Dato,Melding) VALUE ('%s','%s','$dato','%s')",
mysql_real_escape_string($brukernavn), mysql_real_escape_string($epost),
mysql_real_escape_string($melding));

if (!mysql_query($ins, $con))
{
die("error, " . mysql_error());
}
else
{
echo "Trykk <a href='index.php?page=gjestebok'>her</a> for å komme tilbake til gjesteboken";
}

mysql_close($con);
?>

 

Litt sikkrere i forhold til sql injections og bruk av html koder (<>etc..).

Endret av onTop
Lenke til kommentar

Kan sjekke ut det du mekket etterpå ontop.

 

Men var det sånn som dette du mente ultra?

 

while ($rad = mysql_fetch_array($sel))
{
echo "<fieldset><legend><small>Skrevet av: <b>";
echo $rad['Brukernavn'];
echo "</b>(";
echo $rad['Epost'];
echo ") ";
echo $rad['Dato'];
echo "</small></legend></br>";
echo nl2br(htmlentities($rad['Melding']));
echo "</fieldset></br>";
}

 

Det fikk jeg ikke til å virke =\

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...