Rechercher : dans
Par :

Php saut de ligne dans les textarea

Dernière réponse le 25 fév 2009 à 09:03:11 s_sniper, le 16 fév 2009 à 09:52:09 
 Signaler ce message aux modérateurs

Bonjour,

J'ai crée des formulaire avec des champ textarea dedans mais je voudrais savoir comment le saut de ligne peux se faire.
car lorsque je tape mon texte j'envoie les saut de ligne de se font pas.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « php saut de ligne dans les textarea » dans :
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Les balises HTML VoirHTML, un langage à balises Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple fichier texte...
LaTeX - Mise en forme VoirStyle Les commandes suivantes permettent de modifier le style du texte : \textbf{texte à mettre en gras} permet d'écrire du texte en caractères gras. \textit{texte à mettre en italique} permet d'écrire en italique. \textsc{texte à mettre...

1

niahoo, le 16 fév 2009 à 09:58:07

C'est une fonction nl2br()


<?php echo(nl2br($_POST["lot_resum"])); ?>

Répondre à niahoo

2

s_sniper, le 16 fév 2009 à 09:59:38

Ok sa faut que je le place ou ?
dans le <texterea ?
si tpe me fair un petit exemple avec l'emplacement de cette ligne sa serais cool de ta part!

merci

Répondre à s_sniper

5

jona303, le 16 fév 2009 à 12:23:15

C'est un traitement que tu dois faire sur les données envoyées par le textarea. Chuck Norris n'utilise pas de navigateur. Il lit le code sou­rce et imagine la page.
Question de gain de temps...

Répondre à jona303

3

s_sniper, le 16 fév 2009 à 10:29:00

.....

Répondre à s_sniper

4

niahoo, le 16 fév 2009 à 12:21:24

Je t'ai déja donné l'exemple

Répondre à niahoo

6

sonik21, le 16 fév 2009 à 12:34:11
  • +1

<form action="#" method="POST">
<textarea name="texte" cols"20" rows="20"></textarea>
</form>

<?php
if(isset($_POST['texte'])){
$texte = nl2br($_POST['texte']); // met des <br /> a chaque retour chariot
echo $texte; //affiche le texte
}
else{
}
?>


JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

7

s_sniper, le 16 fév 2009 à 14:13:44

Oui merci
mais est ce que c'est possible de pas mettre les <br> lorsque je tape mon texte
tous comme je le fait la sur "comment ca marche" ?

Répondre à s_sniper

8

sonik21, le 16 fév 2009 à 14:24:16

Tu veut dire lors de l'édition ? si c'est de sa dont tu parle, tu fais comme ceci :

<?php
$texte = str_ireplace ( "<br />", "", $texte); 
?>

 <textarea name="descript" cols=50 rows=10><?php echo $descript; ?></textarea> 
JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

9

s_sniper, le 16 fév 2009 à 14:29:27

Oui sa me met une erreur lors de l'envoi
voila comment j'ai interpreté ton code :

<tr> 
<?php
$SujetTicket = str_ireplace ( "<br />", "", $SujetTicket); 
?>
<td align="right">Sujet du ticket : </td> 
<td><textarea id="SujetTicket" name="SujetTicket" cols="30" rows="4"><?php echo $SujetTicket; ?></textarea></td> 
</tr> 
<tr> 
<td align="right">Affecté à :</td> 
<td><select type="text" id="AffectationTicket" name="AffectationTicket"> 
<?php 
include ("connexion.php"); 
$SQL = "SELECT TrigrammeOperateur FROM tb_operateur"; 
$res = mysql_query($SQL); 
while($AffectationTicket=mysql_fetch_array($res)) { 
echo "<option>".$AffectationTicket["TrigrammeOperateur"]."</option>\n";}?> 
</select>
</td> 
</tr> 



<td colspan="2" align="center"><input type="submit" value="Créer le ticket"/><br><br><br> 
<td align="center"><input name="reset" type=reset value="Effacer le formulaire"/> 

</table> 
</fieldset> 
</form> 
</center> 
<?php
if(isset($_POST['SujetTicket'])){
$SujetTicket = nl2br($_POST['SujetTicket']); // met des <br /> a chaque retour chariot
echo $SujetTicket; //affiche le texte
}
else{
}
?>

Répondre à s_sniper

10

sonik21, le 16 fév 2009 à 14:40:55

Sa te donne quelle erreur lors de l'envoi ?
JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

11

s_sniper, le 16 fév 2009 à 14:44:46

Ba enfette dans mon script php qui permet l'envoi qui fait la requete
j'ai un if avec si sa a bien envoyé affiché "votre ticket a bien eté pri en compte"
sinon affiché "erreur"
la sa m'affiche erreur mais sa vien de ce que j'ai mis en gras car je l'est testé avant :
:

 name="SujetTicket" cols="30" rows="4"><?php echo $SujetTicket; ?>



Sinon ce que tu m'a passé il sont au bon endroit et bien approprier avec la zone de texte de mon forme apellé "sujetticket " ?

Répondre à s_sniper

12

sonik21, le 16 fév 2009 à 14:58:52

Pour le script que je t'ai passé, il est au bon endroit, du moins si c'est sur cette page que tu envoi le formulaire.

sinon tu a bien mis le <form method="POST" action="#"> en haut de page ? un petit oubli est si vite arrivé... on ne sait jamais ^^ JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

13

s_sniper, le 16 fév 2009 à 15:02:21

Non moi j'ai sa

<form action="?page=11" method="POST">

parce que j'appelle la page ou il a y le insert...

Répondre à s_sniper

14

sonik21, le 16 fév 2009 à 15:12:35

Tu a donc quelque chose comme ça :

<?php 
if( isset($_GET['page']) ){
?>
...formulaire
<?php
}
else{

...insert to

}
?>

? JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

15

s_sniper, le 16 fév 2009 à 15:17:41

Voici ma page 11 t'y verra plus clair je pensse :

<?php
require_once('connexion.php');

?>
<?php 

function dateMySQL($date) { 
// On découpe la date selon les "/" 
$dates = explode("/", $date); 
// On replace les jours, mois et années dans le bon ordre en ajoutant des "-" entre chaque 
$dateMySQL = $dates[2] . "-" . $dates[1] . "-" . $dates[0]; 
return $dateMySQL; 
} 

?> 
<?php
$date = dateMySQL($_POST['DateTicket']); 
$heure = $_POST['HeureTicket'];
?>
<?php
$NomClient = $_POST['NomClient'];
$RecepteurTicket = $_POST['RecepteurTicket'];
$InterlocuteurClient = $_POST['InterlocuteurClient'];
$SujetTicket = $_POST['SujetTicket'];
$AffectationTicket = $_POST['AffectationTicket'];



 

$sql =  "INSERT INTO `hotlinecc`.`tb_ticket` (`IndexTicket`,`NomClient`, `DateTicket`, `HeureTicket`, `RecepteurTicket`, `InterlocuteurClient`, `SujetTicket`, `AffectationTicket`, `StatutTicket`)
 VALUES('A','$NomClient','$date','$heure','$RecepteurTicket','$InterlocuteurClient','$SujetTicket','$AffectationTicket','En cours')";
$res = mysql_query($sql);
if ($res) {
	print '<script language="javascript"> 
alert("Votre ticket à bien été pris en compte dans la base de donnée"); 
location.href = "Principal.php?page=4"; 
</script>'; 
} else {
	echo "Erreur !!";
}


?>

Répondre à s_sniper

16

sonik21, le 16 fév 2009 à 15:34:39

Pourquoi ne pas faire

<?php
require_once('connexion.php');

?>
<?php 

function dateMySQL($date) { 
// On découpe la date selon les "/" 
$dates = explode("/", $date); 
// On replace les jours, mois et années dans le bon ordre en ajoutant des "-" entre chaque 
$dateMySQL = $dates[2] . "-" . $dates[1] . "-" . $dates[0]; 
return $dateMySQL; 
} 

?> 
<?php
if ( (isset($_POST['DateTicket']) )&&( isset($_POST['HeureTicket']) )&&( isset($_POST['NomClient']) )&&( isset($_POST['RecepteurTicket']) )&&( isset($_POST['InterlocuteurClient']) )&&( isset($_POST['SujetTicket']) )&&( isset($_POST['AffectationTicket']) ) ){

$date = dateMySQL($_POST['DateTicket']); 
$heure = $_POST['HeureTicket'];
?>
<?php

$NomClient = $_POST['NomClient'];
$RecepteurTicket = $_POST['RecepteurTicket'];
$InterlocuteurClient = $_POST['InterlocuteurClient'];
$SujetTicket = $_POST['SujetTicket'];
$AffectationTicket = $_POST['AffectationTicket'];



 

$sql =  "INSERT INTO `hotlinecc`.`tb_ticket` (`IndexTicket`,`NomClient`, `DateTicket`, `HeureTicket`, `RecepteurTicket`, `InterlocuteurClient`, `SujetTicket`, `AffectationTicket`, `StatutTicket`)
 VALUES('A','$NomClient','$date','$heure','$RecepteurTicket','$InterlocuteurClient','$SujetTicket','$AffectationTicket','En cours')";
$res = mysql_query($sql);

	print '<script language="javascript"> 
alert("Votre ticket à bien été pris en compte dans la base de donnée"); 
location.href = "Principal.php?page=4"; 
</script>'; 

} else {
	echo "Erreur !!";
}


?>

?

comme ça, si les valeurs sont postés, tu fais le INSERT, sinon tu affiche l'erreur, sa évite de rentrer des info vides dans la table JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

17

s_sniper, le 16 fév 2009 à 15:38:11

Oui sa c'est un detail que je verrais plus tard mais merci mais parce que c'est possible des info reste vide ...
pour l'instemp faut que je puisse faire des saut de ligne comme je veux ce que je n'arrive pas lol !!!!!

Répondre à s_sniper

18

sonik21, le 16 fév 2009 à 15:47:17
  • +1

Bah a ce moment la (en gardant le code) :

<?php
require_once('connexion.php');

?>
<?php 

function dateMySQL($date) { 
// On découpe la date selon les "/" 
$dates = explode("/", $date); 
// On replace les jours, mois et années dans le bon ordre en ajoutant des "-" entre chaque 
$dateMySQL = $dates[2] . "-" . $dates[1] . "-" . $dates[0]; 
return $dateMySQL; 
} 

?> 
<?php
if ( (isset($_POST['DateTicket']) )&&( isset($_POST['HeureTicket']) )&&( isset($_POST['NomClient']) )&&( isset($_POST['RecepteurTicket']) )&&( isset($_POST['InterlocuteurClient']) )&&( isset($_POST['SujetTicket']) )&&( isset($_POST['AffectationTicket']) ) ){

$date = dateMySQL($_POST['DateTicket']); 
$heure = $_POST['HeureTicket'];
?>
<?php

$NomClient = $_POST['NomClient'];
$RecepteurTicket = $_POST['RecepteurTicket'];
$InterlocuteurClient = $_POST['InterlocuteurClient'];
$SujetTicket = nl2br($_POST['SujetTicket']);           //pour les saut de lignes
$AffectationTicket = $_POST['AffectationTicket'];



 

$sql =  "INSERT INTO `hotlinecc`.`tb_ticket` (`IndexTicket`,`NomClient`, `DateTicket`, `HeureTicket`, `RecepteurTicket`, `InterlocuteurClient`, `SujetTicket`, `AffectationTicket`, `StatutTicket`)
 VALUES('A','$NomClient','$date','$heure','$RecepteurTicket','$InterlocuteurClient','$SujetTicket','$AffectationTicket','En cours')";
$res = mysql_query($sql);

	print '<script language="javascript"> 
alert("Votre ticket à bien été pris en compte dans la base de donnée"); 
location.href = "Principal.php?page=4"; 
</script>'; 

} else {
	echo "Erreur !!";
}


?>

JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

19

s_sniper, le 16 fév 2009 à 15:55:45

Oui merci c'est bon sa marche

merci beaucoup sonik!! ;-))

