Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

PHP7で検索サイト作成

My SQLを使わない形での検索サイトの作り方を書きます。

少しPHPの習熟度が上がった人のための記事になります。

とはいっても、初心者からちょっと抜け出した、くらいの感じです。

作ったサイトのキャプチャを載せます。

2018-10-17 (7).png

まずはこんな感じでフォームを作って「デスザウラー」という文言を入力しました。

ソースコードはこちら。


<!doctype html>
<head>
<title>
Oct17
</title>
<style>
div,form{
background:pink;
width:160px;
}
</style>
</head>
<body>
<div class=form>
    <form action="POST17.php" method="POST">
        <p class="inputbox">
        <input type="text" name="sample">
        </p>
        <input type="submit" name="検索">
    </form>

</body>
</html>



</div>

本来、CSSは外部ファイルにしておくべきなのですが
今日は気分的に中に書きたかったというのがあるのでCSSを中に書きました。

そしてサーバーサイド側です。

<?php
$zoid = htmlspecialchars($_POST['sample'],ENT_QUOTES,"UTF-8");

$arr = array(
                "ウルトラザウルス",
                "セイバータイガー",
                "シールドライガー",
                "プテラス",
                "モルガ",
                "アイアンコング",
                "デスザウラー",
                "ブレードライガー",
                "デススティンガー",
                "ライトニングサイクス"



            );
        foreach($arr as $val){
                if($zoid == $val){
                echo $zoid;
    }

}

このように書きました。

foreach文とif文を使って書いた形になります。

本当はもっといい書き方があるはずなのですが

とりあえず、実装したものが動けばいいという意味合いで

コードを記述したので信頼性は低いものとなります。

また、配列の中身に該当したものがあったら表示させるよ

っていうような形のコードなので、本来ならPHP Data Objectで

コードを書いていくべきでしょう。

これを書いている間に出たエラーもキャプチャを取りましたので

情報共有させていただきます。

2018-10-17 (4).png

Parseエラーだったため、すぐに直すことができました。

Apache側のログを読み解いていってもよかったのですが

時間がかかりそうな気がしたのでブラウザにエラー表示させるようにしています。

最後に出力結果です。

2018-10-17 (6).png

また、進展がありましたら記事を書きます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?