Réponse de formulaire avec retour à la ligne
gintoxic
Messages postés
524
Date d'inscription
Statut
Membre
Dernière intervention
-
gintoxic Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
gintoxic Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
sur mon site perso https://www.sfr.fr/fermeture-des-pages-perso.html j'ai mis en ligne un formulaire de commentaire (livre d'or)
2 choses me turlupinent
- je voudrais savoir comment les personnes qui interagissent sur cette partie de site peuvent voir leur commentaire de la même manière qu'il l'écrivent dans la textarea (c'est a dire avec des retour à la ligne), car pour le moment l'affichage fais que tout se suis et c'est pas le top au niveau esthétique...
- la mise en page des commentaires : j'aimerais que chaque commentaire soit séparé à la manière d'un forum. c'est a dire a chacun son encadrement (je me chargerais des couleur de fond et des cadres. dois-je passer par un tableau en xHTML ou un array en php ?
dans les deux cas une explication m'est nécessaire (pour au moins situer les balises ou le script)
ps : peut-être aussi j'ajouterais un droit à l'utilisateur de pouvoir effacer son message, si toute fois il n'est pas suivi d'un autre (pas d'effacement entre deux messages)
merci par avance pour votre aide, si précieuse soit-elle
cordialement
kriss
sur mon site perso https://www.sfr.fr/fermeture-des-pages-perso.html j'ai mis en ligne un formulaire de commentaire (livre d'or)
2 choses me turlupinent
- je voudrais savoir comment les personnes qui interagissent sur cette partie de site peuvent voir leur commentaire de la même manière qu'il l'écrivent dans la textarea (c'est a dire avec des retour à la ligne), car pour le moment l'affichage fais que tout se suis et c'est pas le top au niveau esthétique...
- la mise en page des commentaires : j'aimerais que chaque commentaire soit séparé à la manière d'un forum. c'est a dire a chacun son encadrement (je me chargerais des couleur de fond et des cadres. dois-je passer par un tableau en xHTML ou un array en php ?
dans les deux cas une explication m'est nécessaire (pour au moins situer les balises ou le script)
ps : peut-être aussi j'ajouterais un droit à l'utilisateur de pouvoir effacer son message, si toute fois il n'est pas suivi d'un autre (pas d'effacement entre deux messages)
merci par avance pour votre aide, si précieuse soit-elle
cordialement
kriss
A voir également:
- Réponse de formulaire avec retour à la ligne
- Whatsapp formulaire opposition - Guide
- Retour à la ligne excel formule - Guide
- Réponse automatique thunderbird - Guide
- Partage de photos en ligne - Guide
- Formulaire de réclamation facebook - Guide
4 réponses
Bonsoir,
Normalement pour gérer les entrées clavier, à l'affichage du message il faut utiliser la fonction PHP nl2br($message). Je te laisse examiner plus précisément la doc officielle PHP de cette fonction : http://fr.php.net/manual/fr/function.nl2br.php
Pour la mise en page du message dans la page web c'est tout simplement des propriétés CSS comme border, background, etc...
Normalement pour gérer les entrées clavier, à l'affichage du message il faut utiliser la fonction PHP nl2br($message). Je te laisse examiner plus précisément la doc officielle PHP de cette fonction : http://fr.php.net/manual/fr/function.nl2br.php
Pour la mise en page du message dans la page web c'est tout simplement des propriétés CSS comme border, background, etc...
ah oui aussi les guillemets apparaissent come ceci \"... comment éviter l'anti-slash dans l'affichage
svp,
merci encore
svp,
merci encore
et encore une chose, comment rendre le champs pseudo obligatoire... j'ai recherché et testé des scripts js et php, mais rien n'y fait...
je ne sais où placer ou alors je ne sais pas attribuer la valeur "pseudo"
merci
dsl je demande bcp
je ne sais où placer ou alors je ne sais pas attribuer la valeur "pseudo"
merci
dsl je demande bcp
le souci là c'est que je ne sais pas gérer. ce que j'entends par mise en page, c'est que l'tilisateur laissant un message avec un "entrer" pour aller a la ligne voit son message de la meme façon et non en une chaine... une mise en forme de texte serait peut etre le terme plus approprié...
Bizarre ça?
J'utilise régulièrement la fonction PHP nl2br() pour afficher la même présentation à l'écran de ce que l'utilisateur a entré dans un champ de formulaire (textarea) et ça fonctionne à merveille!
Je n'ai pas dû bien comprendre ton problème alors, désolé de ne pas pouvoir plus t'aider sur ce sujet...
J'utilise régulièrement la fonction PHP nl2br() pour afficher la même présentation à l'écran de ce que l'utilisateur a entré dans un champ de formulaire (textarea) et ça fonctionne à merveille!
Je n'ai pas dû bien comprendre ton problème alors, désolé de ne pas pouvoir plus t'aider sur ce sujet...
Quand ton formulaire est envoyé, tu récupères les données avec la variable $_POST.
Exemple:
Tu récupères le texte avec la variable $_POST['champ'].
Pour afficher le texte, tu fais donc un truc du genre:
Pour récupérer correctement les sauts de ligne du textarea, il faut utiliser comme indiqué par mes prédécesseurs la fonction nl2br().
J'espère t'avoir un peu plus éclairé.
Exemple:
<textarea name="champ"></textarea>
Tu récupères le texte avec la variable $_POST['champ'].
Pour afficher le texte, tu fais donc un truc du genre:
<?php echo $_POST['champ']; ?>
Pour récupérer correctement les sauts de ligne du textarea, il faut utiliser comme indiqué par mes prédécesseurs la fonction nl2br().
<?php echo nl2br($_POST['champ']); ?>
J'espère t'avoir un peu plus éclairé.
j'avoue comprendre, mais mon script donne ça :
alors là par contre je ne sais où le mettre....
mais je te remercie évidemment
if (isset($_POST['pseudo']) AND isset($_POST['message'])) { $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br /> // On peut enfin enregistrer :o) mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')"); } // --------------- Étape 2 ----------------- // On écrit les liens vers chacune des pages // ----------------------------------------- // On met dans une variable le nombre de messages qu'on veut par page $nombreDeMessagesParPage = 20; // On récupère le nombre total de messages $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor'); $donnees = mysql_fetch_array($retour); $totalDesMessages = $donnees['nb_messages']; // On calcule le nombre de pages à créer $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); // Puis on fait une boucle pour écrire les liens vers chacune des pages echo 'Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> '; } ?> </p> <?php // --------------- Étape 3 --------------- // Maintenant, on va afficher les messages // --------------------------------------- if (isset($_GET['page'])) { $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4) } else // La variable n'existe pas, c'est la première fois qu'on charge la page { $page = 1; // On se met sur la page 1 (par défaut) } // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage); while ($donnees = mysql_fetch_array($reponse)) { echo '<p><strong><u>' . $donnees['pseudo'] . ' a écrit :</u></strong><br />' . $donnees['message'] . '</p>'; } mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o) ?>
alors là par contre je ne sais où le mettre....
mais je te remercie évidemment