前提・実現したいこと
投稿番号の取得をしたいです
fileがあればcount関数で数える→+1して投稿番号にする
なければ投稿番号=1にするのが手っ取り早いのはわかりますが
explodeでもできると聞いて試してみましたがうまくいきません
①filenameをexplodeで要素(番号、名前など)ごとに分ける
②$aをつくり、filenameの行数と同じ数字になるまで+1する(ここでcountを再現したい
③$aで出た最終行を$nuに
$nuの最初の要素(番号)を$numに
という形をとればcount関数の代用ができるのかと思い書いてみました
調べてやりましたが、皆様からしたらexolodeについて全然理解していない質問かもしれません
思ったことがあればどんどん教えてください
発生している問題・エラーメッセージ
番号が表示されません
番号<>名前<>コメント<>時間としたいのですが
<>名前<>コメント<>時間になります
該当のソースコード
PHP
ソースコード
PHP
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>mission_3-1</title> 6</head> 7<body> 8 9 <form action="" method="post"> 10 <input type="text" name="namae" value="名前"> 11 <input type="text" name="comment" value="コメント"> 12 <input type="submit" name="sousin"> 13 </form> 14 15<?php 16 $filename="mission_3-1.txt"; 17 18//入力フォームのデータを受け取る 19 $namae= ($_POST["namae"]); 20 $comment = ($_POST["comment"]); 21//日付データを取得 22 $date = date("Y年m月d日 H:i:s"); 23//ファイルの存在がある場合は投稿番号+1、なかったら1を指定する 24 if (file_exists($filename)) { 25 $n = explode("<>",$filename); 26 for($a=0; $a<$filename;$a++){ 27 $nu = $n[$a]; 28 $num = $nu[0]; 29 } 30 } else { 31 $num = 1; 32 } 33//書き込む文字列を組み合わせた変数 34 $format = $num."<>".$namae."<>".$comment."<>".$date; 35 36//もしフォームが空じゃなかったら書き込みをする 37 if (!empty($namae)||!empty($comment)){ 38 $fp = fopen($filename,'a'); 39 fwrite($fp, $format."\n"); 40 fclose($fp); 41 } 42?> 43</body> 44</html>
試したこと
番号取得をする質問を探したのですが
どれもcountを使っていました
あなたの回答
tips
プレビュー