「php13」の編集履歴(バックアップ)一覧はこちら
php13 - (2012/01/31 (火) 23:46:45) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
[[前のページ>php12]] < | > [[次のページ>php14]]
*(6) 簡単な掲示板を作ってみる
#co(){{
&color(#0000ff){&bold(){●まずPHPでMySQLサーバーに接続しよう。}}
↓を使うときはユーザ名、パスワード名を入力し直してください。
connect_test
<?php
$s=mysql_connect("localhost", "root", "1234") or die("失敗です");
print "成功しました";
mysql_close($s);
?>
&color(#0000ff){&bold(){●クエリを発行する}}
まず、データベース「db1」にテーブル「test3」を下記の構成で作成しておく。
|BGCOLOR(#c0c0c0):カラム名|BGCOLOR(#c0c0c0):データ型|
|id|VARCHAR(10)|
|name|VARCHAR(10)|
|age|INT|
また、下記のようにあらかじめレコードを登録しておく。
|BGCOLOR(#c0c0c0):id|BGCOLOR(#c0c0c0):name|BGCOLOR(#c0c0c0):age|
|1|佐藤|40|
|2|高橋|28|
|3|中川|20|
ここに、下記のデータをブラウザから挿入してみる。
|BGCOLOR(#c0c0c0):id|BGCOLOR(#c0c0c0):name|BGCOLOR(#c0c0c0):age|
|N4|鈴木|2|
test3.php :レコード挿入後にすぐデータを表示させる機能も。
<?php
$s=mysql_connect("localhost","root","1234") or die("失敗です");
print "成功しました<br><br>";
mysql_select_db("db1", $s);
mysql_query("insert into test3 values('N4','鈴木','2')");
$re=mysql_query("select * from test3");
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print ":";
print $kekka[1];
print ":";
print $kekka[2];
print "<br>";
}
mysql_close($s);
?>
&color(#0000ff){&bold(){●nl2br関数}}
<?php
$str=<<<eot
こんにちは
こんばんは
eot;
print $str;
?>
結果)
>こんにちはこんばんは
↓
改行を再現するためにnl2br関数を使う。
<?php
$str=<<<eot
こんにちは
こんばんは
eot;
print nl2br($str);
?>
結果)
>こんにちは
>こんばんは
※<textarea>~</textarea>を使うときに活躍しそうです。
**ブラウザからPHPデータを送受信する
&bold(){データの送り側}
>okuri.html
>テキストボックスに入力した文字列を、送信ボタンで送信する。
&bold(){データの受け側}
>uke.php
>受信したデータをそのまま表示する。
&color(#0000ff){&bold(){●okuri.html}}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="ja">
<title>
okuri.html
</title>
</head>
<body bgcolor='skyblue'>
<form action="uke.php" method="post">
<input type="text" name="a">
<br>
<input type="submit" value="送信">
</form>
</body>
</html>
&color(#0000ff){&bold(){●uke.php}}
<?php
print $_POST["a"];
?>
&color(#0000ff){&bold(){●送信してみよう}}
+ [[http://localhost/okuri.html>http://localhost/okuri.html]] に接続する。
+ 文字列を入力し、送信ボタンをクリック。
+ uke.phpに切り替わり、送信した内容が表示される。
**データ送信の方式
&color(#0000ff){&bold(){●「POST」と「GET」}}
&bold(){post送信}
データはURLにつけない
送信できるデータはテキストとバイナリの両方が可能
&bold(){get送信}
URLにつけてデータを送る
データを見られるため、不正なデータを送信されるおそれがある
送信できるデータはテキストのみ
何も宣言しなければgetメソッドが使われる。
**ラジオボタンの例
&color(#0000ff){&bold(){●radio.php :データの送り側}}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="ja">
<title>
radio.php
</title>
</head>
<body bgcolor='skyblue'>
<form action="radio_uke.php" method="post">
あなたの年齢を選択して、送信ボタンをクリックしてください。<br>
<?php
$i=1;
$c=1;
while($i<=100){
print "<input type='radio' name='r' value='$i'>$i ";
if($c==100){
print "<br>";
$c=0;
}
$i++;
$c++;
}
?>
<input type="submit" value="送信">
</form>
</body>
</html>
&color(#0000ff){&bold(){●radio_uke.php :データの受け側}}
<?php
print "あなたの年齢は".$_POST["r"]."歳です。";
?>
&color(#0000ff){&bold(){●実行してみよう。}}
+ ブラウザから[[http://localhost/radio.php>http://localhost/radio.php]]へ接続する。
+ ボタンで数字を選んで送信ボタンをクリックする。
+ radio_uke.phpにデータが送信されました。
&color(#0000ff){&bold(){●switch文}}
<?php
switch(date("G")){
case 10:
print "10時です。休憩しましょう。";
break;
case 15:
print "15時です。おやつです。";
break;
default:
print "仕事を続けてください。";
}
?>
結果)
>10時のとき 10時です。休憩しましょう。
>15時のとき 15時です。おやつです。
>その他の時間 仕事を続けてください。
**配列
&color(#0000ff){&bold(){●一次元配列1}}
<?php
$m=array("おやすみ","おはよう","こんにちは","こんばんは");
if(date("G")>=18){
print $m[3];
}elseif(date("G")>=12){
print $m[2];
}elseif(date("G")>=6){
print $m[1];
}else{
print $m[0];
}
?>
結果)
>※「if文2」の結果と一緒
&color(#0000ff){&bold(){●一次元配列2}}
<?php
$t["eng"]=73;
$t["math"]=84;
$t["japa"]=68;
print "合計点は:";
print $t["eng"]+$t["math"]+$t["japa"];
?>
結果)
>225
}}
※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。
----
#center(){[[前のページ>php12]] < | > [[次のページ>php14]]}
#center(){◆ ◆ ◆}
----
[[前のページ>php1n]] < | > [[次のページ>php14]]
*(6) 簡単な掲示板を作ってみる
#co(){{
&color(#0000ff){&bold(){●まずPHPでMySQLサーバーに接続しよう。}}
↓を使うときはユーザ名、パスワード名を入力し直してください。
connect_test
<?php
$s=mysql_connect("localhost", "root", "1234") or die("失敗です");
print "成功しました";
mysql_close($s);
?>
&color(#0000ff){&bold(){●クエリを発行する}}
まず、データベース「db1」にテーブル「test3」を下記の構成で作成しておく。
|BGCOLOR(#c0c0c0):カラム名|BGCOLOR(#c0c0c0):データ型|
|id|VARCHAR(10)|
|name|VARCHAR(10)|
|age|INT|
また、下記のようにあらかじめレコードを登録しておく。
|BGCOLOR(#c0c0c0):id|BGCOLOR(#c0c0c0):name|BGCOLOR(#c0c0c0):age|
|1|佐藤|40|
|2|高橋|28|
|3|中川|20|
ここに、下記のデータをブラウザから挿入してみる。
|BGCOLOR(#c0c0c0):id|BGCOLOR(#c0c0c0):name|BGCOLOR(#c0c0c0):age|
|N4|鈴木|2|
test3.php :レコード挿入後にすぐデータを表示させる機能も。
<?php
$s=mysql_connect("localhost","root","1234") or die("失敗です");
print "成功しました<br><br>";
mysql_select_db("db1", $s);
mysql_query("insert into test3 values('N4','鈴木','2')");
$re=mysql_query("select * from test3");
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print ":";
print $kekka[1];
print ":";
print $kekka[2];
print "<br>";
}
mysql_close($s);
?>
&color(#0000ff){&bold(){●nl2br関数}}
<?php
$str=<<<eot
こんにちは
こんばんは
eot;
print $str;
?>
結果)
>こんにちはこんばんは
↓
改行を再現するためにnl2br関数を使う。
<?php
$str=<<<eot
こんにちは
こんばんは
eot;
print nl2br($str);
?>
結果)
>こんにちは
>こんばんは
※<textarea>~</textarea>を使うときに活躍しそうです。
**ブラウザからPHPデータを送受信する
&bold(){データの送り側}
>okuri.html
>テキストボックスに入力した文字列を、送信ボタンで送信する。
&bold(){データの受け側}
>uke.php
>受信したデータをそのまま表示する。
&color(#0000ff){&bold(){●okuri.html}}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="ja">
<title>
okuri.html
</title>
</head>
<body bgcolor='skyblue'>
<form action="uke.php" method="post">
<input type="text" name="a">
<br>
<input type="submit" value="送信">
</form>
</body>
</html>
&color(#0000ff){&bold(){●uke.php}}
<?php
print $_POST["a"];
?>
&color(#0000ff){&bold(){●送信してみよう}}
+ [[http://localhost/okuri.html>http://localhost/okuri.html]] に接続する。
+ 文字列を入力し、送信ボタンをクリック。
+ uke.phpに切り替わり、送信した内容が表示される。
**データ送信の方式
&color(#0000ff){&bold(){●「POST」と「GET」}}
&bold(){post送信}
データはURLにつけない
送信できるデータはテキストとバイナリの両方が可能
&bold(){get送信}
URLにつけてデータを送る
データを見られるため、不正なデータを送信されるおそれがある
送信できるデータはテキストのみ
何も宣言しなければgetメソッドが使われる。
**ラジオボタンの例
&color(#0000ff){&bold(){●radio.php :データの送り側}}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="ja">
<title>
radio.php
</title>
</head>
<body bgcolor='skyblue'>
<form action="radio_uke.php" method="post">
あなたの年齢を選択して、送信ボタンをクリックしてください。<br>
<?php
$i=1;
$c=1;
while($i<=100){
print "<input type='radio' name='r' value='$i'>$i ";
if($c==100){
print "<br>";
$c=0;
}
$i++;
$c++;
}
?>
<input type="submit" value="送信">
</form>
</body>
</html>
&color(#0000ff){&bold(){●radio_uke.php :データの受け側}}
<?php
print "あなたの年齢は".$_POST["r"]."歳です。";
?>
&color(#0000ff){&bold(){●実行してみよう。}}
+ ブラウザから[[http://localhost/radio.php>http://localhost/radio.php]]へ接続する。
+ ボタンで数字を選んで送信ボタンをクリックする。
+ radio_uke.phpにデータが送信されました。
&color(#0000ff){&bold(){●switch文}}
<?php
switch(date("G")){
case 10:
print "10時です。休憩しましょう。";
break;
case 15:
print "15時です。おやつです。";
break;
default:
print "仕事を続けてください。";
}
?>
結果)
>10時のとき 10時です。休憩しましょう。
>15時のとき 15時です。おやつです。
>その他の時間 仕事を続けてください。
**配列
&color(#0000ff){&bold(){●一次元配列1}}
<?php
$m=array("おやすみ","おはよう","こんにちは","こんばんは");
if(date("G")>=18){
print $m[3];
}elseif(date("G")>=12){
print $m[2];
}elseif(date("G")>=6){
print $m[1];
}else{
print $m[0];
}
?>
結果)
>※「if文2」の結果と一緒
&color(#0000ff){&bold(){●一次元配列2}}
<?php
$t["eng"]=73;
$t["math"]=84;
$t["japa"]=68;
print "合計点は:";
print $t["eng"]+$t["math"]+$t["japa"];
?>
結果)
>225
}}
※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。
----
#center(){[[前のページ>php1n]] < | > [[次のページ>php14]]}
#center(){◆ ◆ ◆}
----