8791 sujets

Développement web côté serveur, CMS

Bonjour à tous voilà je vous expose mon souci j'ai un formulaire dans lequel j'ai plusieurs input de type text et un textarea lorsque je récupere ce formulaire sur ma page de traitement les guillemets " " sont bien traité au niveau du textarea mais si dans mon input je met un guillemet la chaine de caractere se coupe avant comment faire pour remédier a ce souci merci bien. voici mon code
<form method="post" action="traitajout.php">
  
   <p>
   <?php
   if($_SESSION['infos']==1){ ?>
  <span class="h4ajoutdest" >
   D&eacute;sol&eacute; mais vous avez oubli&eacute; d'entrer une ou plusieurs informations.<br/></span>
 
  <?php  unset($_SESSION['membres']); } // fin du if
  
   else if($_SESSION['infos']==2){ ?>
 <span class="h4ajoutdest" >
   Merci de pr&eacute;ciser le champ autre.<br/></span>
 
  <?php  unset($_SESSION['membres']); } ?>
  
   <span class="fieldsetinfos"> Veuillez entrez les informations pour permettre l'ajout d'une nouvelle destination</span><br/>
   	<span class="inputconnexion">pays:<input type="text" name="nompays" class="ajoutdest"/><br/><br/>
    ville:<input type="text" name="nomville" class="ajoutdest"/><br/><br/>
    nom du lieu:<input type="text" name="nomlieu" class="ajoutdest"/> <br/><br/>
    type de lieu: <input type="radio" name="choix" value="hotel" id="hotel" onclick="cacher('textautre')"/> <label for="hotel">Hotel</label>
     <input type="radio"  name="choix" value="restaurant" id="restaurant" onclick="cacher('textautre')" /><label for="restaurant">Restaurant</label>
       <input type="radio" name="choix" value="cafe" id="cafe" onclick="cacher('textautre')"/> <label for="cafe">Caf&eacute;</label>
       <input type="radio" name="choix" value="autre" id="autre" onclick="afficher('textautre')" /> <label for="autre">Autres</label><br/>
        <span id="textautre" style="display: none"> Merci de pr&eacute;ciser votre choix <input type="text" name="texteautre" class="ajoutdest"/> </span>
   <br/>
  		
       <textarea name="commentaire" onfocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } " class="ajoutdest" rows="10" cols="50" >Entrez ici vos commentaires concernant le lieu</textarea> 
  		<br/>
       <input type = "submit" value = "Ajouter" class="inputconnexion"/></span><br/><br/>
       
   </p>
</form>


Merci de m'aider
Salut,

(sujet déplacé dans le bon salon).

Dans le désordre :

* les éléments (x)html devraient être utilisés à bon escient : pourquoi utiliser un SPAN (neutre) au lieu d'un P ou d'un FIELDSET ?

* en utilisant P à la place de BR la mise en page via les css serait beaucoup plus simple.

* je t'avais suggéré voilà peu de temps d'associer un élément LABEL à chaque élément INPUT... pourquoi ne pas l'avoir fait ? Smiley sweatdrop

* l'usage veut que la valeur des attributs name et id d'un INPUT soit la même (par exemple name="nomville" id="nomville"). As-tu une bonne raison de faire autrement ?

* l'usage veut également que l'on écrive une espace avant la fermeture />

