Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2007, 16h32   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Par défaut Pb textarea et caractères spéciaux avec passage de paramètres

Bonjour,

Voilà je créait un document avec une description
Je peux ensuite la consulter et ça fonctionne bien même avec des retours à la ligne, ou des ' ou encore des espaces
Mais quand je passe ces variables dans une page de modification, dès qu'il y a un espace ce qu'il y a après se supprime, idem avec le '

Une solution svp ?
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h38   #2
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 330
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 1 330
Points : 1 659
Points : 1 659
tu les passe comment tes variables ?
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h40   #3
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Comme ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
echo"<input type='hidden' name=NbComplaint value='$NbComplaint'>
									<input type='hidden' name=Complaint_year value='$Complaint_year'>
									<input type='hidden' name=Reception_date value='$Reception_date'>
									<input type='hidden' name=Recording_date value='$Recording_date'>
									<input type='hidden' name=Recording_time value='$Recording_time'>
									<input type='hidden' name=Recorded_by value='$Recorded_by'>
									<input type='hidden' name=Description value='$Description'>
									<input type='hidden' name=NbIncident value='$NbIncident'>
									<input type='hidden' name=Natco value='$Natco'>
									<input type='hidden' name=LOS value='$LOS'>
									<input type='hidden' name=Status value='$Status'>
									<input type='hidden' name=LSCD value='$LSCD'>
									<input type='hidden' name=LCD value='$LCD'>
									<input type='hidden' name=LCT value='$LCT'>
									<input type='hidden' name=LCB value='$LCB'>
									<input type='hidden' name=Complainant_name value='$Complainant_name'>
									<input type='hidden' name=CPSD value='$CPSD'>
									<input type='hidden' name=CPST value='$CPST'>
									<input type='hidden' name=R_comments value='$R_comments'>
									<input type='hidden' name=Problem_type value='$Problem_type'>
									<input type='hidden' name=CA_P value='$CA_P'>
									<input type='hidden' name=CA_D value='$CA_D'>
									<input type='hidden' name=CD value='$CD'>
									<input type='hidden' name=CT value='$CT'>
									<input type='hidden' name=Del value='$Del'>";
Si j'enlève le echo et que je mets des <?php echo"$variable";?>
Ca me la fait encore plus planter
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h41   #4
Membre régulier
 
Avatar de scorpion.os
 
Homme
Consultant Cobol/AS400
Inscription : mai 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant Cobol/AS400

Informations forums :
Inscription : mai 2006
Messages : 146
Points : 87
Points : 87
essayes deja de formater le texte que tu recois.
par exemple,quand tu trouves ( ' )remplace ca par ( \' )et ainsi de suite
__________________
Pas de langage sms, la programmation donne déjà assez mal à la tête .N'oubliez pas le
scorpion.os est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h56   #5
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Ca m'affiche le \ puis plus rien même pas le '

Et de même je voudrais que mon textarea puisse garder les entrer. J'ai trouvé le moyen au passage du texte dans la variable :
$Desc=ereg_replace(chr(13),'<br>',$Desc);

Mais quand cette variable est affichée dans le textarea au moment de passer à la ligne j'ai <br><br>
C'est pas très propre
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 09h08   #6
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Bonjour,

j'ai toujours le problème
Si j'ajoute un addslashes ça ne fonctionne toujours pas.
En fait quand l'utilisateur écrit dans le textarea, il s'enregistre comme il faut dans la base de données même avec les apostrophes.
Après quand j'affiche cette variable ça fonctionne.
Par contre quand je la passe à nouveau dans le textarea pour modification, ça plante.
Si j'écris probleme d'impression
il m'écrit probleme d
Et si j'écris probleme d\'impression
il m'écrit probleme d\
Merci d'avance
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 09h49   #7
Membre régulier
 
Étudiant
Inscription : juin 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 83
Points : 84
Points : 84
Tu parles de textarea mais ton exemple montre des input.
Si tu essaies d'afficher ton texte brut dans les input c'est normal que ca plante : les apostrophes de ton texte ferment l'attribut value.

Dans ce cas utilise htmlentities($contenu)
Wharenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h10   #8
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Ok merci maintenant je comprends mieux !!
Par contre auriez vous une solution pour pouvoir interpréter les retour à la ligne sans qu'il m'affiche <br> dans mon textarea ?
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h32   #9
Membre régulier
 
Étudiant
Inscription : juin 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 83
Points : 84
Points : 84
Le mieux aurait été d'enregister le texte dans ta base de données sans les <br>

Mais pour éviter de les afficher tu fais un remplacement

Code :
1
2
 
echo str_replace('<br>','',$montexte);
Wharenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h54   #10
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Okça fonctionne
Mais j'ai quand même un problème lorsque je veux le voir en texte brut donc pour une consultation et que j'écris
Code :
1
2
 
<td>Description : <b><?php echo $Desc; ?></b> </td>
Ben là il me met les br et si lors de l'enregistrement dans la base de données je mets :

Code :
1
2
 
$Description=str_replace('<br>','',$Description);
puis
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
UPDATE complaint
	SET Description='$Description',
	Incident_Request_number='$NbIncident',
	Natco='$Natco',
	LOS='$Los',
	Status='$Status',
	Last_status_change_date='$Last_status_change_date',
	Last_change_date='$CurrentDate',
	Last_change_time='$CurrentTime',
	Last_change_by='$User',
	Complainant_name='$Complainant_name',
	Complainant_problem_solving_date='$Pb_solving_D',
	Complainant_problem_solving_time='$Pb_solving_T',
	Resolution_comments='$R_comments',
	Problem_type='$Pb',
	Corrective_actions_planned='$CA_P',
	Corrective_actions_done='$CA_D',
	Closure_date='$Closure_date',
	Closure_time='$Closure_time'
	WHERE Complaint_number LIKE '$Complaint_number'
	AND Complaint_year LIKE '$Complaint_year'
Là il m'affiche lors du
Code :
<td>Description : <b><?php echo $Desc; ?></b> </td>
Tout à la suite sans retour à la ligne.

Par contre en modification dans le textarea, là ça fonctionne.
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 10h57   #11
Membre régulier
 
Étudiant
Inscription : juin 2006
Messages : 83
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 83
Points : 84
Points : 84
Si tu as supprimé les <br> dans la base de données, ce qui est plus propre, alors il faut que tu affiches ton texte en le faisant passer dans nl2br qui convertit ton texte pour les retours à la ligne html.

Tu fais :
Code :
<td>Description : <b><?php echo nl2br($Desc); ?></b> </td>
PS : peut être faudrait il tout centrer sur le même sujet, les deux sont très proches...
Wharenn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 15h56   #12
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 177
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 177
Points : 33
Points : 33
Ok merci, j'avais trouvé pleins de post à dessus, mais je ne comprenais pas dans quel sens m'en servir.
Maintenant tout fonctionne c'est chouette !
Lolie11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h55.


 
 
 
 
Partenaires

Hébergement Web