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 26/04/2007, 14h14   #1
Membre à l'essai
 
Homme
Audiovisuel
Inscription : décembre 2006
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Audiovisuel
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2006
Messages : 93
Points : 20
Points : 20
Envoyer un message via MSN à Elendill
Par défaut Pb retour de ligne Internet Explorer / Firefox

Bonjour à tous !
Je ne savais pas où poster car tout simplement je ne sais pas d'où viens mon problème (html, php ou mysql) donc je demande d'avance pardon aux mods.

J'ai un problème concernant l'affichage d'un champs texte de ma base de données.
Tout d'abord je vous invite a comparer ce lien avec IE et firefox :
http://chezmwa4.free.fr/?menu1=livredor

- IE : pas de problème.
- Firefox : Les commentaires ne reviennent pas à la lignes et rallongent indéfiniment le tableau en largueur alors que j'ai au préalable définit une largeur fixe.

Lors de la saisie du texte dans le formulaire :
- <textarea cols="60" rows="15" name="message"></textarea>, tout ce qu'il y a de plus banal. ( Je me refuse a faire un wrap="hard" pour des problème d'estétique à l'affichage ).

Lors de l'envoi du texte à la bdd :
- $commentaire=htmlentities($_POST['message']);
- $commentaire=stripslashes(nl2br($commentaire));

Lors de l'affichage :
$sql="SELECT * FROM livredor ORDER BY id DESC";
$res=mysql_query($sql, $base);
while ($ligne = mysql_fetch_object ($res))
et là j'affiche avec $ligne->commentaire entre <fieldset> poru la bordure.

Pour infos mon champ est donc type text, interclassement latin1_general_ci

Voilà j'espere avoir été très clair et vous avoir fournis assez d'informations.
Je vous demande donc comment modifier mon code pour permettre un retour a la ligne automatique sous firefox sans déformation du tableau.
Elendill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 15h44   #2
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
C'est quoi le type de champs que tu utilises pour stocké les valeurs dans ta bdd?

J'enleverais cette ligne
$commentaire=stripslashes(nl2br($commentaire));
lors de l'ajout à ta bdd
et lors de l'affichage tu l'utilises peut sans le stripslashes pour voir
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h40   #3
Membre à l'essai
 
Homme
Audiovisuel
Inscription : décembre 2006
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Audiovisuel
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2006
Messages : 93
Points : 20
Points : 20
Envoyer un message via MSN à Elendill
J'utilise un champ type text, interclassement latin1_general_ci.

J'ai retiré la ligne :
$commentaire=stripslashes(nl2br($commentaire));
sans effet ...

EDIT : J'ai pensé que même si ça marche pas sous firefox, ça fonctionne bien sous IE donc ça serait pas un problème dû a l'affichage plutot ?...
Elendill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 18h39   #4
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
post ton code d'ajout dans la bdd et d'affichage afin qu'on puisse t'aider davantage
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 20h37   #5
Membre à l'essai
 
Homme
Audiovisuel
Inscription : décembre 2006
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Audiovisuel
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2006
Messages : 93
Points : 20
Points : 20
Envoyer un message via MSN à Elendill
Alors ajout dans la base a partir du formulaire :
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
27
28
29
30
<?php
 
// 3 variables du formulaire et protection des balises HTML
$pseudo=htmlentities($_POST['pseudo']);
$commentaire=htmlentities($_POST['message']);
$email = htmlentities($_POST['mail']);
 
//retour à la ligne et stripslashes
 
$commentaire=stripslashes(nl2br($commentaire));
 
// login ou commentaire non vide
 
if (trim($commentaire)=="" || trim($pseudo)==""){
        echo "Vous devez remplir les champs 'pseudo' et 'message'!";
        exit;
}
 
else {
$heure = date("H:i");
$jour = date("d/m/Y");
$date = $jour." à ".$heure;
include("_connexion.php");
mysql_select_db ($menu1, $base) ; 
$sql="INSERT INTO livredor (pseudo, email, date, commentaire) VALUES ('$pseudo', '$email', '$date', '$commentaire')";
mysql_query($sql, $base);
}
 
echo "Merci $pseudo, ton message a bien été bien enregistré.<br>";
?>
Maintenant affichage :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
include("_connexion.php");
mysql_select_db ("livredor", $base) ; 
$sql="SELECT * FROM livredor ORDER BY id DESC";
$res=mysql_query($sql, $base);
 
while ($ligne = mysql_fetch_object ($res)) 
{
    echo "<fieldset><legend><b>$ligne->pseudo</b><font class='fond1pp'>(<a href='mailto:$ligne->email'>$ligne->email</a>) a écrit le : $ligne->date</legend></font><br/>$ligne->commentaire</fieldset><br/> ";
}
 
mysql_free_result ($res);
 
?>
désolé pour l'echo du while un peu indigeste lol
Elendill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 13h08   #6
Membre à l'essai
 
Homme
Audiovisuel
Inscription : décembre 2006
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Audiovisuel
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2006
Messages : 93
Points : 20
Points : 20
Envoyer un message via MSN à Elendill
Bon j'ai trouver une solution de secours un peu crade ( ) a savoir :

Code :
1
2
3
4
5
6
while ($ligne = mysql_fetch_object ($res)) 
{
    $affichage = wordwrap($ligne->commentaire, 120, "<br/>", 1);
    echo "<fieldset><legend><b>$ligne->pseudo</b><font class='fond1pp'>(<a href='mailto:$ligne->email'>$ligne->email</a>) a écrit le : $ligne->date</legend></font><br/>$affichage</fieldset><br/> ";
}
Mais j'attend toujours désespèrement votre aide
Elendill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 19h51   #7
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
Bonsoir,

Je ne sais pas si cela peu venir de là, mais ton </font> met le avant ton </legend>.

Peut etre que la balise legend sera mieux interpretée sous Fox

++
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 22h10   #8
Membre à l'essai
 
Homme
Audiovisuel
Inscription : décembre 2006
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Audiovisuel
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2006
Messages : 93
Points : 20
Points : 20
Envoyer un message via MSN à Elendill


... une petite erreur peu faire perdre beaucoup de temps...

sharrascript... je t'aime
Elendill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2007, 22h30   #9
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
2 jours sur ce forum et déjà des conquêtes^^ Je vais y rester un moment je crois :p

Citation:
... une petite erreur peu faire perdre beaucoup de temps...
J'ai tellement perdu du temps et été à deux doigts de jeter des ordis par la fenêtre à cause de petites erreurs du même style, que je regarde toujours le moindre petit détail qui parait pourtant pas gênant à première vu.

Mais je suis content pour toi, que le pb soit résolu, car perdre trop de temps là dessus, c'est vraiment frustrant.

A bientôt.
sharrascript 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 02h05.


 
 
 
 
Partenaires

Hébergement Web