【PHP関連】初心者のため読みづらいコードを書いている事は理解しております、何卒、ご容赦ください。
以下のForm.php側でテキスト内容を更新する場合に、修正したい配列の要素をうまく指定できません。原因をご教示願います。(恐らく★のついている行の$_GET["lineno"]に原因があると考えています。)
そもそも本を読みながら作っており、なぜどのファイルでも$_GETをフォームでメソッド指定しておらず、まだname属性も指定していないのに、データの受け渡しが使えるのかも調べてもわかりません。素人で、大変恐縮ですが、$_GETの使い方を含めご教示を願います。(例えばisset($_GET["lineno"])というのは、どのデータを受け渡された又はセットしたことを意味するのかがピントきません、$_POSTであれば、必ずHTML1側のフォームタグにメソッドとname属性を指定するので、その中にある、データをsubmitすることによりデータが受け渡される事はりかいできるのですが、素人で本当にすみません)
何卒、宜しくお願い申し上げ上げます。
【Form.php】
<?php $filename ="//Applications/MAMP/htdocs/date.txt"; #上書きモードの場合 if(isset($_POST["uwagaki"])) { $Tenkai=file($filename); ★array_splice($Tenkai,$_GET["lineno"],1,$_POST["uwagaki"]."\n"); $fp2 = fopen ($filename,"w"); for ($i=0; $i<=count($Tenkai);$i++) { fwrite($fp2,$Tenkai[$i]); } fclose($fp2); }else{ #登録モードの場 合 $fp = fopen($filename, "a"); if(isset($_POST["date"])) { $date= $_POST["date"]."\n"; fwrite($fp,$date); fclose($fp); header("Location: http://localhost/List.php"); exit; } } ?> <html lang=ja><h>Non-titled</h></br>
<form action="Form.php" method="post"> <?php if (isset($_GET["lineno"])){echo "<input type="text" name="uwagaki"" ;
}else{
echo "<input type="text" name="date"";
}
/*もし、入力後の?**であれば、 valueを入力しておく/
if (isset($_GET["lineno"]))
{
$pick = file ($filename);
//txtファイルから配列を取得する
$switch = $pick[$_GET["lineno"]];
//$pick配列から、lineno番目の要素を向いてくる
echo "value="$switch"";
}
?>
id="date">日
<input type="submit" name="regist"
【List.php】
<!登録したものをlist化したページ>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/21 09:38
2015/08/21 11:55