Répondre à s_sniper

20

sonik21, le 16 fév 2009 à 16:00:30

J'ai cru que j'y arriverai jamais :p ^^ JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

21

s_sniper, le 16 fév 2009 à 16:11:14

Lool quand meme!! ;-)

Répondre à s_sniper

22

s_sniper, le 16 fév 2009 à 16:51:09

Est ce que t'est toujour la j'ai un petit detail a te demandé !!

Répondre à s_sniper

23

sonik21, le 16 fév 2009 à 16:52:11

Jsui toujours la ouai ^^ JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

24

s_sniper, le 16 fév 2009 à 17:10:42

Enfette tu vois dans mon formulaire lorsque je rempli pas des chose car il peux y avoir des valeur null ki seron modifiable ensuite via une autre formulaire de modification.
Donc j'ai une otre page qui m'affiche sous forme de tableau la requete sql de tous mes enregistrement
et les case dont c'est pas remplis il y a pas le border tu vois ce que je veux dire comment je pourrai faire pour k il m'affiche le contour de la cellule mm si el est vide car le contour apparait seulement quant la cellule est remplis.

Lol c'est un petit details mais sa me tracasse visuelement..

merci

Répondre à s_sniper

25

sonik21, le 16 fév 2009 à 17:27:53

Heu... j'avoue que la je sèche... essaye de faire en sorte d'afficher un message pour dire que c'est vide du genre "aucun enregistrements ici" ou quelque chose comme sa, comme ça tu n'aura jamais de cases vide et toujours des bords ^^

