textbox gebruikt geen enter

Status
Niet open voor verdere reacties.

Martijn31

Gebruiker
Lid geworden
6 sep 2009
Berichten
362
Hallo,

Ik ben bezig met een habbo fansite, en hierbij moeten nieuwsreacties onder het nieuws geplaatst worden, Maar als ik een helelange zin maak dan past het niet in de tekstbox dus maakt hij automatisch een enter in de box zodat je weer verder kan typen. Als ik dan op enter druk om de plaatsen krijg je die hele lange zin ipv die kleine stukjes... en dan is me hele site vervaagd.. Ik kan niet van mijn bezoekers verwachten dat ze in een tekstbox telkens <br> neer moeten zetten voor een nieuwe regel... Dit is de code:

PHP:
$sql = "INSERT INTO `news_c` (`author`, `date`, `content`, `newsid`) VALUES ('$pauthor', '$pdate', '$pcontent', '$pnews');";
									$q = mysql_query($sql);
									if($q){
										header("Location: nieuws.php?id=".$pnews."#cmts");
										mysql_query("UPDATE `news` SET `comments` = comments+1 WHERE `id` = '$pnews'");
									}else{
										echo '<strong>MySQL Error:</strong> '.mysql_error();
									}
								}
							}
							//post a comment
							
							//start comments
							echo '<br><hr>';
							$comments = mysql_query("SELECT * FROM news_c WHERE `newsid` = '$nid'");
							if(mysql_num_rows($comments) == 0){
								echo 'Er zijn op dit moment geen reactie\'s geplaatst op dit artikel';
							}else{
								echo '<ol class="commentlist">';
								while($c = mysql_fetch_array($comments)){
									$cid = $c["id"];
									$cauthor = $c["author"];
									$ccontent = $c["content"];
									$cdate = $c["date"];
									echo '<a name="comment-'.$cid.'"></a>
								
									<div class="comment-info">
										
									</div>
									<div class="comment-text"> 
										<p><img src="http://www.habbo.nl/habbo-imaging/avatarimage?user='.$cauthor.'&head_direction=3&action=crr=667&gesture=sml&size=l">  <center>'.$ccontent.'</center></p><div ALIGN="right">Gepost door: <a href="user.php?user='.$cauthor.'">'.$cauthor.'</a>  op: '.$cdate.'</div>
										';

										echo '
									</div>
								</li>';
								}
								echo '';
							}
							if($in["username"]){
								echo '<br><strong><center>Plaats een reactie!</center></strong><center><form method="post">
									<p>



	


										<textarea style="width: 200px; height: 50px;" name="content" id="content"></textarea>
									</p>
									<p>
										<input type="submit" name="post_cmt" value="Post"> <input type="reset" value="Reset">
									</p>
								</form></center>';
							}
						}
					}else{
						echo 'No news article has been selected to view.<br><br>Click <a href="archive.php">here</a> to view the news archive.';
					}
					?>

Iemand een oplossing?
Alvast bedankt
 
nl2br

probeer eens om de functie nl2br() toe te passen op je variable.

Ik heb nu niet veel tijd om naar je script te kijken. Als het niet lukt zal ik vanavond wel even kijken
 
Ik snap niet wat je bedoelt....

Ik had ff gegooled, maar dat script vertelt mij dat als ik hallo zeg of hoe is het hij dan naar een volgende regel gaat.. Maar eigenlijk moet als die tekstbox naar een volgende regel springt de letters ook naar een volgende regel gaan....

Iemand die hulp kan bieden?
 
Laatst bewerkt:
Ik snap niet precies wat je bedoelt?

Is het de bedoeling dat waneer iemand een enter typt dat er dan in de database een <br> wordt opgeslagen??


Janus
 
Kijk wat er gebeurt als ik doortyp zonder leestekens te gebruiken:

Klikkkkk

Je ziet dat die tekstbox klein is dus als de ene regel vol is springt hij naar de ander.
Dat moet ook op de site maar zoals je ziet gebeurt dat niet
 
div

waarom plaats je tekst dan niet gewoon in een div als je het uit de database haalt?

