Bonsoir ! c'est re moi ^^
Donc ayant fini mon espace membre ( Merci à golendercaria pour son aide d’ailleurs ;) ) je m'attaque à un mini tchat en php mysql et ajax.
Tout fonctionne ... Sauf que j'ai foiré cela dans ma colonne de gauche et quand je met mmon pseudo ou message trop long genre " AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " Sa déborde sur le milieu de page et sa vas sur mon slider =/
P'tit bout de code:
echo ('<div class="article">');
echo ('<h4>'.htmlentities(stripslashes($val'pseudo'])).'</h4>');
echo ('<small class="date">'.date('H\:i\:s',$val'timestamp']).'</small>');
echo ('<p>'. htmlentities(stripslashes($val'message'])) .'</p>');
echo ('</div>');
Une idée ?
La ton textarea est vide de toute manière.
Je fait un test en utilisant ton code et en ajoutant une chaine "dddddddddddddddddddddddddddddddddddddddddd" elle est parfaitement
couper. Essaye toi même avec cet ligne.
Message : <br/><textarea name="message" rows="5" cols="20" class="mini_tchat" id="message" style="overflow:scroll; width:200px; height:150px; word-wrap:break-word;">eghzt ehth thrzethhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh</textarea><br /><br />
Hello, tu n'as qu'à limiter le nombre de caractères pour un pseudo? :) (à faire à la page de connexion au Chat, input => maxlength="15")
J'ai déjà fait ceci :) ( Du moins, j'ai autorisé que les membre a voir le mini tchat et mit leur pseudo pré-entré ( avec value="" ) et readonly="readonly" pout ne pas qu'il le modifie Niak niak niak. Le problème ce pose dans mon textarea :)
Faut régler la boite en css. Une propriété overflow par exemple. Ou ton paragraphe en
float:left
P.S. Merci pour ton remerciement :)
J'ai fait comme tu ma dit mais celui-ci ne fonctionne pas =S
echo ('<div class="article">');
echo ('<h4>'.htmlentities(stripslashes($val'pseudo'])).'</h4>');
echo ('<small class="date">'.date('H\:i\:s',$val'timestamp']).'</small>');
echo ('<p class="hidden">'. htmlentities(stripslashes($val'message'])) .'</p>');
echo ('</div>');
Dans mon formulaire j'ai mit
Pseudo : <br/><input type="text" maxlength="10" name="pseudo" value="<?php if(isset($_SESSION'username']))
{echo ' '.htmlentities($_SESSION'username'], ENT_QUOTES, 'UTF-8');} ?>" id="pseudo" readonly="readonly"/><br /> <br />
Message : <br/><textarea name="message" rows="5" cols="20" class="mini_tchat" id="message"></textarea><br /><br />
<input type="button" class="button" value="Envoyer" onclick="submitChat();" />
Et mon CSS
.mini_tchat{overflow:scroll;}
.mini{overflow:hidden;}
Mais il par tout droit sur mon slider :(
PS: Il est parfaitement normal de remercier ceux qui nous aide :)
Si un mot unique (sans espace blanc) dépasse la largeur du cadre qui contient l'élément, le comportement normal consiste à étendre le contenu au delà de la largeur normale du cadre, sans retour à la ligne. Vous pouvez cependant utiliser la valeur de break-word pour forcer la césure d'un mot long au niveau du caractère qui se trouve au bord du cadre.
word-wrap:break-word;
PS : Propriétés CSS3
<u>Source :</u> http://www.css-faciles.com/liste-proprietes/word-wrap.php
oui avec cols et rows avec overflow:scroll mais aussi avec width:150px; height:150px sa ne fait rien...
j'ai essayé avec chrome, firefox, safari et IE8 sur aucun d'eux cela ne fonctionne...
Voilà le block_minichat.php ( via un include dans mon index.php )
<div align="center">
Pseudo : <br/><input type="text" maxlength="10" name="pseudo" value="<?php if(isset($_SESSION'username'])){echo ' '.htmlentities($_SESSION'username'], ENT_QUOTES, 'UTF-8');} ?>" id="pseudo" readonly="readonly"/><br /><br />
Message : <br/><textarea name="message" rows="5" cols="20" class="mini_tchat" id="message"></textarea><br /><br />
<input type="button" class="button" value="Envoyer" onclick="submitChat();" />
</div>
Dans la parti php ( lors de l'envoi des information )
if (isset($_POST'pseudo']) && isset($_POST'message']))
{
if (!empty($_POST'pseudo']) && !empty($_POST'message']))
{
$message = mysql_real_escape_string(utf8_decode($_POST'message']));
$pseudo = mysql_real_escape_string(utf8_decode($_POST'pseudo']));
mysql_query("INSERT INTO minichat(pseudo,message,timestamp) VALUES('$pseudo', '$message', '".time()."')");
}
}
$reponse = mysql_query("SELECT * FROM minichat ORDER BY id DESC LIMIT 0,10");
while($val = mysql_fetch_array($reponse))
{
echo ('<div class="article">');
echo ('<h4>'.htmlentities(stripslashes($val'pseudo'])).'</h4>');
echo ('<small class="date">'.date('H\:i\:s',$val'timestamp']).'</small>');
echo ('<p class="hidden">'. htmlentities(stripslashes($val'message'])) .'</p>');
echo ('</div>');
}
mysql_close();
Ensuite la parti CSS pour les class=""
.mini_tchat{overflow:scroll; width:150px; height:150px; word-wrap:break-word;}
.minichat{overflow:hidden; width:150px; height:150px;}
J'ai défini les champ que tu a mit dans le textarea via mon CSS, ce n'est pas pareil ?
EDIT: Sa déborde aussi =S
Si tu veut essayé par toi même ^^
http://jeux-en-reseaux.eu/azerty/
il faut ce connecté via l'espace membre donc:
ID: teste
PASS: testee
:)
J'AI TROUVER ! En faite, j'ai défini mes champs dans mon fichier block_minichat qui est que en html. J'ai donc essayé de mettre ceci dans le fichier minichat.php et dans le champ:
. htmlentities(stripslashes($val'message'])) .
comme ceci:
echo ('<p style=" word-wrap:break-word;">'. htmlentities(stripslashes($val'message'])) .'</p>');
Du coup sa fonctionne :D Merci beaucoup golendercaria, tes réponse m'ont rendu moins con ^^