autrement en laissant les cases vides... je vois pas comment faire JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

26

s_sniper, le 24 fév 2009 à 09:27:02

.... Auriez vous une solution pour que le saut de ligne se fasse mais sans l'apparition des "<br />"..

Merci d'avance

Répondre à s_sniper

27

Passarinho44, le 24 fév 2009 à 09:33:07

Dans la textarea ou sur ta page HTML?

Répondre à Passarinho44

28

s_sniper, le 24 fév 2009 à 09:34:08

Nan sur ma page lorsque je clique sur modifier sa me rapporte le texte mais avec les br c'est mochee je trouve !!

Répondre à s_sniper

29

Passarinho44, le 24 fév 2009 à 09:49:16

Ben c'est parce que, comme je t'ai dit, dans ta base, il faut que tu enregistres sans la modifier et sans mettre les <br />!

Sinon il faudrait que tu remplaces les <br /> par des \n dans ton textarea.
Pour cela, regarde la doc du coté de la fonction str_replace

Répondre à Passarinho44

30

s_sniper, le 24 fév 2009 à 10:03:47

"Ben c'est parce que, comme je t'ai dit, dans ta base, il faut que tu enregistres sans la modifier et sans mettre les <br />! "

J'ai du mal a saisir sa tu peut etre plus précis stp.





