Form.phpで登録用と更新用Formを作成しているのですがうまくいきません。
登録時はうまくテキストファイルに出力できるのですが、「更新時」(Form.php?lineno=××)に
①array_spliceで置き換えた配列を改めてテキストファイルに出力できず、
②また、header関数でList.phpに改めてリダイレクトしてくれません。
まだまだ素人でして、非常に見づらい構文で大変申し訳なく、また細かい部分(htmlspecialcharsを通す)等を一旦、ご放念頂ければと存じます。
何卒、宜しくお願い申しあげます。
【Form.php】
<?php $filename ="//Applications/MAMP/htdocs/date.txt"; #上書きモードの場合 if(isset($_POST["lineno"])) { $Tenkai=file($filename); array_splice($Tenkai,$_POST["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" <?php if (isset($_GET["lineno"])) { echo "value=\"更新する\">"; echo "<input type=\"hidden\" name=\"lineno\" id=\"lineno\">";
}else{
echo "value="登録する">";
}
?>
【List.php】
<!登録したものをlist化したページ>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。