LoginSignup
1
1

More than 3 years have passed since last update.

PHPでcsvファイルから商品一覧ページと商品詳細ページを作る

Last updated at Posted at 2020-06-04

希望内容

自社商品の情報はデータで管理してる。
ホームページがで自社商品を紹介したい。
でもネットショップを作るほどでもない。
簡単でいいのでホームページ上で自社商品を紹介できないか?
上記希望をPHPを使って実現する方法。

PHPコード

index.php
<?php

//csvデータを一行ずつ読み込みhtmlとして書き出す。
//画像は、imagesフォルダに「商品ID + .jpg」で保存しているとする。 
//商品画像をクリックで、GETにてprev.phpにIDを渡す。

if (($handle = fopen("product.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

echo <<<eof

<a href="prev.php?id={$data[0]}">
    <img src="images/{$data[0]}.jpg" />
</a>

eof;

    }
    fclose($handle);
}
?>
prev.php
<?php

//商品idをGETで取得し整数化する
$product_id = intval($_GET["id"]);

//csvデータを読み込み、idが一致したら商品を書き出し終了する
//csvにはid、商品タイトル、商品説明文の順番で入っているとする
if (($handle = fopen("product.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

if($product_id == $data[0]){

echo <<<eof
■商品ID<br />
{$data[0]}<br /><br />

■商品タイトル<br />
{$data[1]}<br /><br />

■商品画像<br />
<img src="images/{$data[0]}.jpg"><br /><br />

■商品説明文<br />
{$data[3]}<br /><br />
eof;

break;

}
    }
    fclose($handle);
}

?>

データベースは使わずテキストファイルなので編集も簡単。
レンタルサーバーからのバックアップも簡単。

疑問点

1.エラーページは作っておいた方が良い?

2.$product_id = intval($_GET["id"]);
これだけで無害化できている?

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1