p.s : connais tu un logiciel pour créer facilement un shema des flux ?

Répondre à s_sniper

31

Passarinho44, le 24 fév 2009 à 10:57:06

Je ne sais même pas ce qu'un un shéma des flux alors pour le logiciel ... ^^

Ben en fait quand tu enregistres dans ta base de données, il ne faut pas utiliser la fonction nl2br().

Il ne faut utiliser cette fonction que quand tu affiches les informations dans ta page HTML.

Dans ta base de données, il ne te faut aucun <br />, il faut que tu laisses les \n
Quand tu afficheras (par exemple dans les cases de ton tableau ...), là tu utiliseras le nl2br().
Mais pas avant ^^

Répondre à Passarinho44

32

s_sniper, le 24 fév 2009 à 11:09:54

Donc dans cette page qui suit je supprime le nlbr

<?php
$date = dateMySQL($_POST['DateTicket']); 
$heure = $_POST['HeureTicket'];
?>
<?php 
if(isset($_POST['SujetTicket'])){ 
$SujetTicketAffich = nl2br($_POST['SujetTicket']); 
echo $SujetTicketAffich; 
$SujetTicket = $_POST['SujetTicket']; 
} else { } 
?> 
<?php
$NomClient = $_POST['NomClient'];
$RecepteurTicket = $_POST['RecepteurTicket'];
$InterlocuteurClient = $_POST['InterlocuteurClient'];
$AffectationTicket = $_POST['AffectationTicket'];



 

