• ベストアンサー

検索サイトでのPHPの作り方について

検索サイトをPHPで作ろうとしています。HTMLすら完全な初心者です。たとえば、index.phpで <form method="post" action="search.php"> ・・・ という風に記述するところまで分かりましたが、search.phpの作り方が分からず困っています。データをsearch.phpに送って、どのようにプログラミングすればいいのか悩んでいます。つまり、search.phpの中身が以下とすると、云々のところが分かりません。 ------------ <?php 云々 ?> ------------ ここは基本的にはどのように記述すればいいのでしょうか?あるいはサンプルとかどこかで公開していたり、初心者に分かるようなサイトとかあるでしょうか?初歩的な質問ですみません。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

<?php //Googleを使うイレギュラーな回答。 if (!isset($_GET['keyword'])) { echo '<form method="get" action="">'; echo '<p>検索語句を入力してくだしあ。</p>'; echo '<input type="text" name="keyword" value="">'; echo '<input type="submit" value="検索">'; echo '</form>'; } else { $site = urlencode('site:' . $_SERVER['HTTP_HOST']); $keyword = trim($_GET['keyword']); if (get_magic_quotes_gpc()) { $keyword = stripslashes($keyword); } $keyword = urlencode($keyword); $query = 'hl=ja&q=' . $site . ' ' . $keyword; $url = 'http://www.google.co.jp/search?' . $query; header('Location: ' . $url); }

tore_lov
質問者

お礼

ありがとうございました! 参考にさせていただきます!

その他の回答 (1)

回答No.1

actionの先がsearch.phpという事は何かを検索するようなPHPでしょうか? だとするとPHPだけでは非効率なだけでなく難しいと思います。 のでDB(無料のMySQLあたり)と一緒に学ぶと良いでしょう。 http://php5.seesaa.net/ http://mysqlweb.net/

tore_lov
質問者

お礼

ありがとうございました! 参考にさせていただきます!

