Texte area pour chat probleme

Résolu/Fermé
thomascre Messages postés 445 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 8 octobre 2017 - 18 juin 2014 à 15:12
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 - 18 juin 2014 à 17:23
bonjour,
je suis en train de créer des sites mais dés le debut je block a un vieu probleme : j'ai fait un chat;
-il marche comme je veus, les regle son OK, les news du site marche, les mini-chat aussi, c'est col, mais voila :
les utilisateur du chat son obliger de taper certain code pour certaine action car le formulair d'envoi des message envoi du code brute, don par exemple les gens son obliger de fair les code comme <br> pour les retour a la ligne,
on m'a dit d'utiliser text-area avec javascript pour fair les bon formulaire, mais je ne connai rien en javascript !
si une gentille personne pouvai me donner un bout de code se serai sympa ;)
actuellement sa ressemble a sa :
<label for="message"></label>

:

<input id="message" type="text" name="message"></input>
merci de votre aide
cordialement thomas

3 réponses

thomascre Messages postés 445 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 8 octobre 2017 38
18 juin 2014 à 16:25
en soi sela fonctionne, mais voila quel etai mon but :
quand une personne fait un retour a la ligne, sa enregistre automatiquement un <br>, et des chose de ce genre vous voyer !
pouriez-vous m'aider ?
1
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 14
18 juin 2014 à 16:27
Peux-tu me montrer le code que tu as qui enregistre les messages
0
thomascre Messages postés 445 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 8 octobre 2017 38
18 juin 2014 à 16:38
sa fai un peu bazard mais bon, voila :
    <form action="minichat_post.php" method="post">
<p>
<label for="pseudo">Pseudo</label> : <input readonly="readonly" type="text" name="pseudo" id="pseudo" value="<?php $dnn = mysql_fetch_array(mysql_query('select username from users where username="'.$_SESSION['username'].'"')); $point = htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); echo $point; ?>"/><br />
<label for="message">Message</label> : <textarea id="message" name="message"></textarea><br />

<input type="submit" value="Envoyer" />
</p>
</form>
0
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 14
18 juin 2014 à 16:40
je parlais du code de minichat_post.php :P
0
thomascre Messages postés 445 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 8 octobre 2017 38
18 juin 2014 à 16:43
a dsl, je fai plusieur chose a la foi donc je me trompe, voila :
<?php
try
{
$bdd = new PDO('mysql:host=top secret;dbname=top secret', 'encor top secret', 'toujour top secret');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

$bddgg = $bdd->query('SELECT * FROM chat2');
$bddg = $bddgg->fetch();

$idd = $bddg['id'];
$id = $idd + 1;

$req = $bdd->prepare('INSERT INTO minichat2 (id, pseudo, message) VALUES('.$id.', ?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
$req2 = $bdd->prepare("UPDATE chat2 set id='". $id ."'");
$req2->execute(array($id));
mysql_query("UPDATE chat2 SET id='". $id ."'");


header ("Location: $_SERVER[HTTP_REFERER]");
?>
c'est un peu le bazar aussi, je l'avai fait "a la rache" mais tan que sa marche XD
0
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 14
18 juin 2014 à 16:51
en fait il existe deux solution, la première serait que lorsque les messages sont affichés, tu insères en même temps des balises <br />
mais sinon la deuxième solution c'est que lorsque tu reçoit le message par l'intermédiaire de $_POST['message'] il suffit d'y ajouter un "<br />" tu dois pour cela concaténer les chaînes, et normalement c'est bon ^^
0
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 14
Modifié par Cocoduf le 18/06/2014 à 15:58
Tu devrais le traiter du côté de PHP
Si tu ne peux pas (raison x ou y), il faut que le message que tu envoie à PHP soit traité avant par Javascript (je suppose que tu n'utilises pas Ajax)
Il faut donc que tu récupère la valeur du message et que tu lui ajoutes par exemple "<br />" pour un retour à la ligne
En gros ça donne
var boite_msg = document.getElementById('message');
boite_msg.addEventListener('keydown', function(e)  {
  if (e.keyCode == 13) { // La touche entrer
    var message = boite_msg.value + "<br />"; // ajoute ce que tu veux
    boite_msg.value = message;
    return true;
  }
  return false;
});

Si je me suis trompé, ou que j'ai pas bien compris ou que tu as besoin d'info n'hésite pas

EDIT
J'ai relu en fait et j'ai un peu mieux compris et oublie le code d'avant ce que tu dois faire c'est remplacer
<input id="message" type="text" name="message"/>

par
<textarea id="message"  name="message"></textarea>
et ça doit marcher
0
thomascre Messages postés 445 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 8 octobre 2017 38
18 juin 2014 à 15:54
je peu tres bien me passer de java (sa m'arange XD )
je n'ai pas vraiment ompri, comment caler ton bou de code et comment fonction-il ?
je tien a presiser que j'ai les "base" :/
cordialement thomas
0
Cocoduf Messages postés 38 Date d'inscription mardi 17 juin 2014 Statut Membre Dernière intervention 18 juin 2014 14
18 juin 2014 à 15:57
Essaie juste de remplacer
<input id="message" type="text" name="message"/>

par
<textarea id="message"  name="message"></textarea>
et ça doit marcher
Tu me diras si ça marche :)
oublie le code javascript
0