$sql =  "INSERT INTO `hotlinecc`.`tb_ticket` (`IndexTicket`,`NomClient`, `DateTicket`, `HeureTicket`, `RecepteurTicket`, `InterlocuteurClient`, `SujetTicket`, `AffectationTicket`, `ObjetTicket`)
 VALUES('A','$NomClient','$date','$heure','$RecepteurTicket','$InterlocuteurClient','$SujetTicket','$AffectationTicket','NA')";
$res = mysql_query($sql);



ET je le met ou alors ? dans mon formulaire ?

Répondre à s_sniper

33

Passarinho44, le 24 fév 2009 à 11:11:32

Non, tu le met que là où tu affiches ton $donnees['SujetTicket'] dans ta page HTML(genre dans un tableau ou autre)
Si tu le réaffiches dans ta textarea, tu ne met pas de nl2br().

Répondre à Passarinho44

34

s_sniper, le 24 fév 2009 à 11:16:37

Oui ou je met mon $donnee[sujetTicke] c'est a dire la page modification.php je met ce code :

<?php 
if(isset($_POST['SujetTicket'])){ 
$SujetTicketAffich = nl2br($_POST['SujetTicket']); 
echo $SujetTicketAffich; 
$SujetTicket = $_POST['SujetTicket']; 
} else { 
} 
?> 


et dans la page message.php je supprime ce code ? c'est ca ? lol
désolé je fait un autre trucs a coté qui est galere....

Répondre à s_sniper

35

Passarinho44, le 24 fév 2009 à 11:20:45

Non non ça tu le laisses comme c'est!

Enfin tu peux enlever ça :

$SujetTicketAffich = nl2br($_POST['SujetTicket']); 
echo $SujetTicketAffich;

si tu as pas besoin de l'afficher et juste de l'enregistrer.

Répondre à Passarinho44

36

s_sniper, le 24 fév 2009 à 15:09:22

Re

tu sais le scripte javascripte pour le blocage de caracter que tu ma passé ce matin, il y a une faille
il bloque que la 1er ligne a 10 caractere j'appui sur entré je peux retapé le nombre de caractere que je veux .

T'avais remarqué ? c dommage c'etait ce que je voulais

Répondre à s_sniper

37

Passarinho44, le 24 fév 2009 à 15:12:14

Essaie de changer le ==10 par un >= 10

Répondre à Passarinho44

38

s_sniper, le 24 fév 2009 à 15:21:30

C'est bon c'est parfait bon faut que je regle ce probleme de saut de ligne la et c'est presque fini !! lol

t'en ai ou toi dans ta note de synthese tu la commencé quand ?

Répondre à s_sniper

39

Passarinho44, le 24 fév 2009 à 15:51:38

Ben là je fais une doc de mon appli pour mon maitre de stage donc j'avance pas trop ma note de synthèse.

J'ai fait 10pages sur ma note synthèse mais je sais pas si je vais réussir à en faire beaucoup plus ... :s
Je l'ai commencée il y a 2semaines à peu près ^^

Pour ton saut de ligne regarde où dans ton script ça met des <br /> dans ta base ...
Tu enlèves le nl2br à cet endroit.

Le nl2br sert juste à afficher dans ton code HTML.

Répondre à Passarinho44

40

s_sniper, le 24 fév 2009 à 16:40:33

Le saut de ligne se fait lotre de création d'un nouveau ticket , lorsque je vais dans "les tickets" dans le champ sujet ticket les <br /> ne sont pas mais c'est lorsque je fait modifier ( donc ca m'envoie a modification)
sa me met dans le formulaire dans le champ sujet ticket les <br /> la ou j'ai sauté des ligne dans le texte

Répondre à s_sniper

41

Passarinho44, le 24 fév 2009 à 16:47:46

Oui mais ça veut dire que quelque part tu as une fonction nl2br() qui transforme tes \n en <br />

Dans ta base, tu as des \n ou des <br /> ??

Répondre à Passarinho44

42

s_sniper, le 24 fév 2009 à 17:03:04

Oui mais je ne trouve pas ou !!

j'ai sa dans ma base de <br />

d<br />
d<br />
d<br />

Répondre à s_sniper