[FORM] Contenu d'un champ hidden qui s'affiche ?

Contenu d'un champ hidden qui s'affiche ? [FORM] - PHP - Programmation

Marsh Posté le 05-05-2006 à 12:21:06    

Bonjour à tous.

 

J'ai un problème en repreant un morceau de code existant.

 

En gros le code permet de recuperer des metdatas office et mettre à jour une base.

 

Dans une 1ere je recupere les proprietes je fais un beau tableau que je stocke.
Apres les test de ces proprietes je stocke tous mes warnings, erreurs dans un autre tableau.

 

Si j'ai des erreurs j'affiche le tout pour info et je reviens en arriere

 


Si tout est bon :
J'ai une variable qui regroupe tous les tableaux generes avant. J'affiche donc cette variable. Tout est OK l'affichage est bon.
Ensuite j'affiche un bouton Cancel et un Confirm dans un formulaire avec des champs hidden pour envoyer vers une autre page pour traitement.

 

Le probleme est la. Tous les champs sont OK sauf celui qui contient ma variable de tableau. La variable est affiche une seconde fois ???
Je l'ai remplacé pour d'autre et rien ne s'affiche ?? Il est pourtant bien hidden.

 

Voici un extrait de code

 

Mes different tableau sont de la meme forme :

 

$MSGDIFF .= \"<table width=\\"800\\" border=\\"0\\" align=\\"center\\" class=\\"bordure\\">\n\";
$MSGDIFF .= \"<tr height=\\"20\\">\n\";
$
MSGDIFF .= \"<td colspan=\\"2\\" class=\\"titre_blanc_fond_bleu\\"><img src=\\"../skins/$Skin/fleche_clair.gif\\" width=\\"10\\" height=\\"10\\" border=\\"0\\">&nbsp;Title comparison</td>\n\";
$MSGDIFF .= \"</tr>\n\";
$MSGDIFF .= \"<tr height=\\"20\\" class=\\"body_noir_fond_bleu_clair_plus_fonce\\">\n\";
$MSGDIFF .= \"<td width=\\"20%\\"><div align=\\"center\\">Document Center title</div></td>\n\";
$MSGDIFF .= \"<td><div align=\\"left\\">$ID_TITLE</div></td>\n\";
$MSGDIFF .= \"</tr>\n\";
$MSGDIFF .= \"<tr height=\\"20\\" class=\\"body_noir_fond_bleu_clair\\">\n\";
$MSGDIFF .= \"<td width=\\"20%\\"><div align=\\"center\\">Uploaded document title</div></td>\n\";
$MSGDIFF .= \"<td><div align=\\"left\\">$ITEM_TITLE</div></td>\n\";
$MSGDIFF .= \"</tr>\n\";
$MSGDIFF .= \"</table>\n\";

 

Le form :

 

       echo \"<form method=\\"post\\" name=\\"registerForm\\">\";
        echo \"<input type=\\"checkbox\\" class=\\"box\\" name=\\"SENDMAIL\\" value=\\"$AUTHOR_EMAIL\\">$AUTHOR_EMAIL<br>\";
        echo \"<input name=\\"ID\\" type=\\"hidden\\" value=\\"$ITEM_ID'>\";
        echo \"<input name=\\"ITEM_NAME' type=\\"hidden\\" value='$ITEM_NAME'>\";
        echo \"<input name=\\"ITEM_PATH\\" type=\\"hidden\\" value=\\"$ITEM_PATH\\">\";
        echo \"<input name=\\"ITEM_TITLE\\" type=\\"hidden\\" value=\\"$ITEM_TITLE\\">\";
        echo \"<input name=\\"ITEM_AUTHOR\\" type=\\"hidden\\" value=\\"$ITEM_AUTHOR\\">\";
        echo \"<input name=\\"ITEM_VERSION\\" type=\\"hidden\\" value=\\"$ITEM_VERSION\\">\";
        echo \"<input name=\\"ITEM_REFERENCE\\" type=\\"hidden\\" value=\\"$ITEM_REFERENCE\\">\";
        echo \"<input name=\\"ITEM_SOURCE\\" type=\\"hidden\\" value=\\"$ITEM_SOURCE\\">\";
        echo \"<input name=\\"ITEM_STATUT\\" type=\\"hidden\\" value=\\"$ITEM_STATUT\\">\";
        echo \"<input name=\\"ITEM_SIZE\\" type=\\"hidden\\" value=\\"$ITEM_SIZE\\">\";
        echo \"<input name=\\"ITEM_DATE\\" type=\\"hidden\\" value=\\"$ITEM_DATE\\">\";
        echo \"<input name=\\"ITEM_TRI\\" type=\\"hidden\\" value=\\"$ITEM_TRI\\">\";
        echo \"<input name=\\"VERSION_DATE\\" type=\\"hidden\\" value=\\"$VERSION_DATE\\">\";
        echo \"<input name=\\"FDIR\\" type=\\"hidden\\" value=\\"$SET_UPLOAD_PATH\\">\";
        echo \"<input name=\\"FFILE\\" type=\\"hidden\\" value=\\"$nom_fichier\\">\";
        echo \"<input name=\\"ITEM_TYPE\\" type=\\"hidden\\" value=\\"$ITEM_TYPE\\">\";
        echo \"<input name=\\"CUR_POLY\\" type=\\"hidden\\" value=\\"$curpolypath\\">\";
        echo \"<input name=\\"MSGMAIL\\" type=\\"hidden\\" value=\\"$MSGDIFF\">";
        echo "<input type=\"submit\" value=\"Confirm\" onClick=\"sendForm(\"document2_confirm_properties.php3\",\"\" )\">";
        echo "<input type=\"submit\" value=\"Cancel\" onClick=\"sendForm(\"document2_cancel_properties.php3\",\"\" )\">";
        echo "</form></center>";

 


