Php saut de ligne dans les textarea

Fermé
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009 - 16 févr. 2009 à 09:52
 gillosHK - 1 déc. 2009 à 15:51
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.

25 réponses

Utilisateur anonyme
16 févr. 2009 à 12:34
<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
5
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 14:13
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" ?
0
Utilisateur anonyme
16 févr. 2009 à 15:47
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 !!";
}


?>

1
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 15:55
oui merci c'est bon sa marche

merci beaucoup sonik!! ;-))
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 10:57
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 ^^
1
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 11:09
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 ?
0
niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 19
16 févr. 2009 à 09:58
c'est une fonction nl2br()


<?php echo(nl2br($_POST["lot_resum"])); ?>
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 09:59
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
0
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28 > s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 12:23
c'est un traitement que tu dois faire sur les données envoyées par le textarea.
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 10:29
.....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 19
16 févr. 2009 à 12:21
je t'ai déja donné l'exemple
0
Utilisateur anonyme
16 févr. 2009 à 14:24
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> 
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 14:29
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{
}
?>
0
Utilisateur anonyme
16 févr. 2009 à 14:40
sa te donne quelle erreur lors de l'envoi ?
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 14:44
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 " ?
0
Utilisateur anonyme
16 févr. 2009 à 14:58
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 ^^
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 15:02
Non moi j'ai sa

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

parce que j'appelle la page ou il a y le insert...
0
Utilisateur anonyme
16 févr. 2009 à 15:12
tu a donc quelque chose comme ça :

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

...insert to

}
?>

?
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 15:17
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 !!";
}


?>
0
Utilisateur anonyme
16 févr. 2009 à 15:34
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
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 15:38
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 !!!!!
0
Utilisateur anonyme
16 févr. 2009 à 16:00
j'ai cru que j'y arriverai jamais :p ^^
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 16:11
lool quand meme!! ;-)
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 16:51
est ce que t'est toujour la j'ai un petit detail a te demandé !!
0
Utilisateur anonyme
16 févr. 2009 à 16:52
jsui toujours la ouai ^^
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
16 févr. 2009 à 17:10
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
0
Utilisateur anonyme
16 févr. 2009 à 17:27
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
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 09:27
.... Auriez vous une solution pour que le saut de ligne se fasse mais sans l'apparition des "<br />"..

Merci d'avance
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132 > s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 09:33
Dans la textarea ou sur ta page HTML?
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009 > Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012
24 févr. 2009 à 09:34
nan sur ma page lorsque je clique sur modifier sa me rapporte le texte mais avec les br c'est mochee je trouve !!
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 09:49
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
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 10:03
"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 ?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 11:11
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().
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 11:16
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....
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 11:20
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.
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 15:09
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
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 15:12
Essaie de changer le ==10 par un >= 10
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 15:21
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 ?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 15:51
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.
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 16:40
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
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 16:47
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 /> ??
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 17:03
oui mais je ne trouve pas ou !!

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

d<br />
d<br />
d<br />
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
24 févr. 2009 à 17:07
Ben essaie d'afficher le echo $SujetTicket avant de l'insérer et si tu vois les sauts de ligne c'est que ce sont des <br />, sinon tu verras des \n.

Si tu vois les sauts de ligne c'est que tu as une nl2br qui transforme ton texte ...
0
s_sniper Messages postés 210 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 22 mars 2009
24 févr. 2009 à 17:13
toi je croi ta version ke jté envoyé
el fait les saut de ligne teste tu comprendra plus vite je pensse.
0