[php]erreur

Bonjour à tous .
Voila mon premier soucis :
J'ai un fichier qui contient cela :

<input type='hidden' name='nombre_de_reponses' value='$k.-1'>


Lorsque je le récupère avec la page suivante, voila le résultat :

<input type='hidden' name='nombre_de_reponses' value='7-1'>


Sauf que je souhaite pas obtenir comme résultat '7-1' mais '6' .

Comment faire ??

Mon deuximème soucis (tout autre) :
J'ai un variable qui contient du texte, et je souhaite concaténer d'autres chaines de caractères à la suite .

128.
$code_reponse = "<html><body>";
129. $r = 1;
130. for($r=1;$r<=$questions;$r++)
131. {
132. 		$code_reponse.="\$reponses[$r]  = $_POST['q'.$r];";
133.		$r++;
134. }


Voila le résultat :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\projet_final\qcm\genere_fichiers.php on line 132

Vous voyez quel est le problème ?

Par avance, merci !
Configuration: Windows XP
Firefox 2.0.0.4

3 réponses

  1. Pour le deuxième soucis, je tiens a préciser que je veux un résultat de ce type :

    $reponse[1]=2
    $reponse[2]=5
    $reponse[3]=9
    ...
    ...
    
    1. Salut bezourox,

      Pour ton premier probleme, essaie tel que suis:
      $k=$k-1;
      <input type='hidden' name='nombre_de_reponses' value='$k'>

      Pour ton second problème:

      $code_reponse = "<html><body>";
      for($r=1;$r<=$questions;$r++)
      {
      $code_reponse=$code_reponse."$reponses[".$r."] =". $_POST['q'.$r];
      $r++;
      }

      Dis moi si ca résouds ton problème
      1. salut .

        premier problème résolu .
        le deuxième par contre toujours la meme merde .
        en fait je sais pas si tu auras compris mais je cherche a générer un fichier php .

        Pour cela je procède de la manière suivante :
        $filename = "blablabla.php";
        $code_reponse = "tout_mon_code";
        $open = fopen($filename_reponse, "a+"); 
        fwrite($open, $code_reponse);
        fclose($open); 


        le problème c'est que je ne génère pas le code tout d'un bloc .
        Je veux que le php soit interprété a l'entérieur de $filename ....
        je me fais comprendre ou pas ? :s
        1. Bonjour,

          Pour le 2e problème, utilise des ' plutôt que des " :

          $code_reponse = "<html><body>";
          for($r=1;$r<=$questions;$r++)
          {
          $code_reponse .= '$reponses['.$r."] = ". $_POST['q'.$r];
          $r++;
          }
        2. $code_reponse .= '$reponses['.$r."] = ". $_POST['q'.$r];

          je comprends pas pourquoi : "] = "
        3. @bezourox?
          Ben pourquoi pas ?
          Il faut bien fermer le crocher, et mettre le signe "=", non ?
        4. @Reivax962OK, je crois que je comprends ta question.
          La différence entre ' et " vient du traitement des variables qui sont dans la chaine de caractères.
          Par exemple, le code suivant :
          $truc = "chose";
          echo "$truc";
          echo '$truc';
          va donner le résultat suivant :

          chose
          $truc

          Donc autour de ]=, qu'on mette des quotes ou des doubles-quotes revient au même.