Des idees ?

 

Reply

Marsh Posté le 05-05-2006 à 12:21:06   

Reply

Marsh Posté le 05-05-2006 à 12:39:26    

t'essaye de mettre une table dans le champ value d'un input ? bah ça risque pas de marcher ;)

Reply

Marsh Posté le 05-05-2006 à 12:39:34    

J'ai une super idée :
 
VIRE MOI CETTE SUITE D'ECHO INSIPIDES §§§
 
 
:D :D
 
Avec tous ces antislashs, ça m'étonnerais même pas qu'il y ait une erreur de syntaxe. C'est illisible et inmaintenable :(
 
En plus t'as doublé les antislash partout, ce qui évidemment fait tout foirer :( Quand tu veux mettre un double-quotes dans une string, c'est un seul slash, pas deux... Y'a aussi parfois des valeurs d'attributs qui commencent par un double-quote pour fini en simple quote....
 
Et oublie pas le div dans le form, et de mettre des label pour les libellés de champs
 
 
Utilise plutôt une syntaxe Heredoc :

echo <<<POUET
  <form method="post" name="registerForm">
    <div>
      <input type="checkbox" id="sendmail" class="box" name="SENDMAIL" value="$AUTHOR_EMAIL"> <label for="sendmail">$AUTHOR_EMAIL</label><br>
 
      <input name="ID" type="hidden" value="$ITEM_ID">
      <input name="ITEM_NAME" type="hidden" value="$ITEM_NAME">
      [...]
    </div>
  </form>
POUET;

Reply

Marsh Posté le 05-05-2006 à 12:40:26    

Ah ouais nan, les doubles antislash c'est le forum-caca qui les mets apparemment. Ou alors ça vient d'autre part :??:


Message édité par FlorentG le 05-05-2006 à 12:40:48
Reply

Marsh Posté le 05-05-2006 à 12:47:44    

Odin34 a écrit :


        echo \"<form method=\\"post\\" name=\\"registerForm\\">\";
        echo \"<input type=\\"checkbox\\" class=\\"box\\" name=\\"SENDMAIL\\" value=\\"$AUTHOR_EMAIL\\">$AUTHOR_EMAIL<br>\";
        echo \"<input name=\\"ID\\" type=\\"hidden\\" value=\\"$ITEM_ID'>\";
....


 
C'est quoi tous ces backslashes ?  :heink: Tu comprends ce que tu copies-colles au moins ?
Et puis quand on a autant de lignes qui se repetent, il vient naturellement à l'esprit de faire un tableau et une boucle.
 

Reply

Marsh Posté le 05-05-2006 à 12:54:46    

Djebel1 a écrit :

t'essaye de mettre une table dans le champ value d'un input ? bah ça risque pas de marcher ;)


 
 
Voila tout ce que je voulais savoir.
Merci de ton aide.
 
 
 
- Pour les doubles slashes c'est pas moi mais le forum qui les colle.
 
- Pour le code comme je l'ai dit avant je viens de le recupérer et j'essaie de le nettoyer.
 
 
Merci de votre aide

Reply

Marsh Posté le 05-05-2006 à 12:56:18    

echo "test"
c:\toto
 

Citation :

Pour les doubles slashes c'est pas moi mais le forum qui les colle.


 
 :heink:  :sarcastic:


Message édité par smaragdus le 05-05-2006 à 12:57:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed