Avatar billede Slettet bruger
23. maj 2010 - 12:57 Der er 4 kommentarer og
1 løsning

Hej jeg har lidt fejl med en gæstebog jeg har lavet..

Hej eksperter...

Jeg har lavet mig en gæstebog, men hvis man skriver for meget i gæstebogen bliver linjen bare skrevet i en rigtig lang linje, i et textarea, i kan se hvad jeg mener her:

http://prowdesign.dk/fejl.png

Min gæstebog er bygget i php og mysql, i kan se den her:

<?php
$action = array();
           
$action['result'] = null;               
$text = array();
if(isset($_POST['tagwall_btn'])){
$username = trim(mysql_prep($_POST['username']));
$email = trim(mysql_prep($_POST['email']));
$besked = trim(mysql_prep($_POST['besked']));
           
if(empty($username)){$action['result'] = 'error'; array_push($text,'Udfyld venligst dit brugernavn med et gyldigt et tak.'); }
if(empty($email)){$action['result'] = 'error'; array_push($text,'Udfyld venligst din email.'); }
if(empty($besked)){$action['result'] = 'error'; array_push($text,'Du mangler at skrive en besked.'); }
           
           
if($action['result'] != 'error'){
$dato = date("d/m/Y  /  H-i");
$tagwall_r = mysql_query("INSERT INTO tagwall (username, email, besked, dato) VALUES ('$_POST[username]', '$_POST[email]', '$_POST[besked]', '$dato')");
               
               
if($tagwall_r == true){
$action['result'] = 'success';
array_push($text,'Tak for din besked. !');
redirect_to('tagwall.php');
}else{               
$action['result'] = 'error';
array_push($text,'Der skete en fejl. ' . mysql_error());
}
}
                   
}
$action['text'] = $text;
?>
                   
<?php echo show_errors($action); ?>
<?php
$tagwall_succes = mysql_query("SELECT username, email, dato, besked FROM tagwall WHERE username = '".$_SESSION['username']."' ORDER BY id DESC ") or die("Error på tagwall_succes");
while ($tagwall = mysql_fetch_array($tagwall_succes)){

echo "<table width=\"300\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"tagwall_table\">
<tr>
<td width=\"93\" bgcolor=\"#666666\" style=\"color: #FFFFFF\">Fra: <b><a href=\"userprofile.php?username=" . $tagwall[username] . "\" style=\"color: #FFFFFF\">$tagwall[username]</a></b></td>
<td width=\"91\" bgcolor=\"#666666\" style=\"color: #FFFFFF\">Email: <b><a href=\"mailto:" . $tagwall[email] . "\" style=\"color: #FFFFFF\">$tagwall[email]</b></td>
<td width=\"91\" bgcolor=\"#666666\" style=\"color: #FFFFFF\">Dato: <b>$tagwall[dato]</b></td>
</tr>
<tr style='vertical-align:top;padding:15px;'>
<td colspan=\"2\" width=\"200\" >$tagwall[besked]</td>
<hr>
</tr>
</table>";
}
if(mysql_num_rows($tagwall_succes) == "0") {
echo "<p><b>Der blev ikke fundet nogle resultater i gæstebogen, du kan være den første :)</b> </p>";
}
?>
</div>
<?php
$tagwall_succes = mysql_query("SELECT username, email, dato, besked FROM tagwall WHERE username = '".$_SESSION['username']."' LIMIT 1") or die("Error på tagwall_succes");
while ($tagwall = mysql_fetch_array($tagwall_succes)){
echo "<form name=\"tagwall\" action=\"tagwall.php\" method=\"POST\">
<table width=\"495\" border=\"0\">
</tr>
<tr>
<td>Brugernavn:</td>
</tr>
<tr>
<td><input name=\"username\" type=\"text\" value=\"$tagwall[username]\"></td>
</tr>
<tr>
<td>Email:</td>
</tr>
<tr>
<td><input name=\"email\" type=\"text\"></td>
</tr>
<tr>
<td>Besked:</td>
</tr>
<tr>
<td><textarea name=\"besked\" cols=\"30\" rows=\"\"></textarea></td>
</tr>
<tr>
<td><input name=\"tagwall_btn\" type=\"submit\" value=\"Gæstebog\"></td>
</tr>
</table>
</form>";
}
if(mysql_num_rows($tagwall_succes) == "0") {
echo "<p><b>Der blev ikke fundet nogle resultater i gæstebogen, du kan være den første :)</b> </p>";
}
?>
Avatar billede Slettet bruger
23. maj 2010 - 13:55 #1
kan man ikke skrive noget kode som gør efter antal tegn i en linje, laver den selv \n eller <br>, så linjen ikke bare bliver i en lang linje når det bliver sendt ud.
Avatar billede zynzz Praktikant
23. maj 2010 - 14:13 #2
Avatar billede Slettet bruger
23. maj 2010 - 14:26 #3
men hvordan bruger jeg wordwrap på <td colspan=\"2\" width=\"200\" >$tagwall[besked]</td>
Avatar billede Slettet bruger
23. maj 2010 - 14:29 #4
har fikset det med:

$besked = $tagwall['besked'];
$newtext = wordwrap($besked, 10, "\n", true);
echo $newtext;
Avatar billede zynzz Praktikant
23. maj 2010 - 14:42 #5
Lav hellere:
wordwrap($besked, 10, "<br/>\n");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester