PROB de variable PHP [RESOLU]

Bonjour a tous, voila, j’ai un formulaire

<FORM ENCTYPE="multipart/form-data" ACTION="edit.php" METHOD="POST">
<INPUT type="hidden" name="entryid" value="<? echo $id ?>" >
<p>Titre
<INPUT TYPE="Text" name="titre" value="<? echo $titre ?>" size="100" class=petit></p>

<? //MIGRATION: A partir d'ici ?>
<p>Fichier Clip
<?
$filepath="/home/e-smith/files/ibays/xmlprod/html/CLIPS/done/".$pathdate . "/" . $row['clip_namefile'];
if (file_exists($filepath)) {
 $midfile = "done/" . $pathdate . "/" . $row['clip_namefile'];
}else {
 $midfile = $row['clip_namefile'];
}
?>  
<INPUT TYPE="Text" name="namefile" value="<? echo $midfile ?>" size="18" class=petit disabled></p>

et dans mon edit.php, j’ai plus acces a ma variable namefile, elle est vide…
j’ai pourtant fait un

while(list($var,$val)=each($HTTP_POST_VARS))
{
$$var=$val;
}

pour recupere mais rien ne se passe…

qq’un a une idee… merci

Rah mais c’est pas possible?

Ce code est une vraie horreur. Tant sur le HTML que sur le PHP. Bref, j’espère que c’est du code repompé ?

  1. <? c’est mal, <?php
  2. ferme les balises HTML
  3. quand c’est “disabled”, le champ n’est pas envoyé. Vire le “disabled”
  4. $_POST, pas HTTP_POST_VARS, mais surtout

fait un register_globals plutôt que cette horreur que tu nous fait, au moins ça sera moins épuisant pour le serveur… ou utilise extract

J’ajouterai qu’il faut déclarer les champs d’un formulaire entre les balises <form> et </form>

Ouille ouille ouille!

Pourquoi à chaque fois que tu appelles une variable php, tu fermes les balises pour les ouvrir après??? Ca rend ton code trés surchargé!

Je te conseille de tout écrire comme s’il s’agissait de php, en utilisant le mot clé echo

Par exemple:

<INPUT TYPE="Text" name="titre" value="<? echo $titre ?>>

Equivaut à

echo "<INPUT TYPE='Text' name='titre' value=$titre>";

Attention au passage des " en ’ dans le formatage php!

Aller, je suis en forme aujourd’hui:

<?php
...
echo "<form method='post' action='edit.php'>";
echo "<INPUT type='hidden' name='entryid' value='$id'>";
echo "Titre";
echo "<INPUT type='Text' name='titre' value='$titre'>";

// Là, je comprend pas ce que tu veux faire, alors je te fais confiance;)
$filepath="/home/e-smith/files/ibays/xmlprod/html/CLIPS/done/".$pathdate . "/" . $row['clip_namefile'];

if (file_exists($filepath))
{
  $midfile = "done/" . $pathdate . "/" . $row['clip_namefile'];
}
else
{
  $midfile = $row['clip_namefile'];
}

echo "<INPUT type='Text' name='namefile' value='$midfile'>";
echo "<input value='envoyer' type='submit'>";
echo "</form>";

...

?>

Et dans ton fichier edti.php:


<?php
...
if (isset($_POST['titre']))
  $var_titre = $_POST['titre'];

...
?>

Non, échec critique :slight_smile: ça le rend plus propre, et un analyseur syntaxique (jedit, etc) peut afficher ça correctement.

Echec critique??? Comprend pas :??:

Affiche ça sous je sais pas Dreamweawer, ou Webexpert :

<a href="<?php echo $x;">
<?php echo ‘<a href"’, $x, ‘">’; ?>

La diffèrence est notable dans le premier cas tu vois le html & le php, dans le second que le php.

merci pour vos reponse, donc j’ai resolu mon prob et c’etait bien a cause de mon champ disabled qui n’etait pas envoyé…

pour ma defence, le code etait que partielement copier… et du coup j’ai un peu tt tester du genre le:

while(list($var,$val)=each($HTTP_POST_VARS))
{
$$var=$val;
}

bref en tt cas, merci a vs