2016-03-25 14 views
0

私は、POST変数を取り、別のファイルマルチ配列形式は、変数を格納しません

形でそれらを格納すべきupdate.phpをするために送信するフォームがあります。

<fieldset> 
     <legend>Proficiencies:</legend> 
     <span>Name:</span> <span>exp:</span> <span>Rank:</span><br/> 
     <?php 
      $x = 0; 
      if ($proficiencies) { 
       foreach ($proficiencies as $proficiency) { 
         echo '<input type="text" name="proficiencies['.$x.'][\'name\']" value="'.$proficiency["name"].'"/>'; 
         echo ' <input type="text" name="proficiencies['.$x.'][\'exp\']" value="'.$proficiency["exp"].'"/>'; 
         echo ' <input type="text" name="proficiencies['.$x.'][\'rank\']" value="'.$proficiency["rank"].'"/>'; 
         echo '<br/>'; 
         $x++; 
       } 
      } 
      echo '<input type="text" name="proficiencies['.$x.'][\'name\']"/>'; 
      echo ' <input type="text" name="proficiencies['.$x.'][\'exp\']"/>'; 
      echo ' <input type="text" name="proficiencies['.$x.'][\'rank\']"/>'; 
     ?> 

</fieldset> 

update.phpをを:

<?php 
echo 'making changes'; 
$user = fopen('sheets/'.$_COOKIE['username'].'.php', 'w+'); 
fwrite ($user, '<?php 
$proficiencies = array(
'); 
foreach ($_POST['proficiencies'] as $proficiency) { 
    if ($proficiency["name"]) { 
     fwrite ($user, ' array(
     "name" => "'.$proficiency["name"].'", 
     "exp" => "'.$proficiency["exp"].'", 
     "rank" => "'.$proficiency["rank"].'", 
    ), 
' 
     ); 
    } 
} 
fwrite ($user, '); 
?>'); 
fclose($user); 
?> 

私はこれを行うためのさまざまな方法を試してみましたが、それは単なるHTMLで

答えて

0

を動作しません。

+0

**補正が、それは問題ないはず

echo '<input type="text" name="proficiencies['.$x.'][name]" value="'.$proficiency["name"].'"/>'; echo ' <input type="text" name="proficiencies['.$x.'][exp]" value="'.$proficiency["exp"].'"/>'; echo ' <input type="text" name="proficiencies['.$x.'][rank]" value="'.$proficiency["rank"].'"/>'; 

::**フォーム名に引用符を使用することができ、フォームの名前、あなたは

echo '<input type="text" name="proficiencies['.$x.'][\'name\']" value="'.$proficiency["name"].'"/>'; echo ' <input type="text" name="proficiencies['.$x.'][\'exp\']" value="'.$proficiency["exp"].'"/>'; echo ' <input type="text" name="proficiencies['.$x.'][\'rank\']" value="'.$proficiency["rank"].'"/>'; 

への引用符

変更を使用することはできません$ _POST ['proficiencies']の中に$ proficiency ["'name'"]のようなキーがあるはずです。 - 二重引用符内の一重引用符に気付く:P – zedling

+0

ありがとう。それは多くの助けとなりました – KlingonDragon

関連する問題