Formulaire de contact et mise en forme [Résolu]

Messages postés
5
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
22 mars 2011
- - Dernière réponse : ptisseau
Messages postés
5
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
22 mars 2011
- 22 mars 2011 à 20:43
Bonjour à tous,

Je suis actuellement en train de finaliser mon site professionnel spécialisé dans la finance.

Celui-ci sur sa page d'accueil contient un formulaire de contact avec un système d'echo pour la partie des renseignements d'écrivant l'état civil, l'objet du contact ainsi que qu'une zone de commentaire « textarea » permettant de donner quelques informations complémentaires.

l'echo me permet de valider la qualité des réponses et d'envoyer un message d'erreur si besoin.

J'utilise à méthode post avec confirmation de l'envoi par un texte reprenant le message sur la même page.

Mon problème est la mise en forme de celui-ci : le text n'est justifier et ne revient pas à la ligne si la personne qui écrit ne fait pas entrée ou retour à la ligne.
Du coup cela déforme la page d'accueil.

Avant : www.axa-toulouse.com
Après : http://www.axa-toulouse.com/deformation_du_site.gif

Code php :

<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !

//

$list['f_5']=array("Sélectionnez","Santé"," Retraite "," Patrimoine ","Prévoyance "," Epargne "," Fiscalité ","Entreprise");
if(isset($_POST['submit'])){
$erreur="";

// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
$f_2=trim(eregi_replace("[^0-9\ +]", "", $f_2));
$f_3=strip_tags(trim($f_3));

// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li>Le champ « Nom » est vide ou incomplet.";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li>Le champ « Téléphone » est vide ou incomplet.";
$errf_2=1;
}
if($f_5==0){
$erreur.="<li>Le champ « Infos » n'a pas été défini.";
$errf_2=1;
}

if(strlen($f_3)<2){
$erreur.="<li>Le champ « E-mail » est vide ou incomplet.";
$errf_3=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_3)){
$erreur.="<li>La syntaxe de votre adresse e-mail n'est pas correcte.";
$errf_3=1;
}
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site@axa-toulouse.com\n";
$corps.="Nom : ".$f_1."\n";
$corps.="Téléphone : ".$f_2."\n";
$corps.="E-mail : ".$f_3."\n";
$corps.="Question : ".$f_4."\n";
$corps.="Au sujet de : ".$list['f_5'][$f_5]."\n";
if(mail("contact@axa-toulouse.com", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.";
}
}
}
?>/size[color=red]/color


Ci-dessous le code html


<? if($ok_mail=="true"){ ?>
Le message ci-dessous nous a bien été transmis.,

----
,
----
<tt><?echo nl2br(stripslashes($corps));?></tt>,
----
,
----
Nous allons y donner suite dans les meilleurs délais.
A bientôt.




<? }else{ ?>





<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>




<? if($erreur){ ?>
----

ERREUR, votre message n'a pas été transmis ,

----
<?echo$erreur?>, <?}?>
----

Champs obligatoires *,

----

Infos sur *: ,

<select style='width:160 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' size='1'>

<? for($id=0;$id<count($list['f_5']);$id++){ if($id==$f_5){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list['f_5'][$id]."</option>");unset($ct);}?>

</select>,

----

Nom* :,
;' name='f_1' value='<?echo stripslashes($f_1);?>' size='40' border="0" >,

----

Téléphone* :,
;' name='f_2' value='<?echo stripslashes($f_2);?>' size='40' border='0'>,

----
E-mail* :,
;' name='f_3' value='<?echo stripslashes($f_3);?>' size='40' border='0'>,

----
Question :,
<textarea name='f_4' cols='40' rows='5' style='width:160 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;'><?echo$f_4?></textarea>,

----
,



</form>




<? } ?>



</TD>
</TR>


</TABLE>
</TD>
</TR>

</table>



Pour le code html il est un peu long mais difficile à couper.
J'ai effectué différents test de mise en forme sur les styles css mais cela n'a pas fontionné.



si quelque à une idée. je suis preneur.
Merci d'avance de votre aide.

Pedro_de_Toulouse
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
4
3
Merci
<table width="215" border='0' align="center" cellpadding='0' cellspacing="0" class="style32">

Regardez si dans la classe 'style32' il n'y a pas un width définit dedans.

______________________________________________________________________

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de phpAnonyme
Messages postés
5
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
22 mars 2011
3
Merci
A la base j'avais enregistrée un largeur en % ce permettait qu'en fonction de la taille du texte, la taille du cadre puisse s'allonger ou s'agrandir.

J'ai mis une largeur fixe et ai supprimé les largeurs dans les styles.

Cela fait un retour à la ligne entre les mots.
C'est mieux.

Il ne faut pas que les mots soient trop longs.

Merci du coup de main





Pedro_de_Toulouse

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ptisseau
Messages postés
5
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
22 mars 2011
0
Merci
Je viens d'effectuer une modification de style sur la classe mais cela ne change rien.

Aucune width n'est défini


Pedro_de_Toulouse
Commenter la réponse de ptisseau
Messages postés
5
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
22 mars 2011
0
Merci
Si quelqu'un sait faire un retour à ligne automatique.
Je veux bien qu'il m'explique
Pedro_de_Toulouse
Commenter la réponse de ptisseau
Messages postés
403
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
4
0
Merci
Le problème, est un problème de largeur. Avez-vous regarder dans la classe style44 ?



______________________________________________________________________
Commenter la réponse de phpAnonyme