関連するQ&A

  • phpについて 入力ホーム

    ホームページ php 入力ホームについて 初心者です。 HTML内に入力ホームに関するphpページを指定したいのですが <form action="form1.php" method="post">は指定できましたが、もう一つ<form action="form3.php" method="post">も指定したいくて、下のコードを書き込んだのですが、 <form action="form1.php" method="post"> <form action="form3.php" method="post"> 以下のようなエラーメッセージが出ます タグ<form>内に< form>を含むことができません。 どうしたら良いでしょうか?

    • 締切済み
    • PHP
  • PHP_SELFについて

    お世話になります。 <form method=post action=   >のACTIONの記述に、 1)$PHP_SELF 2){$_SERVER['PHP_SELF']} という記述をフリー配布のPHP内によく見かけるのですが、 これの違いは何でしょうか? 教えて下さい。

    • ベストアンサー
    • PHP
  • PHPとHTMLについて質問です。

    PHPとHTMLについて質問です。 PHP内に以下の記述をしています。 ~略~ <form id="form1" name="form1" method="post" action="bschat.php"> <h1>各種設定を行ってください</h1> ~略~ 上記の1行目で予期せぬエラーが表示されていますとエラー表示されています。 これらを表示するにはどうすればいいですか?

    • ベストアンサー
    • PHP
  • PHPのサイト内検索の結果をCSVに書き出すには

    Webサイトのサイト内検索が、どれくらい使用されているか調べるため、 検索結果をCSVで書き出したいと考えております。 php初心者のため、苦戦しております。 詳しい方がいらっしゃいましたら、ご教示ください。 サイトはCodeIgniter(コードイグナイター)を使用しており、PHP5.3.3です。 サイト内検索の仕組みは、form actionを使用しており、 htmlに記載のコードは以下です。 ------------------------------------------------------------------------------------------------------- <form action="search.php" method="get" data-form-id="keyword_webcode-search"> <input name="keyword_webcode" type="text" value="" rel="キーワード検索出来ます。"><br> <input type="submit" value="データを送信"> </form> ------------------------------------------------------------------------------------------------------ データ送信先のsearch.phpに書き出すためのコードを追加しておりますが、 何も起こりません。 コードを追加するファイルが間違っているのでしょうか? 追加したコードは以下です。 ------------------------------------------------------------------------------------------------------- $csv = fopen('file.csv', 'a'); fputcsv($csv, $ShiftJIS); fclose($csv); ------------------------------------------------------------------------------------------------------- 色々試してみましたが、うまく行かず行き詰まっています。 どなたかアドバイスいただければと思います。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHP 引数の使い方

    PHPファイルどうしで引数を共有する方法を教えてください。 例えば、 「sample001.php」では、 <form action="sample002.php" method="post"> <input type="text" name="word" size="30"> <input type="submit" value="登録"> のタグによって文字列を入力し登録します。 「sample002.php」では、 $arr_word = $_POST["word"]; により、入力された文字列が“$arr_word”に格納されます。 「sample003.php」でも 入力された文字列を使いたい場合は、どうすればよいですか? “$arr_word” もしくは $_POST["word"] もしくは action="sample003.php"  を活用することでできるのでしょうか? PHPはまだまだ初心者です。教えてください。

    • ベストアンサー
    • PHP
  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでの検索

    初心者です。 ネットもさがしてみたのですが下記の意味がイマイアチわかりません。 <form name="form2" action="search.php" method="post"> <input type="text" name="keyword" size="25" value="<?= $keyword ?>"> <input type="submit" name="search" value="検索"><br /> <input type="radio" checked name="searchSelect" value="AND">AND  <input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect" value="OR">OR </form> (1)<form name="form2" action="search.php" method="post"> 検索ボタンを押すと「action="search.php"」が起動します。  どういう仕組みなのでしょうか。 (2) <input type="text" name="keyword" size="25" value="<?= $keyword ?>">  作者の説明で、  『前の画面でテキストボックスに入力した値を、デフォルトで表示しています。  <input type="text" name="keyword" size="25" value="<?= $keyword ?>">』  となっていますが、value="<?= $keyword ?>"でなぜそうなるのでしょうか。  また、<?= $keyword ?>の<?= ?>構文はどのような機能があるのでしょうか。 (3)<input type="radio" checked name="searchSelect" value="AND">AND  「value="AND">AND」の右側の「AND]はどういう意味でしょうか。 (4)<input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect" value="OR">OR  作者の説明で、  『(6)前の画面でORラジオボタンが選択されていた場合は、選択(checked)します。  <input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect"  value="OR">OR』  とありますが、<?= ($searchSelect == "OR")? "checked" : "" ?>でなぜそういうことができているのでしょうか。  また、『"checked" : 』の『:』は何の役目をしているのでしょうか。 上記4つの質問でどれでもいいですのでどなたかお教え願えないでしょうか。

    • 締切済み
    • PHP
  • 【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit

    【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit)の扱いについて どのカテゴリで質問しようか迷いましたがこちらで・・・。 今回は画像を使用して質問します。 今回はHTML(PHP使用)に関しての質問なのですが、 図にあるように、※1をクリックすると、その次のページにA,Bの情報がPOSTで次のページに送信されるようにしています。 ここで、※2にも同じように、A,Bの情報をPOSTで次のページに送信したいのですが、 何故かPOSTで送信されないみたいなのです。 どうにかして※2も※1と同じようにPOSTを送信したいのです。 別の質問サイトで、「押されたsubmitがどれかによって処理を分岐させる」と回答が帰ってきたのですが、javascript無しのPHPだけで以上のことができるのでしょうか? なお、HTMLのFORMタグは入れ子にしていませんし、 POST受け取り先の.phpも問題はありません。 以下、HTMLのform、input部分のソース ※1のフォームタグ内容 <form action="search.php" method="post" name ="search"> ※1ボタンの内容 <input type="submit" name="searching" value="再検索"> ※2のフォームタグ内容 <form action="result.php" method="post" name ="res"> ※2ボタンの内容 <input type="submit" name="result" value="結果表示"> まとめとして、 押されたsubmitがどれかによって処理を分岐させる方法を、 javascriptではなく、PHPのみで実装させたいのです。 どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • formとactionとmethodについて

    初心者的な質問で申し訳ないのですが、 formを複数作りたい場合、メソッドをpost/get別々に指定したり、actionを別々のリンクを指定とかって出来たりするんでしょうか。 <form action="next.php" method="post">inputとか</form> <form action="prev.tpl" method="get">hiddenとか</form> 見たいな感じで、それぞれが別々、若しくは <form action="next.php" method="post">inputとか</form> <from action="next.php" method="get">inputとか</form> 見たいな感じで、リンク先は一緒だけどメソッドは違う等の指定方法を教えていただければと思います。 もし、指定出来ることは出来るが、javascriptで制御しなけらばならない等あるのでしたら、 その記述例等も一緒に教えて頂けると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで求めた変数をHTMLで使う方法

    HTMLのformタグで与えた引数を元に、ある値をPHPで求めた後、その求めた変数をHTMLに戻って使う方法をご教授下さい。 例えば、 index.html ↓↓↓ <form action="submit.php" method="post"> <input type="text" name="xxxxx"> <input type="text" name="yyyyy"> <input tyoe="submit" value="実行"> </form> <textarea name="answer"> 実行後ここに、下のPHPで求めた$zzzzzを表示したい。 </textarea> 上のHTMLでxxxxxとyyyyyを入力して実行ボタンを押します。 そしてPHP側は、 submit.php  ↓↓↓ $zzzzz = $_POST["xxxxx"] . "は、" . $_POST["yyyyy"] . "です。"; このように求めた$zzzzzを上のHTMLに戻って表示したいのですが、しばらく調べてみても見つかりませんでした。 どなたかご教授下さい、お願いします。