🥶

学習日記 20230914

2023/09/14に公開

6:30 2023/09/14

1枚目に画像を投稿するときはどんな時だ。
1枚目に削除チェックがあって、1枚目フォームからアップしたとき
エラーは
1枚目に削除チェックがないのに、1枚目フォームからアップした場合

2枚目に画像を投稿するときはどんな場合だ。
2枚目に削除チェックがあって、2枚目フォームからアップしたとき
2枚目がなく、追加で2枚目フォームからアップしたとき。
エラーは
2枚目に削除チェックがないのに、画像を投稿しようとしたとき、
2枚目に画像があるのに、追加で画像を投稿しようとしたとき->これ上と同義では?
2枚目に画像がないのに、3枚目のフォームから画像を投稿しようとしたとき。
に出る。

3枚目の時も同じか。
3枚目に削除チェックがあって、3枚目フォームからアップしたとき
3枚目がなく、追加で3枚目フォームからアップしたとき。
エラーは
3枚目に削除チェックがないのに、画像を投稿しようとしたとき、
3枚目に画像があるのに、追加で画像を投稿しようとしたとき->これ上と同義では?
2枚目に画像がないのに、3枚目のフォームから画像を投稿しようとしたとき。->こんなことはありえないのでは。

//画像投稿バリデーション
//既1枚目を削除せず、1枚目フォームから投稿しようとしたとき
if(!array_search(1, $del_image_array) && array_sum($_FILES['up_image1']['size'])){
	$errors[] = sprintf(ERR_MSG_CONST_UPLOADED_DEL, 1);
}
//既2枚目を削除せず、2枚目フォームから投稿しようとしたとき
if(!array_search(2, $del_image_array) && array_sum($_FILES['up_image2']['size'])){
	$errors[] = sprintf(ERR_MSG_CONST_UPLOADED_DEL, 2);
}
//2枚目がないのに、3枚目フォームから投稿しようとしたとき
elseif($now_sum_image == 1 && array_sum($_FILES['up_image3']['size'])){
	$errors[] = sprintf(ERR_MSG_CONST_UPLOADED_CORRECTED, 2);
}
//既3枚目を削除せず、3枚目フォームから投稿しようとしたとき
if(!array_search(3, $del_image_array) && array_sum($_FILES['up_image3']['size'])){
	$errors[] = sprintf(ERR_MSG_CONST_UPLOADED_DEL, 3);
}				

とりあえず、このバリデーションでいこう。
あとは、それらが通ったときに、アップロードされた画像に対する
バリデーションも考えねば。
どの画像が投稿されたら、アップロードカウントを+1するとか
画像の合計サイズのチェックをするとか。
それが終わって初めて、削除、更新処理ができる。

ついに終わりが来るか?
早く終わってほしい。
7:21 2023/09/14

21:45 2023/09/14
残業を終え、今から開始です。

いままで,
いろいろな情報をhtmlのhiddenで送信していたが、
第三者からしたら丸見えでがばがばセキュリティなので、
$_SESSION等を利用して、必要最低限のデータしかhtml上に表示しないようにしよう。

DBに対して、クエリを発行し、そこからヒットした結果の行数をカウントしたい場合は
COUNT(*)を使用する

$sql = "SELECT COUNT(*) as cnt FROM table WHERE hoge=:hoge"
$stmt = $pdo->prepare($sql)
$stmt->execute(array('hoge'=>$hoge))
$result = $stmt->fetch(PDO::FETCH_ASSOC)

みたいな形で書き、php側でその結果を受け取ると
$result['cnt']
の形で受け取ることができる。
rowCount()もあるみたいだが、面倒だから、今回はこっち採用。

世の中の画像投稿できるサービスは、投稿の差し替えとか
どうやって判断しているのでしょうか。
出来たと思ったら、この場合アウトじゃないか、
みたいなこのような繰り返しがこの1週間で1万回繰り返されているような気がする。

先生にヘルプしました。
23:37 2023/09/14

Discussion