Als je dit niet wilt is er nog wel een ingewikkeld optie als je die wilt moet je het maar even zeggen.


Janus
 
Ik had dit gedaan: <div>'.content.'</div> maar dat werkt ook niet dus als jij die ingewikkelde optie wilt geven? Kun je die niet in de code plaatsen dan?

Mvg
 
en als je in de div de style defineerd?

<div style="width: 200px;"> </div>


Ik zal ook even voor de moeilijke kijken ik moet daar zelf ook weer in duiken ik kom hier nog op terug
 
PHP:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
  echo nl2br($_POST['text']);
} else {
?>
<form action="" method="post">
  <textarea name="text"></textarea>
  <input type="submit" value="Verzenden" />
</form>
<?php } ?>
Dit dus?
 
Hij gebruikt gewoon geen enter als ik op helpmij dit doe:
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Dan pakt hij iedere keer netjes een volgende regel maar bij mij trekt hij het door over de hele site....
 
ik heb je script iets aangepast. Ik heb de db niet dus heb het niet getest maar probeer het eens

PHP:
$pcontent = nl2br($pcontent);
$sql = "INSERT INTO `news_c` (`author`, `date`, `content`, `newsid`) VALUES ('$pauthor', '$pdate', '$pcontent', '$pnews');";
                                    $q = mysql_query($sql);
                                    if($q){
                                        header("Location: nieuws.php?id=".$pnews."#cmts");
                                        mysql_query("UPDATE `news` SET `comments` = comments+1 WHERE `id` = '$pnews'");
                                    }else{
                                        echo '<strong>MySQL Error:</strong> '.mysql_error();
                                    }
                                }
                            }
                            //post a comment
                            
                            //start comments
                            echo '<br><hr>';
                            $comments = mysql_query("SELECT * FROM news_c WHERE `newsid` = '$nid'");
                            if(mysql_num_rows($comments) == 0){
                                echo 'Er zijn op dit moment geen reactie\'s geplaatst op dit artikel';
                            }else{
                                echo '<ol class="commentlist">';
                                while($c = mysql_fetch_array($comments)){
                                    $cid = $c["id"];
                                    $cauthor = $c["author"];
                                    $ccontent = $c["content"];
                                    $cdate = $c["date"];
                                    echo '<a name="comment-'.$cid.'"></a>
                                
                                    <div class="comment-info">
                                        
                                    </div>
                                    <div class="comment-text"> 
                                        <p><img src="http://www.habbo.nl/habbo-imaging/avatarimage?user='.$cauthor.'&head_direction=3&action=crr=667&gesture=sml&size=l">  <center><div style="width:200px;">'.$ccontent.'</div></center></p><div ALIGN="right">Gepost door: <a href="user.php?user='.$cauthor.'">'.$cauthor.'</a>  op: '.$cdate.'</div>
                                        ';
 
                                        echo '
                                    </div>
                                </li>';
                                }
                                echo '';
                            }
                            if($in["username"]){
                                echo '<br><strong><center>Plaats een reactie!</center></strong><center><form method="post">
                                    <p>
 
 
 
    
 
 
                                        <textarea style="width: 200px; height: 50px;" name="content" id="content"></textarea>
                                    </p>
                                    <p>
                                        <input type="submit" name="post_cmt" value="Post"> <input type="reset" value="Reset">
                                    </p>
                                </form></center>';
                            }
                        }
                    }else{
                        echo 'No news article has been selected to view.<br><br>Click <a href="archive.php">here</a> to view the news archive.';
                    }
 
Laatst bewerkt:
Dat is normaal gedrag, het wordt als 1 woord gezien.
Niet echt realistisch vind je?

We lossen het hier op door CSS te gebruiken
Code:
word-wrap: break-word;
 
Janus dat van jou werkt nog steeds niet :'( En dark wat bedoel je daarmee?
 
Door gebrek aan tijd heb ik even geen tijd erin gestoken... Maar nu heb ik de css tekst van dark in me css gezet en nu werkt het zonder problemen.. Bedankt allemaal :D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan