- ベストアンサー
複数のプログラムを1ページで行う方法について
- 複数のプログラムを1ページで実行する方法についてお教えください。
- PHPを始めたばかりで、単体ではうまく動くプログラムを2つ並べると動作しない問題に困っています。
- 番号を付けて同じにならないようにする方法が分からないので、ご教示ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あぁ、変数名に - を使ってしまってましたね(汗 ついでにPOSTチェックも書き替えて <?php $file_a = 'txt/a0001.txt'; $file_b = 'txt/b0001.txt'; if (isset($_POST['button_save'])) { file_put_contents($file_a, $_POST['textBox_contents_a']); file_put_contents($file_b, $_POST['textBox_contents_b']); } $text_a = file_get_contents($file_a); $text_b = file_get_contents($file_b); ?> <form action="" method="post"> <textarea name="textBox_contents_a" cols="40" rows="2"><?= htmlspecialchars($text_a, ENT_QUOTES); ?></textarea> <br /> <textarea name="textBox_contents_b" cols="40" rows="2"><?= htmlspecialchars($text_b, ENT_QUOTES); ?></textarea> <br /> <input type="submit" name="button_save" value="保存"> </form>
その他の回答 (2)
- agunuz
- ベストアンサー率65% (288/438)
>$file = 'txt/a0001.txt'; >$file = 'txt/b0001.txt'; > >別個に書き込めるようにしたいです。 別々に書き込んでいますけど・・。あ、$file-b への代入が違ってましたね。 (再掲) $file-a = 'txt/a0001.txt'; $file-b = 'txt/b0001.txt'; // この行だけ修正 if ($_POST['button_save']) { file_put_contents($file-a, $_POST['textBox_contents-a']); file_put_contents($file-b, $_POST['textBox_contents-b']); } $text-a = file_get_contents($file-a); $text-b = file_get_contents($file-b); ?> <form action="" method="post"> <textarea name="textBox_contents-a" cols="40" rows="2"><?= htmlspecialchars($text-a, ENT_QUOTES); ?></textarea> <br /> <textarea name="textBox_contents-b" cols="40" rows="2"><?= htmlspecialchars($text-b, ENT_QUOTES); ?></textarea> <br /> <input type="submit" name="button_save" value="保存"> </form> というか、このくらい修正してよー
補足
そこは気付いて修正しましたが、エラーが出ます。 Parse error: parse error, unexpected '=' 中省略 on line 2
- agunuz
- ベストアンサー率65% (288/438)
form要素の閉じ(</form>)がふたつあるのに、開始が見当たりません。おそらく提示されたソースより前にひとつはあるんだろうと思いますが・・・ その状態だと最初のform要素が閉じられたあと、form要素が(開始していないので)成立していません。 form要素をふたつ並べたいのか、ひとつのfrom要素で両方のテキストファイルを更新したいのか、どちらでしょうか(それによって記述が変わります)。ひとつにまとめるなら、name属性値が同じものがあってはいけません。 (例) <?php $file-a = 'txt/a0001.txt'; $file-b = 'txt/a0001.txt'; if ($_POST['button_save']) { file_put_contents($file-a, $_POST['textBox_contents-a']); file_put_contents($file-b, $_POST['textBox_contents-b']); } $text-a = file_get_contents($file-a); $text-b = file_get_contents($file-b); ?> <form action="" method="post"> <textarea name="textBox_contents-a" cols="40" rows="2"><?= htmlspecialchars($text-a, ENT_QUOTES); ?></textarea> <br /> <textarea name="textBox_contents-b" cols="40" rows="2"><?= htmlspecialchars($text-b, ENT_QUOTES); ?></textarea> <br /> <input type="submit" name="button_save" value="保存"> </form>
補足
$file = 'txt/a0001.txt'; $file = 'txt/b0001.txt'; 別個に書き込めるようにしたいです。
お礼
ありがとうございました。