[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. 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.
  2. 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. 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
      ...
      ...