* quel est l'intérêt d'utiliser des entités HTML pour les accents ? A moins qu'il ne s'agisse d'un manque de connaissances concernant l'encodage (cf. Notions de base sur l'encodage des caractères).

* ton problème n'a rien à voir avec le formulaire mais avec la façon dont les variables sont traitées. Il faudrait donc voir le code de traitajout.php.



Revoir (sérieusement) les bases de tout cela et ajouter une touche de rigueur ne serait pas inutile. Smiley rolleyes

Ah oui... faudra-t-il à chaque fois te demander de passer tes sujets en [résolu] ?
Modifié par Heyoan (03 Jan 2009 - 22:31)
Merci pour tout ces conseils mais malheureusement ca ne regle pas mes problèmes et je ne sais comment gérer mon souci de guillemet voici le code de traitajout
<?php session_start (); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>traitajout</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />

</head>

<body>


<div class="div_principale">
<div class="banniereduhaut">
<img class="normal" src="Images/Banner3.gif" alt="banniere du site" />
</div>
<div class="rech_rapide">
<?php 
include("rech_rapide.php");
?>
</div>

<div class="connexion">

<?php 
include("connexion.php");

	

?>

</div>

<div>
<?php
include("menu.php");
?>

</div>
<div class="contenu">


<?php
$commentaire="Entrez ici vos commentaires concernant le lieu";

if ($_POST['choix']=="autre" AND $_POST['texteautre']=="" ) {
$_SESSION['infos']=2;
echo '<script language="Javascript">
						document.location.replace("ajoutdest.php");
						</script>';}

 else if(isset($_POST['nompays']) AND isset($_POST['nomville']) AND isset($_POST['choix'])AND isset($_POST['nomlieu']) AND isset($_POST['commentaire'])AND $_POST['commentaire']!=$commentaire) {
$nompays=strtolower  ($_POST['nompays']);
$nompays=stripslashes($nompays);
$nomville=strtolower ($_POST['nomville']);
$nomville=stripslashes($nomville);
$nomlieu=strtolower ($_POST['nomlieu']);
$nomlieu=stripslashes($nomlieu);
$type=strtolower($_POST['choix']);
$autre=strtolower($_POST['texteautre']);
$autre=stripslashes($autre);
$commentaire=strtolower ($_POST['commentaire']);
$commentaire=stripslashes($commentaire);?>
<fieldset><legend class="legendconnexion"> R&eacute;capitulatif de la nouvelle destination </legend><br/><br/>
<?php
echo '<form method="post" action="envdest.php">
<span class="inputconnexion"> nom du pays:<input type="text" name="pays" value="'.$nompays.'" disabled="disabled"/>&nbsp;&nbsp;
nom de la ville <input type="text" name="ville" value="'.$nomville.'" disabled="disabled"/><br/><br/>
nom du lieu <input type="text" name="nomlieu" value="'.$nomlieu.'" disabled="disabled" />&nbsp;&nbsp;';
echo "type de lieu :<strong> $type&nbsp;</strong>"; 
if($type=="autre"){ 
echo  "($autre)";}

echo' <br/><br/><br/><br/><textarea name="commentaire" rows="10" cols="50" disabled="disabled">'.$commentaire.'</textarea><br/></span>';
echo '<input type="hidden" name="nompays" value="'.$nompays.'"/><input type="hidden" name="nomville" value="'.$nomville.'"/><input type="hidden" name="nomlieu" value="'.$nomlieu.'"/>
<input type="hidden" name="type" value="'.$type.'"/><input type="hidden" name="autre" value="'.$autre.'"/><input type="hidden" name="commentaire" value="'.$commentaire.'"/>';






?>
<br/><input type="submit" name="ajouter" value="ajouter" class="inputconnexion"/></form>
anthonydb1 a écrit :
Merci pour tout ces conseils mais malheureusement ca ne regle pas mes problèmes
Non, effectivement.

Quelques rappels sur Alsacréations :

* ce forum est dédié aux standards du web et à l'accessibilité. Ce que tu appelles conseils est donc bien plus important ici que de répondre aux questions des débutants en PHP (il existe pour cela d'autres forums).

* dans les règles du forum que tu as certifié avoir lues lors de ton inscription il est demandé de passer ses sujets en [résolu] afin de permettre aux autres personnes qui ont un problème équivalent de trouver plus facilement une réponse. Bref ce n'est pas un "conseil" mais une règle de bon fonctionnement en communauté.

* dans les règles du forum que tu as certifié avoir lues lors de ton inscription il est précisé que la politesse élémentaire était d'usage et que nous n'étions pas dans un fast-food (j'ai un problème, j'obtiens ma solution, je m'éclipse). Cela implique de laisser un petit mot de confirmation, à défaut de remerciements, à ceux qui t'ont dépanné (chose que tu as oubliée de faire bon nombre de fois) mais également de tenir compte de ce qu'ils t'ont dit même si cela déborde du simple cadre de ta question de départ... tout simplement parce que cela prend du temps de dépanner quelqu'un et que c'est franchement désagréable de se rendre compte qu'on a parlé dans le vide.


Tout cela ne me semble ni délirant ni dictatorial... En attendant de voir ce que tu fais de ces remarques je vais m'abstenir de répondre à ta question. Smiley murf
Merci a toi Heyoan c'est agréable de s'entendre dire ca sur un forum qui normalement permet l'entraide entre les personne heureusement que tous les membres ne sont pas comme toi sinon il n'y aurai pas beaucoup de [résolu] comme tu les aimes tant . En attendant peut etre que quelqu'un d'autre pourra me répondre
C'est gentil de me remercier car effectivement je t'ai dépanné plus souvent qu'à mon tour. Smiley smile

Pour ce qui est du mot entraide il marche à double sens. Passer tes sujets en [résolu] (quand c'est le cas bien sûr) est justement fait pour aider les autres.

Au lieu de le prendre mal il aurait suffit de 5 minutes pour passer tes anciens sujets en [résolu] et 1 minute de plus pour rajouter les LABEL manquants à ton code (histoire de me faire taire / plaisir). Smiley ohwell

Pour finir je te signale que je suis modo et que je ne fais que mon boulot (description dans Les modérateurs du forum et leurs missions). Si ce que je te demande de faire (suivre les règles de ce forum) dépasse ce que tu es prêt à accepter sans renier ton âme ( Smiley rolleyes ) j'en serai chagriné mais je ferai mon boulot et je fermerai ce sujet.
Je rajouterais encore un conseil supplémentaire : fais un effort d'écriture... la touche virgule de ton clavier est cassée ?
De plus je ne sais pas comment passer mes sujets en résolu , n'ayant pas le bouton éditer au dessus de mes messages...
Hello,

quand tu es connecté tu as, en plus du bouton "Citer", un bouton "Editer" en haut à droite de chacun de tes messages.

Il suffit donc d'éditer le tout premier post ce qui te permet également de modifier le titre de ton sujet.