=> 山内の授業のページ

アクセス数 613  このページの最終更新 2016-04-06 (水) 13:28:04

プロジェクト 山内担当分  

タイトル: PHP言語を用いて、サービス提供型のホームページを作る

概要: 例えば情報検索やオンラインショッピングのサイトなど、サーバーが何らかの計算や処理の結果を送り出すようなホームページサイトがあります。サーバーがユーザからの入力を受け取って計算処理をし、結果を表示するようなホームページサイトを企画し、構築します。
新しいサービスのサイト、役に立つサイトなど、工夫を凝らしてください。

>>> 2013-06-23 ≪こんなまとめサイトがあった≫ 【自分でも作れる!】プログラミング初心者が作ったWebサービス8選

実施方法:
2年生と3年生の合同プロジェクトとして運営します。学年の違う仲間と混成チームを組んで、協力・助け合って1つの作品を仕上げて下さい。いろいろと不都合も起こるかもしれませんが、是非みんなで協力して有意義な時間にしましょう。
第1回に4名(2年が2名+3年が2名)ずつのグループに分けます。

全7回は次のように使う予定です。

   2年のグループ3
3年のグループ2
2年のグループ4
3年のグループ1
第1回4/086/03プロジェクトの概要説明、基本知識の学習(1)
第2回4/156/10基本知識の学習(2)
第3回4/226/17基本知識の学習(3)、サイトデザイン
第4回5/066/24サイトデザインまとめと発表、製作(1)
第5回5/137/01製作(2)
第6回5/207/08製作(3)
第7回5/277/15プロジェクト発表

基本知識のための資料 (最終更新 2016-04-06)

回別ファイル(上記と同じものを回に分けたファイル)

その他

おまけの資料

セッション管理

ファイルをアップロードする

写真などをアップロードする方法には、いくつかありえる。

PHPに引数を渡す

HTMLページのURLの後ろに"?"を付けて、引数を書くことができる。
たとえば、http://********.php?name=alphaとかhttp://*******.php?param=hogehogeとか。 このURLによって起動されるページ(phpプログラム)から、alphaなりhogehogeなりを読み出すことができる。具体的には、システムで定義される変数_GET["name"]にalphaが入っていたり、_GET["param"]にhogehogeが入っていたりするので(PHPマニュアルのここ参照) 、それを読み出せばよい。

これを使って、こんなことができる。

   ファイル screen1.php
<?php
  print('<html> <body>');
  for ($i=0; $i<4; $i++) {
    print('<a href="screen2.php?num=' . $i . '">button' . $i . '</a></br>');
  }
  print(' </body> </html>');
?>


   ファイル screen2.php (クリックで飛ぶ先)
<?php
  print('<html><body>');
  print('This is Screen ' . $_GET["num"]);
  print('</body></html>');
?>


parameter1.JPG

screen1を実行すると、右の画面が得られる。選択肢としてループで4つの選択肢button0〜3を書いている。

この中から、たとえばbutton2をクリックすると、URL "screen2.php?num=2" をアクセスしようとする。これは、ファイルscreen2.phpを起動すると同時に、引数としてキーワードnumの引数の値2を与えている。

呼び出されたscreen2.phpで、$_GET["num"] によって引数を抽出すると、値2が読めるので、画面に This is Screen 2 のように表示できる。

parameter2.JPG

ページ間のデータの受け渡しの便法 (2013-05-24)

HTTP/HTMLでは、異なるページの間では変数を参照することができない。だから、あるページで使ったデータをほかのページでも使いたいときは、データベースに書き込むなどする必要がある。

それほど大げさでないとき、ちょっとデータを渡したい、というときに使える便法がいくつか作られている。その1つに、HIDDEN属性を持ったINPUTフィールドがある。(このほかの方法は自分で探してほしい。)

たとえば、「このページ」にHIDDENの説明がある。

具体的には次のようにすればできる。まず、次のような myhidden.html があるとしよう。

<HTML>
<HEAD><TITLE>Hallo</TITLE></HEAD>
<BODY>
<FORM action="myhidden.php" method="post">
 <input type="text" name="xyz" value="hallo">
 <input type="hidden" name="wxy" value="3.1416">
 <input type="submit" name="submit" value="SEND">
</FORM>
</BODY>
</HTML>

5行目の <input type="text" name="xyz" value="hallo"> は普通のテキスト入力行だが、
6行目の <input type="hidden" name="wxy" value="3.1416"> は type="hidden" としてある、HIDDEN入力である。

これは、画面には表示されないが、入力の行としては存在しており、submitボタンで送信したとき name="wxy" でアクセスすることができる。また、値を value="3.1416" という文字列に初期設定している。

このページの submit ボタンによって起動されるプログラム myhidden.php を次のようにしておく。

<?php
  $str = $_POST["xyz"];
  print($str . "<br>");
  $hiddenstring = $_POST["wxy"];
  print("Hidden string is " . $hiddenstring . "<br>");
?>

ここでは、2行目の POST["xyz"] では通常のテキスト入力を名前"xyz"で受け取っているが、
4行目の POST["wxy"] でHIDDEN入力を名前"wxy"で受け取っている。"wxy"は表示したときに初期値 value="3.1416" に初期化しているので、受け取る値は "3.1416" である。

このようにすると、前の画面 myhidden.html から、次の画面 myhidden.php へ、3.1416というデータを渡すことができる。

一般には、渡す値は定数ではなくて変数なので、前の画面 myhidden.html のようにHTMLファイルではなくて、むしろ PHPファイル(プログラム)として、print文で1行ずつプリントして画面を作ることになるだろう。たとえば、

<?php
 $pi = "3.1416";
 print('<HEAD><TITLE>Hallo</TITLE></HEAD>');
 print('<BODY>');
 print('<FORM action="myhidden.php" method="post">');
 print('  <input type="text" name="xyz" value="hallo">');
 print('  <input type="hidden" name="wxy" value="' . $pi . '">');
 print('  <input type="submit" name="submit" value="SEND">');
 print('</FORM>');
 print('</BODY>');
 print('</HTML>');
?>

のようにすることになるだろう。変数 $pi の値を受け渡していることになる。


添付ファイル: fileproj_summary.pdf 154件 [詳細] fileall.pdf 219件 [詳細] file第3回.pdf 581件 [詳細] file第2回.pdf 663件 [詳細] file第1回.pdf 631件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-06 (水) 13:28:04 (448d)