<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" >
  <channel>
  <title>おやっさんのWEBサイト制作への道</title>
  <link>http://oyassanb.blog.shinobi.jp/</link>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://oyassanb.blog.shinobi.jp/RSS/" />
  <description>WEBサイト制作ど素人のおやっさんが、HTML、CSS、PHPなど学んでいく技術ブログです。</description>
  <lastBuildDate>Fri, 30 Nov 2012 16:52:00 GMT</lastBuildDate>
  <language>ja</language>
  <copyright>© Ninja Tools Inc.</copyright>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />

    <item>
    <title>&lt;h1&gt;PHP022（FizzBuzz問題をPHPで解いてみました。）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>「1」から「100」まで数えていき、「3」の倍数は「Fizz」、「5」の倍数は「Buzz」と表示。「3」と「5」の公倍数は「Fizz Buzz」と表示する。らしいです。とりあえずやってみました。</p><hr />&lt;?php<br />
for ($i = 1; $i < 101; $i++){<br />
	if(($i%3 == 0) && ($i%5 == 0)){<br />
		echo '&lt;p&gt;&lt;font color="#0000FF"&gt;['.$i.']Fizz Buzz&lt;/font&gt;&lt;/p&gt;';<br />
	}elseif($i%3 == 0){<br />
		echo '&lt;p&gt;&lt;font color="#FF0000"&gt;['.$i.']Fizz&lt;/font&gt;&lt;/p&gt;';<br />
	}elseif($i%5 == 0){<br />
		echo '&lt;p&gt;&lt;font color="#00FF00"&gt;['.$i.']Buzz&lt;/font&gt;&lt;/p&gt;';<br />
	}else{<br />
		echo '&lt;p&gt;['.$i.']&lt;/p&gt;';<br />
	}<br />
}<br />
?&gt;<hr /><p>こんな感じで、たぶん、あってると思います。たぶんですけど。</p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php022%EF%BC%88fizzbuzz%E5%95%8F%E9%A1%8C%E3%82%92php%E3%81%A7%E8%A7%A3%E3%81%84%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%EF%BC%89--h1-</link>
    <pubDate>Fri, 30 Nov 2012 16:52:00 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/49</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP021（自作お問い合わせフォーム）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>とりあえず、お問い合わせフォーム的なものを、作ってみました。<br />これだとmaxlength効かないブラウザだと、わからないけど何か攻撃されるかもです。ソースを利用したり、改造して利用したりしても自由ですが、何かしら被害にあったときは自己責任でお願いします。</p><br />
<hr /><p>inquiry.html</p><hr /><p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="" /&gt;<br />
&lt;title&gt;お問い合わせフォーム&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="container"&gt;<br />
	&lt;div id="header"&gt;<br />
		&lt;h1&gt;TITLE&lt;/h1&gt;<br />
	&lt;/div&gt;&lt;!-- #header --&gt;<br />
	&lt;div id="contents"&gt;<br />
	&lt;h2&gt;★CONTACT&lt;/h2&gt;<br />
	&lt;form action="check_inquiry.php" method="POST"&gt;<br />
			&lt;table&gt;<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					お名前&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td>&gt;&lt;label&gt;姓　&lt;input type="text" name="fname" value="" maxlength="15" /&gt;&lt;/label&gt;<br />
				&lt;label&gt;名　&lt;input type="text" name="sname" value="" maxlength="15" /&gt;&lt;/label&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					カナ&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;label&gt;セイ&lt;input type="text" name="fkana" value="" maxlength="15" /&gt;&lt;/label&gt;<br />
					&lt;label&gt;メイ&lt;input type="text" name="skana" value="" maxlength="15" /&gt;&lt;/label&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					生年月日&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;label&gt;西暦&lt;input type="text" name="year" value="" maxlength="4" /&gt;年&lt;/label&gt;<br />
					&lt;label&gt;&lt;input type="text" name="month" value="" maxlength="2" /&gt;月&lt;/label&gt;<br />
					&lt;label>&lt;input type="text" name="day" value="" maxlength="2" /&gt;日&lt;/label&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					性別[必須]<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;label&gt;&lt;input type="radio" name="sex" value="男性"  checked="checked"/&gt;男性&lt;/label&gt;<br />
					&lt;label&gt;&lt;input type="radio" name="sex" value="女性" /&gt;女性&lt;/label&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					都道府県<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;select name="pref_name"&gt;<br />
						&lt;option value="秘密"&gt;秘密&lt;/option&gt;<br />
						&lt;option value="北海道"&gt;北海道&lt;/option&gt;<br />
						&lt;option value="青森県"&gt;青森県&lt;/option&gt;<br />
						&lt;option value="岩手県"&gt;岩手県&lt;/option&gt;<br />
						&lt;option value="宮城県"&gt;宮城県&lt;/option&gt;<br />
						&lt;option value="秋田県"&gt;秋田県&lt;/option&gt;<br />
						&lt;option value="山形県"&gt;山形県&lt;/option&gt;<br />
						&lt;option value="福島県"&gt;福島県&lt;/option&gt;<br />
						&lt;option value="茨城県"&gt;茨城県&lt;/option&gt;<br />
						&lt;option value="栃木県"&gt;栃木県&lt;/option&gt;<br />
						&lt;option value="群馬県"&gt;群馬県&lt;/option&gt;<br />
						&lt;option value="埼玉県"&gt;埼玉県&lt;/option&gt;<br />
						&lt;option value="千葉県"&gt;千葉県&lt;/option&gt;<br />
						&lt;option value="東京都"&gt;東京都&lt;/option&gt;<br />
						&lt;option value="神奈川県"&gt;神奈川県&lt;/option&gt;<br />
						&lt;option value="新潟県"&gt;新潟県&lt;/option&gt;<br />
						&lt;option value="富山県"&gt;富山県&lt;/option&gt;<br />
						&lt;option value="石川県"&gt;石川県&lt;/option&gt;<br />
						&lt;option value="福井県"&gt;福井県&lt;/option&gt;<br />
						&lt;option value="山梨県"&gt;山梨県&lt;/option&gt;<br />
						&lt;option value="長野県"&gt;長野県&lt;/option&gt;<br />
						&lt;option value="岐阜県"&gt;岐阜県&lt;/option&gt;<br />
						&lt;option value="静岡県"&gt;静岡県&lt;/option&gt;<br />
						&lt;option value="愛知県"&gt;愛知県&lt;/option&gt;<br />
						&lt;option value="三重県"&gt;三重県&lt;/option&gt;<br />
						&lt;option value="滋賀県"&gt;滋賀県&lt;/option&gt;<br />
						&lt;option value="大阪府"&gt;大阪府&lt;/option&gt;<br />
						&lt;option value="兵庫県"&gt;兵庫県&lt;/option&gt;<br />
						&lt;option value="奈良県"&gt;奈良県&lt;/option&gt;<br />
						&lt;option value="和歌山県"&gt;和歌山県&lt;/option&gt;<br />
						&lt;option value="鳥取県"&gt;鳥取県&lt;/option&gt;<br />
						&lt;option value="島根県"&gt;島根県&lt;/option&gt;<br />
						&lt;option value="岡山県"&gt;岡山県&lt;/option&gt;<br />
						&lt;option value="広島県"&gt;広島県&lt;/option&gt;<br />
						&lt;option value="山口県"&gt;山口県&lt;/option&gt;<br />
						&lt;option value="徳島県"&gt;徳島県&lt;/option&gt;<br />
						&lt;option value="愛媛県"&gt;愛媛県&lt;/option&gt;<br />
						&lt;option value="高知県"&gt;高知県&lt;/option&gt;<br />
						&lt;option value="福岡県"&gt;福岡県&lt;/option&gt;<br />
						&lt;option value="佐賀県"&gt;佐賀県&lt;/option&gt;<br />
						&lt;option value="長崎県"&gt;長崎県&lt;/option&gt;<br />
						&lt;option value="熊本県"&gt;熊本県&lt;/option&gt;<br />
						&lt;option value="大分県"&gt;大分県&lt;/option&gt;<br />
						&lt;option value="宮崎県"&gt;宮崎県&lt;/option&gt;<br />
						&lt;option value="鹿児島県"&gt;鹿児島県&lt;/option&gt;<br />
						&lt;option value="沖縄県"&gt;沖縄県&lt;/option&gt;<br />
					&lt;/select&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					メールアドレス<br />
				&lt;/th><br />
				&lt;td><br />
					&lt;input type="text" name="mail" value="" maxlength="100" class="mail" /&gt;&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					ご意見・ご感想[必須]<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;textarea name="message" cols="80" rows="8" maxlength="500" class="message">&lt;/textarea&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
			&lt;/table&gt;<br />
			&lt;div id="sendButton"&gt;<br />
				&lt;input type="submit" value="内容の確認" /&gt;<br />
			&lt;/div&gt;<br />
		&lt;/form&gt;<br />
	&lt;/div&gt;&lt;!-- #contents --&gt;<br />
&lt;/div>&lt;!-- #container --&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p><hr /><p>check_inquiry.php</p><hr /><p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="" /&gt;<br />
&lt;title&gt;お問い合わせフォーム&lt;/title&gt;<br />
&lt;?php<br />
	$fname = $_POST['fname'];<br />
	$sname = $_POST['sname'];<br />
	$fkana = $_POST['fkana'];<br />
	$skana = $_POST['skana'];<br />
	$mail = $_POST['mail'];<br />
	$year = $_POST['year'];<br />
	$month = $_POST['month'];<br />
	$day = $_POST['day'];<br />
	$sex = $_POST['sex'];<br />
	$pref_name = $_POST['pref_name'];<br />
	$message = $_POST['message'];<br />
	<br />
	// エラー用FLAGを未記入の場合1にする<br />
	$flag = 0;<br />
<br />
	// 姓の確認<br />
	if(empty($fname)) {<br />
		$flag = 1;<br />
	}<br />
<br />
	// 名の確認<br />
	if(empty($sname)) {<br />
		$flag = 1;<br />
	}<br />
<br />
	// セイの確認<br />
	mb_regex_encoding("UTF-8"); <br />
<br />
	// セイが無記入の時<br />
	if(empty($fkana)){<br />
		$flag = 1;<br />
	}elseif<br />
	<br />
	// セイが全角カタカナでない時<br />
	(!mb_ereg("^[ァ-ヶー]+$", $fkana)){<br />
		$flag = 1;<br />
	}<br />
<br />
	// メイの確認<br />
	mb_regex_encoding("UTF-8"); <br />
	<br />
	// メイが無記入の時<br />
	if(empty($skana)){<br />
		$flag = 1;<br />
	}elseif<br />
	<br />
	// メイが全角カタカナでない時<br />
	(!mb_ereg("^[ァ-ヶー]+$", $skana)){<br />
		$flag = 1;<br />
	}<br />
<br />
	// 日付チェック<br />
	// 年が無記入の時<br />
	if(empty($year)){<br />
		$flag = 1;<br />
	}elseif<br />
	// 年が半角数字でない時<br />
	(isset($year)){<br />
		if(!preg_match('/^[0-9]+$/', $year)){<br />
			$flag = 1;<br />
		}<br />
	}<br />
<br />
	// 月が無記入の時<br />
	if(empty($month)){<br />
		$flag = 1;<br />
	}elseif<br />
	// 月が半角数字でない時<br />
	(isset($month)){<br />
		if(!preg_match('/^[0-9]+$/', $month)){<br />
			$flag = 1;<br />
		}<br />
	}<br />
				<br />
	// 日が無記入の時<br />
	if(empty($day)){<br />
		$flag = 1;<br />
	}elseif<br />
	// 日が半角英数でない時<br />
	(isset($day)){<br />
		if(!preg_match('/^[0-9]+$/', $day)){<br />
			$flag = 1;<br />
		}<br />
	}<br />
	<br />
	// 年月日が正しくない時<br />
	if(is_numeric($year) && is_numeric($month) && is_numeric($day)){<br />
		if(!checkdate($month,$day,$year)){<br />
			$flag = 1;<br />
		}else{<br />
	// 生年月日が正しい時<br />
			checkdate($month,$day,$year);<br />
		}<br />
	}<br />
	<br />
	// ご意見・ご感想がない時<br />
	if(empty($message)){<br />
			$flag = 1;<br />
	}<br />
?&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;div id="container"&gt;<br />
	&lt;div id="header"&gt;<br />
		&lt;h1&gt;TITLE&lt;/h1&gt;<br />
	&lt;/div&gt;&lt;!-- #header --&gt;<br />
	&lt;div id="contents"&gt;<br />
	&lt;h2&gt;★CONTACT&lt;/h2&gt;<br />
	&lt;?php<br />
		if($flag == 1){<br />
		echo '&lt;form action="check_inquiry.php" method="POST"&gt;<br />
			&lt;input type="hidden" name="fname" value="'.$fname.'" /&gt;<br />
			&lt;input type="hidden" name="sname" value="'.$sname.'" /&gt;<br />
			&lt;input type="hidden" name="fkana" value="'.$fkana.'" /&gt;<br />
			&lt;input type="hidden" name="skana" value="'.$skana.'" /&gt;<br />
			&lt;input type="hidden" name="year" value="'.$year.'" /&gt;<br />
			&lt;input type="hidden" name="month" value="'.$month.'" /&gt;<br />
			&lt;input type="hidden" name="day" value="'.$day.'" /&gt;<br />
			&lt;input type="hidden" name="mail" value="'.$mail.'" /&gt;<br />
			&lt;input type="hidden" name="sex" value="'.$sex.'" /&gt;<br />
			&lt;input type="hidden" name="pref_name" value="'.$pref_name.'" /&gt;<br />
			&lt;input type="hidden" name="message" value="'.$message.'" /&gt;<br />
			&lt;table border="1"&gt;<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					お名前&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;';	// 姓の確認<br />
					// 姓が空の時<br />
					if(empty($fname)){<br />
						echo '&lt;span class="warning"&gt;※姓を入力してください。&lt;/span&gt;';<br />
						echo '&lt;label&gt;姓　&lt;input type="text" name="fname" size="7" value="'.htmlspecialchars($fname, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}elseif<br />
					// 姓が正しい時	<br />
					(isset($fname)){<br />
						echo '&lt;label>姓　&lt;input type="text" name="fname" size="7" value="'.htmlspecialchars($fname, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}<br />
					<br />
					// 名の確認<br />
					// 名が空の時<br />
					if(empty($sname)){<br />
						echo '&lt;span class="warning"&gt;※名を入力してください。&lt;/span&gt;';<br />
						echo '&lt;label>名　&lt;input type="text" name="sname" size="7" value="'.htmlspecialchars($sname, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}elseif<br />
					// 名が正しい時<br />
					(isset($sname)){<br />
						echo '&lt;label&gt;名　&lt;input type="text" name="fname" size="7" value="'.htmlspecialchars($sname, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}<br />
				echo '&lt;tr&gt;<br />
				&lt;th&gt;<br />
					カナ&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;';<br />
					// セイの確認<br />
					mb_regex_encoding("UTF-8"); <br />
<br />
					// セイが無記入の時<br />
					if(empty($fkana)){<br />
						echo '&lt;span class="warning"&gt;※セイを入力してください。&lt;/span&gt;';<br />
						echo '&lt;label&gt;セイ&lt;input type="text" name="fkana" size="7" value="'.htmlspecialchars($fkana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}elseif<br />
					// セイが全角カタカナでない時<br />
					(!mb_ereg("^[ァ-ヶー]+$", $fkana)){<br />
						echo '&lt;span class="warning"&gt;※セイを全角カタカナを入力してください。&lt;/span&gt;';<br />
						echo '&lt;label&gt;セイ&lt;input type="text" name="fkana" size="7" value="'.htmlspecialchars($fkana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}elseif<br />
					// セイが全角カタカナの時<br />
					(mb_ereg("^[ァ-ヶー]+$", $fkana)){<br />
						echo '&lt;label&gt;セイ&lt;input type="text" name="fkana" size="7" value="'.htmlspecialchars($fkana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}<br />
					<br />
					// メイの確認<br />
					mb_regex_encoding("UTF-8"); <br />
	<br />
					// メイが無記入の時<br />
					if(empty($skana)){<br />
						echo '&lt;span class="warning"&gt;※メイを入力してください。&lt;/span&gt;';<br />
						echo '&lt;label>メイ&lt;input type="text" name="skana" size="7" value="'.htmlspecialchars($skana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}elseif<br />
	<br />
					// メイが全角カタカナでない時<br />
					(!mb_ereg("^[ァ-ヶー]+$", $skana)){<br />
						echo '&lt;span class="warning"&gt;※メイを全角カタカナで入力してください。&lt;/span&gt;';<br />
						echo '&lt;label&gt;メイ&lt;input type="text" name="skana" size="7" value="'.htmlspecialchars($skana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}elseif<br />
					// メイが全角カタカナの時<br />
					(mb_ereg("^[ァ-ヶー]+$", $skana)){<br />
						echo '&lt;label&gt;メイ&lt;input type="text" name="fkana" size="7" value="'.htmlspecialchars($skana, ENT_QUOTES).'" maxlength="15" /&gt;&lt;/label&gt;';<br />
					}	<br />
	<br />
<br />
				echo '&lt;tr&gt;<br />
				&lt;th&gt;<br />
					生年月日&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;';<br />
					// 日付チェック<br />
					// 年が無記入の時<br />
					if(empty($year)){<br />
						echo '&lt;p class="warning"&gt;※生まれた年を入力してください。&lt;/p&gt;';<br />
					}elseif<br />
					// 年が半角数字でない時<br />
					(isset($year)){<br />
						if(!preg_match('/^[0-9]+$/', $year)){<br />
							echo '&lt;p class="warning"&gt;※生まれた年を半角数字で入力してください。&lt;/p&gt;';<br />
						}<br />
					}<br />
<br />
					// 月が無記入の時<br />
					if(empty($month)){<br />
						echo '&lt;p class="warning"&gt;※生まれた月を入力してください。&lt;/p&gt;';<br />
					}elseif<br />
					// 月が半角数字でない時<br />
					(isset($month)){<br />
						if(!preg_match('/^[0-9]+$/', $month)){<br />
							echo '&lt;p class="warning"&gt;※生まれた月を半角数字で入力してください。&lt;/p&gt;';<br />
						}<br />
					}<br />
				<br />
					// 日が無記入の時<br />
					if(empty($day)){<br />
						echo '&lt;p class="warning"&gt;※生まれた日を入力してください。&lt;/p&gt;';<br />
					}elseif<br />
					// 日が半角英数でない時<br />
					(isset($day)){<br />
						if(!preg_match('/^[0-9]+$/', $day)){<br />
							echo '&lt;p class="warning"&gt;※生まれた日を半角数字で入力してください。&lt;/p&gt;';<br />
						}<br />
					}<br />
	<br />
					// 年月日が正しくない時<br />
					if(is_numeric($year) && is_numeric($month) && is_numeric($day)){<br />
						if(!checkdate($month,$day,$year)){<br />
							echo '&lt;p class="warning"&gt;※正しい生年月日を入力してください。&lt;/p&gt;';<br />
						}else{<br />
	// 生年月日が正しい時<br />
							checkdate($month,$day,$year);<br />
						}<br />
					}<br />
					echo '&lt;label&gt;西暦&lt;input type="text" name="year" value="'.htmlspecialchars($year, ENT_QUOTES).'" maxlength="4" /&gt;年&lt;/label&gt;<br />
					&lt;label&gt;&lt;input type="text" name="month" value="'.htmlspecialchars($month, ENT_QUOTES).'" maxlength="2" /&gt;月&lt;/label&gt;<br />
					&lt;label&gt;&lt;input type="text" name="day" value="'.htmlspecialchars($day, ENT_QUOTES).'" maxlength="2" /&gt;日&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
	<br />
				echo '&lt;tr&gt;<br />
				&lt;th&gt;<br />
					性別&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;';<br />
					if($sex ==  '男性'){<br />
						echo '&lt;label&gt;&lt;input type="radio" name="sex" value="男性" checked="checked" /&gt;男性&lt;/label&gt;<br />
						&lt;label&gt;&lt;input type="radio" name="sex" value="女性" /&gt;女性&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}elseif($sex == '女性'){<br />
						echo '&lt;label&gt;&lt;input type="radio" name="sex" value="男性" /&gt;男性&lt;/label&gt;<br />
						&lt;label&gt;&lt;input type="radio" name="sex" value="女性" checked="checked" /&gt;女性&lt;/label&gt;&lt;/td&gt;&lt;/tr&gt;';<br />
					}<br />
<br />
 				echo '&lt;tr&gt;<br />
				&lt;th&gt;<br />
					都道府県<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;select name="pref_name"&gt;<br />
						&lt;option&gt;'.htmlspecialchars($pref_name, ENT_QUOTES).'&lt;/option&gt;<br />
						&lt;option value="秘密"&gt;秘密&lt;/option&gt;<br />
						&lt;option value="北海道"&gt;北海道&lt;/option&gt;<br />
						&lt;option value="青森県"&gt;青森県&lt;/option&gt;<br />
						&lt;option value="岩手県"&gt;岩手県&lt;/option&gt;<br />
						&lt;option value="宮城県"&gt;宮城県&lt;/option&gt;<br />
						&lt;option value="秋田県"&gt;秋田県&lt;/option&gt;<br />
						&lt;option value="山形県"&gt;山形県&lt;/option&gt;<br />
						&lt;option value="福島県"&gt;福島県&lt;/option&gt;<br />
						&lt;option value="茨城県"&gt;茨城県&lt;/option&gt;<br />
						&lt;option value="栃木県"&gt;栃木県&lt;/option&gt;<br />
						&lt;option value="群馬県"&gt;群馬県&lt;/option&gt;<br />
						&lt;option value="埼玉県"&gt;埼玉県&lt;/option&gt;<br />
						&lt;option value="千葉県"&gt;千葉県&lt;/option&gt;<br />
						&lt;option value="東京都"&gt;東京都&lt;/option&gt;<br />
						&lt;option value="神奈川県"&gt;神奈川県&lt;/option&gt;<br />
						&lt;option value="新潟県"&gt;新潟県&lt;/option&gt;<br />
						&lt;option value="富山県"&gt;富山県&lt;/option&gt;<br />
						&lt;option value="石川県"&gt;石川県&lt;/option&gt;<br />
						&lt;option value="福井県"&gt;福井県&lt;/option&gt;<br />
						&lt;option value="山梨県"&gt;山梨県&lt;/option&gt;<br />
						&lt;option value="長野県"&gt;長野県&lt;/option&gt;<br />
						&lt;option value="岐阜県"&gt;岐阜県&lt;/option&gt;<br />
						&lt;option value="静岡県"&gt;静岡県&lt;/option&gt;<br />
						&lt;option value="愛知県"&gt;愛知県&lt;/option&gt;<br />
						&lt;option value="三重県"&gt;三重県&lt;/option&gt;<br />
						&lt;option value="滋賀県"&gt;滋賀県&lt;/option&gt;<br />
						&lt;option value="大阪府"&gt;大阪府&lt;/option&gt;<br />
						&lt;option value="兵庫県"&gt;兵庫県&lt;/option&gt;<br />
						&lt;option value="奈良県"&gt;奈良県&lt;/option&gt;<br />
						&lt;option value="和歌山県"&gt;和歌山県&lt;/option&gt;<br />
						&lt;option value="鳥取県"&gt;鳥取県&lt;/option&gt;<br />
						&lt;option value="島根県"&gt;島根県&lt;/option&gt;<br />
						&lt;option value="岡山県"&gt;岡山県&lt;/option&gt;<br />
						&lt;option value="広島県"&gt;広島県&lt;/option&gt;<br />
						&lt;option value="山口県"&gt;山口県&lt;/option&gt;<br />
						&lt;option value="徳島県"&gt;徳島県&lt;/option&gt;<br />
						&lt;option value="愛媛県"&gt;愛媛県&lt;/option&gt;<br />
						&lt;option value="高知県"&gt;高知県&lt;/option&gt;<br />
						&lt;option value="福岡県"&gt;福岡県&lt;/option&gt;<br />
						&lt;option value="佐賀県"&gt;佐賀県&lt;/option&gt;<br />
						&lt;option value="長崎県"&gt;長崎県&lt;/option&gt;<br />
						&lt;option value="熊本県"&gt;熊本県&lt;/option&gt;<br />
						&lt;option value="大分県"&gt;大分県&lt;/option&gt;<br />
						&lt;option value="宮崎県"&gt;宮崎県&lt;/option&gt;<br />
						&lt;option value="鹿児島県"&gt;鹿児島県&lt;/option&gt;<br />
						&lt;option value="沖縄県"&gt;沖縄県&lt;/option&gt;<br />
					&lt;/select&gt;<br />
				&lt;/td&gt;<br />
				&lt;/th&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					メールアドレス<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					&lt;input type="text"  name="mail" value="'.htmlspecialchars($mail, ENT_QUOTES).'" class="mail" /&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					ご意見・ご感想&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;';<br />
					// ご意見・ご感想が空の時<br />
					if(empty($message)){<br />
						echo '&lt;p class="warning"&gt;※必須項目です。&lt;/p&gt;';<br />
						echo '&lt;textarea name="message" cols="60" rows="8" maxlength="500"  class="message"&gt;'.htmlspecialchars($message, ENT_QUOTES).'&lt;/textarea&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;';<br />
					}elseif<br />
					// ご意見・ご感想が書かれている時<br />
					(isset($message)){<br />
						echo '&lt;textarea name="message" cols="60" rows="8" maxlength="500"  class="message"&gt;'.htmlspecialchars($message, ENT_QUOTES).'&lt;/textarea&gt;<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;';<br />
					}<br />
			echo '&lt;/table&gt;<br />
				&lt;div id="sendButton"&gt;<br />
					&lt;input type="submit" value="内容の送信" /&gt;<br />
				&lt;/div&gt;<br />
		&lt;/form&gt;	';<br />
		}elseif<br />
		// エラーがない時<br />
		($flag == 0){<br />
		echo '&lt;form action="send_inquiry.php" method="POST"&gt;<br />
			&lt;input type="hidden" name="fname" value="'.$fname.'" /&gt;<br />
			&lt;input type="hidden" name="sname" value="'.$sname.'" /&gt;<br />
			&lt;input type="hidden" name="fkana" value="'.$fkana.'" /&gt;<br />
			&lt;input type="hidden" name="skana" value="'.$skana.'" /&gt;<br />
			&lt;input type="hidden" name="year" value="'.$year.'" /&gt;<br />
			&lt;input type="hidden" name="month" value="'.$month.'" /&gt;<br />
			&lt;input type="hidden" name="day" value="'.$day.'" /&gt;<br />
			&lt;input type="hidden" name="mail" value="'.$mail.'" /&gt;<br />
			&lt;input type="hidden" name="sex" value="'.$sex.'" /&gt;<br />
			&lt;input type="hidden" name="pref_name" value="'.$pref_name.'" /&gt;<br />
			&lt;input type="hidden" name="message" value="'.$message.'" /&gt;<br />
			&lt;table border="1"&gt;<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					お名前&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.htmlspecialchars($fname, ENT_QUOTES).' '.htmlspecialchars($fname, ENT_QUOTES).<br />
				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
				<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					カナ&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.htmlspecialchars($fkana, ENT_QUOTES).' '. htmlspecialchars($skana, ENT_QUOTES).<br />
				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
				<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					生年月日&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;<br />
					西暦'.htmlspecialchars($year, ENT_QUOTES).'年'.htmlspecialchars($month, ENT_QUOTES).'月'.htmlspecialchars($day, ENT_QUOTES).'日<br />
				&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					性別&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.htmlspecialchars($sex, ENT_QUOTES).<br />
 				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					都道府県<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.htmlspecialchars($pref_name, ENT_QUOTES).		<br />
				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					メールアドレス<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.htmlspecialchars($mail, ENT_QUOTES).<br />
				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
	<br />
				&lt;tr&gt;<br />
				&lt;th&gt;<br />
					ご意見・ご感想&lt;sapn&gt;[必須]&lt;/sapn&gt;<br />
				&lt;/th&gt;<br />
				&lt;td&gt;'<br />
					.nl2br(htmlspecialchars($message, ENT_QUOTES)).<br />
				'&lt;/td&gt;<br />
				&lt;/tr&gt;<br />
			&lt;/table&gt;<br />
				&lt;div id="sendButton"&gt;<br />
					&lt;input type="submit" value="内容の送信" /&gt;<br />
				&lt;/div&gt;<br />
			&lt;/form&gt;';<br />
		}<br />
	?&gt;<br />
	&lt;/div&gt;&lt;!-- contents --&gt;<br />
&lt;/div&gt;&lt;!-- #container --&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p><hr /><p>send_inquiry.php</p><hr /><p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="" /&gt;<br />
&lt;title&gt;お問い合わせフォーム&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="container"&gt;<br />
	&lt;div id="header"&gt;<br />
		&lt;h1&gt;TITLE&lt;/h1&gt;<br />
	&lt;/div&gt;&lt;!-- #header --&gt;<br />
	&lt;div id="contents"&gt;<br />
	&lt;?php<br />
		// お問い合わせタイトル、詳細のセット<br />
		$fname = $_POST['fname'];<br />
		$sname = $_POST['sname'];<br />
		$fkana = $_POST['fkana'];<br />
		$skana = $_POST['skana'];<br />
		$mail = $_POST['mail'];<br />
		$year = $_POST['year'];<br />
		$month = $_POST['month'];<br />
		$day = $_POST['day'];<br />
		$sex = $_POST['sex'];<br />
		$pref_name = $_POST['pref_name'];<br />
		$message = $_POST['message'];<br />
		<br />
		// エラー用FLAGを未記入の場合1にする<br />
		$flag = 0;<br />
<br />
		// 姓の確認<br />
		if(empty($fname)) {<br />
			echo '&lt;p class="warning"&gt;※姓を入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}<br />
	<br />
				<br />
		// 姓の確認<br />
		if(empty($sname)) {<br />
			echo '&lt;p class="warning"&gt;※名を入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}<br />
<br />
		// セイの確認<br />
		mb_regex_encoding("UTF-8"); <br />
<br />
		// セイが無記入の時<br />
		if(empty($fkana)){<br />
			echo '&lt;p class="warning"&gt;※セイを入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}elseif<br />
	<br />
		// セイが全角カタカナでない時<br />
		(!mb_ereg("^[ァ-ヶー]+$", $fkana)){<br />
			echo '&lt;p class="warning"&gt;※セイを全角カタカナで入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}<br />
<br />
		mb_regex_encoding("UTF-8"); <br />
	<br />
		// メイが無記入の時<br />
		if (empty($skana)){<br />
			echo '&lt;p class="warning"&gt;※メイを入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}elseif<br />
	<br />
			// メイが全角カタカナでない時<br />
			(!mb_ereg("^[ァ-ヶー]+$", $skana)){<br />
			echo '&lt;p class="warning"&gt;※セイを全角カタカナで入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}<br />
		<br />
<br />
		// 日付チェック<br />
		// 年が無記入の時<br />
		if(empty($year)){<br />
			echo '&lt;p class="warning"&gt;※生まれた年を入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}elseif<br />
		// 年が半角数字でない時<br />
		(isset($year)){<br />
			if(!preg_match('/^[0-9]+$/', $year)){<br />
				echo '&lt;p class="warning"&gt;※生まれた年を半角数字で入力してください。&lt;/p&gt;';<br />
				$flag = 1;<br />
			}<br />
		}<br />
<br />
		// 月が無記入の時<br />
		if(empty($month)){<br />
			echo '&lt;p class="warning"&gt;※生まれた月を入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}elseif<br />
		// 月が半角数字でない時<br />
		(isset($month)){<br />
			if(!preg_match('/^[0-9]+$/', $month)){<br />
				echo '&lt;p class="warning"&gt;※生まれた月を半角数字で入力してください。&lt;/p&gt;';<br />
				$flag = 1;<br />
			}<br />
		}<br />
				<br />
		// 日が無記入の時<br />
		if(empty($day)){<br />
			echo '&lt;p class="warning"&gt;※生まれた日を入力してください。&lt;/p&gt;';<br />
			$flag = 1;<br />
		}elseif<br />
		// 日が半角英数でない時<br />
		(isset($day)){<br />
			if(!preg_match('/^[0-9]+$/', $day)){<br />
				echo '&lt;p class="warning"&gt;※生まれた日を半角数字で入力してください。&lt;/p&gt;';<br />
				$flag = 1;<br />
			}<br />
		}<br />
	<br />
		// 年月日が正しくないとき。<br />
		if(is_numeric($year) && is_numeric($month) && is_numeric($day)){<br />
			if (!checkdate($month,$day,$year)){<br />
				echo '&lt;p class="warning"&gt;※正しい生年月日を入力してください。&lt;/p&gt;';<br />
				$flag = 1;<br />
			}else{<br />
	// 生年月日が正しい時<br />
				checkdate($month,$day,$year);<br />
			}<br />
		}<br />
		<br />
		// ご意見・ご感想がない時<br />
		if(empty($message)){<br />
				echo '&lt;p class="warning"&gt;※ご意見・ご感想を入力してください。&lt;/p&gt;';<br />
				$flag = 1;<br />
		}<br />
	<br />
		// FLAGが0の時<br />
		if($flag == 0){<br />
		// 日本語(UTF-8)の指定<br />
		mb_language('ja');<br />
		mb_internal_encoding('UTF-8');<br />
<br />
		// FROMアドレスの設定（自動送信&lt;送信元のアドレス&gt;)<br />
		$header = 'From: '.mb_encode_mimeheader('送信者名的なものを入力してください。')."&lt;送信者のメールアドレス的なものを入力してください&gt;\nCC:&lt;なんかCCの人のメールアドレス的なものを入力してください。&gt;";<br />
<br />
		$message = "【ご意見・ご感想】\n".$message."\n【名前】\n".$fname.' '.$sname."\n【カナ】\n".$fkana.' '.$skana."\n【メールアドレス】\n".$mail."\n【生年月日】\n".$year.'年'.$month.'月'.$day."日\n【性別】\n".$sex."\n【都道府県】\n".$pref_name;<br />
	<br />
		// メール送信<br />
		$result = mb_send_mail("&lt;送信先のメールアドレスを入力してください。&gt;",'件名を入力してください。', $message, $header);<br />
<br />
		// メール送信の確認<br />
			if($result) {<br />
				// メール送信の成功<br />
				echo '&lt;p&gt;■送信しました。&lt;/p&gt;';<br />
<br />
			}else{<br />
				// メール送信の失敗<br />
				echo '&lt;p&gt;■送信に失敗しました。&lt;/p&gt;';<br />
 			}<br />
		}<br />
	?><br />
	&lt;/div&gt;&lt;!-- #contents --&gt;<br />
&lt;/div&gt;&lt;!-- #container --&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p><hr />]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php021%EF%BC%88%E8%87%AA%E4%BD%9C%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%EF%BC%89--h1-</link>
    <pubDate>Thu, 29 Nov 2012 10:25:10 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/48</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP020（会員制掲示板06 掲示板のデータを格納するテーブルの作成、ブラウザでの書き込みの閲覧まで）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>書き込んだデータをデータベースに保存するテーブルを作ります。コマンドプロントを開いていつものごとく入力しましょう。</p><hr />cd c:\xampp\mysql\bin（※ここのパスはXAMPPをインストールしたときデフォルトのままならこのパスです。）<br />
<br />
mysql -u sample_user -p<br />
<br />
sample_pass<br />
<br />
use sample_db;<br />
<br />
create table message_tb<br />
(message_id int(8) primary key auto_increment,<br />
message_title varchar(100),<br />
message varchar(500),<br />
user_name varchar(100),<br />
entry_date timestamp);<br />
<br />
describe message_tb;<hr /><p>↓次にinsert_message.phpを作ります。</p><hr />&lt;?php<br />
	// ログインチェック<br />
	require_once 'check_login_message.php';<br />
<br />
	// タイトル、メッセージ<br />
	$title = $_POST['title'];<br />
	$message = $_POST['message'];<br />
<br />
	// MySQLへの接続<br />
	$conn = mysql_connect('localhost','sample_user','sample_pass');<br />
<br />
	if($conn){<br />
		// データベースの選択<br />
		mysql_select_db('sample_db',$conn);<br />
		// データベースへ書き込むSQL文<br />
		$sql = 'INSERT INTO message_tb<br />
		(message_title,message,user_name)<br />
		VALUES<br />
		("'.$title.'","'.$message.'","'.$_SESSION['name'].'")';<br />
<br />
		// SQL文の実行<br />
		$query = mysql_query($sql,$conn);<br />
	}	<br />
?&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;title&gt;2京ちゃんねる&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;h1&gt;しょぼい掲示板【2京ちゃんねる】&lt;/h1&gt;<br />
	&lt;h2&gt;Login_user：&lt;?php echo $_SESSION['name']; ?&gt;&lt;/h2&gt;<br />
	&lt;hr /&gt;<br />
	&lt;a href='logout.php'&gt;【ログアウト】&lt;/a&gt;<br />
	&lt;hr /&gt;<br />
	&lt;h2&gt;■掲示板メニュー&lt;/h2&gt;<br />
	&lt;ul&gt;<br />
		&lt;li&gt;&lt;a href="menu_message.php"&gt;メニュー画面へ&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="write_message.php"&gt;メッセージを書く&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="show_message.php"&gt;メッセージを読む&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
	&lt;hr /&gt;<br />
	&lt;h2&gt;●メッセージを登録しました。&lt;/h2&gt;<br />
	&lt;hr /&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><p>これで掲示板に書き込めるようになりました。なにか書き込んでみてください。<br />何回か書き込んだら、コマンドプロントでuse sample_dbを表示させて</p><hr />select * from message_tb;<hr /><p>↑と入力しましょう。</p><p><a href="//oyassanb.blog.shinobi.jp/File/kakikomi.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353829778/" alt="書き込み確認" /></a><br />↑で文字化けしてますが書き込んだメッセージがデータベースに保存されたことがわかります。</p><hr /><p>次はデータベースに書き込んだメッセージをブラウザで表示させる為のshow_message.phpを作ります。↓</p><hr />&lt;?php<br />
	// ログインチェック<br />
	require_once 'check_login_message.php';<br />
<br />
	// MySQLへの接続<br />
	$conn = mysql_connect('localhost','sample_user','sample_pass');<br />
<br />
	if($conn){<br />
		// データベースの選択<br />
		mysql_select_db('sample_db',$conn);<br />
		// データベースからの取り出しSQL文<br />
		$sql = 'SELECT message_id,message_title,message,user_name,entry_date FROM message_tb ORDER BY message_id';<br />
<br />
		// SQL文の実行<br />
		$query = mysql_query($sql,$conn);<br />
	}	<br />
?><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;<br />
&lt;?php<br />
	require_once 'header.php';<br />
?&gt;<br />
	&lt;ul&gt;<br />
		&lt;li&gt;&lt;a href="menu_message.php"&gt;メニュー画面へ&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="write_message.php"&gt;メッセージを書く&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="show_message.php"&gt;メッセージを読む&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
	&lt;hr /&gt;<br />
	&lt;h2&gt;●メッセージ一覧&lt;/h2&gt;<br />
	&lt;table border="1"&gt;<br />
		&lt;tr bgcolor="#cccccc"&gt;<br />
			&lt;td&gt;ID&lt;/td&gt;<br />
			&lt;td&gt;タイトル&lt;/td&gt;<br />
			&lt;td&gt;メッセージ&lt;/td&gt;<br />
			&lt;td&gt;ユーザー&lt;/td&gt;<br />
			&lt;td&gt;登録日&lt;/td&gt;<br />
		&lt;/tr&gt;<br />
&lt;?php<br />
	// データの取り出し<br />
	while($row=mysql_fetch_object($query)){<br />
		echo '&lt;tr&gt;';<br />
		echo '&lt;td&gt;'.$row-&gt;message_id.'&lt;/td&gt;';<br />
		echo '&lt;td&gt;'.$row-&gt;message_title.'&lt;/td&gt;';<br />
		echo '&lt;td&gt;'.nl2br($row-&gt;message).'&lt;/td&gt;';<br />
		echo '&lt;td&gt;'.$row->user_name.'&lt;/td&gt;';<br />
		echo '&lt;td&gt;'.$row->entry_date.'&lt;/td&gt;';<br />
		echo '&lt;/tr&gt;';<br />
	}<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><p>↓これでブラウザ上で書き込んだデータを見れるようになりました。（※画像はクリックで拡大できます。）</p><p><a href="//oyassanb.blog.shinobi.jp/File/5e5511a4.jpeg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353836074/" alt="書き込みの閲覧" /></a></p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php020%EF%BC%88%E4%BC%9A%E5%93%A1%E5%88%B6%E6%8E%B2%E7%A4%BA%E6%9D%BF06%20%E6%8E%B2%E7%A4%BA%E6%9D%BF%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%A0%BC%E7%B4%8D%E3%81%99%E3%82%8B%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E3%80%81%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%A7%E3%81%AE%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%AE%E9%96%B2%E8%A6%A7%E3%81%BE%E3%81%A7%EF%BC%89--h1-</link>
    <pubDate>Sun, 25 Nov 2012 04:44:13 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/47</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP019（会員制掲示板05 テーブルの作成 require_once文,ヒアドキュメント,exit()）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>↓menu_message.phpを作ります。</p><hr /><?php<br />
	// ログインチェック<br />
	require_once 'check_login_message.php';<br />
?><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;<br />
&lt;style type="text/css"&gt;<br />
&lt;/style&gt;<br />
&lt;title&gt;2京ちゃんねる&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
	require_once 'header.php';<br />
?&gt;<br />
	&lt;ul&gt;<br />
		&lt;li&gt;&lt;a href="write_message.php"&gt;メッセージを書く&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="show_message.php"&gt;メッセージを読む&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><h2><strong>require_once文</strong></h2><p>外部ファイルを読み込める的な感じの文です。ファイルがすでに読み込まれていないかチェックして未読み込みなら読み込みます。違うファイルで共通部分を一つの外部ファイルにまとめられます。<br />require once `パス`;<br />的な書き方です。</p><p>require once文で使う共通外部ファイルherder.phpを作ります。↓</p><hr />&lt;h1&gt;しょぼい掲示板【2京ちゃんねる】&lt;/h1&gt;<br />
&lt;h2&gt;Login_user：&lt;?php echo $_SESSION['name']; ?&gt;&lt;/h2&gt;<br />
&lt;hr /&gt;<br />
&lt;a href='logout.php'>【ログアウト】&lt;/a&gt;<br />
&lt;hr /&gt;<br />
&lt;h2/&gt;■掲示板メニュー&lt;/h2&gt;<hr /><p>↓次にcheck_login_message.phpを作ります。<hr />&lt;?php<br />
	// セッションの開始<br />
	session_start();<br />
<br />
	// ログインチェック<br />
	if($_SESSION['login'] != 'OK'){<br />
		// ログインしていないメッセージを表示する<br />
		<br />
echo &lt;&lt;&lt;EOT<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;<br />
&lt;title&gt;2京ちゃんねる&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;h1&gt;しょぼい掲示板【2京ちゃんねる】&lt;/h1&gt;<br />
	&lt;h2&gt;■ログインしてません。&lt;/h2&gt;<br />
	&lt;ul&gt;<br />
		&lt;li&gt;&lt;a href="login.html"&gt;ログイン画面を開く&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
EOT;<br />
		<br />
		// 終了<br />
		exit();<br />
	}<br />
?&gt;<hr /><h2><strong>ヒアドキュメント構文</strong></h2><p>長い文字列を表示したり、変数に代入したい時に使うと便利らしです。実感ないですが。<br /><img src="//oyassanb.blog.shinobi.jp/File/hear.jpg" alt="ヒアドキュメント" /></a><br />&lt;&lt;&lt;は決まっている形です。くくくで覚えましょう。変数に代入する場合<br />$str = &lt;&lt;&lt;EOT<br />
長い文字列<br />
EOT;<br />みたいな感じです。改行コードを含めて複数行の文字列を扱えます。変数も中で使えます。IDは何を使ってもよいですが、 EOT、EOF、EODなどが使われることが多いらしいです。</p><hr /><h2><strong>exit()</strong></h2><p>プログラムの終了です。<br />if(～){<br />
exit();}<br />でifがtureならそれより下のプログラムは実行されません。exit;だけでもいけるらしいです。もしかしたらこの書き方も→exit(0);</p><hr /><br />
</p>↓次にwrite_message.phpを作ります。</p><hr />&lt;?php<br />
	// ログインチェック<br />
	require_once 'check_login_message.php';<br />
?&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;<br />
&lt;title&gt;2京ちゃんねる&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
	require_once 'header.php';<br />
?&gt;<br />
	&lt;ul&gt;<br />
		&lt;li&gt;&lt;a href="menu_message.php"&gt;メニュー画面へ&lt;/a&gt;&lt;/li&gt;<br />
		&lt;li&gt;&lt;a href="show_message.php"&gt;メッセージを読む&lt;/a&gt;&lt;/li&gt;<br />
	&lt;/ul&gt;<br />
	&lt;hr /&gt;<br />
	&lt;h2&gt;●書き書き書き込みっ!!&lt;/h2&gt;<br />
	&lt;form action="insert_message.php" method="POST"&gt;<br />
		&lt;p&gt;<br />
			タイトル：&lt;br /&gt;<br />
			&lt;input type="text" name="title" maxlength="40" /&gt;<br />
		&lt;/p&gt;<br />
		&lt;p&gt;<br />
			メッセージ：&lt;br /&gt;<br />
			&lt;textarea name="message" cols="70" rows="15" maxlength="500"&gt;&lt;/textarea&gt;<br />
		&lt;/p&gt;<br />
		&lt;div id="sendButton"&gt;<br />
			&lt;input type="submit" value="メッセージの登録" /&gt;<br />
	&lt;/form&gt;<br />
	&lt;hr /&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><p>↓menu_message.phpです（※画像はクリックで拡大できます。）</p><br />
<p><a href="//oyassanb.blog.shinobi.jp/File/menu.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353768710/" alt="メニュー画面" /></a></p><p>↓write_message.phpです（※画像はクリックで拡大できます。）</p><p><a href="//oyassanb.blog.shinobi.jp/File/write.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353768708/" alt="書き込み画面" /></a></p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php019%EF%BC%88%E4%BC%9A%E5%93%A1%E5%88%B6%E6%8E%B2%E7%A4%BA%E6%9D%BF05%20%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%20require_once%E6%96%87-%E3%83%92%E3%82%A2%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88-exit--%EF%BC%89--h1-</link>
    <pubDate>Fri, 23 Nov 2012 02:21:08 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/46</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP018（会員制掲示板04 テーブルの作成）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>今度はデータベースにuser_tbテーブルを作成します。コマンドプロント使って入力します。</p><hr />cd c:\xampp\mysql\bin（※ここのパスはXAMPPをインストールしたときデフォルトのままならこのパスです。）<br />
mysql -u sample_user -p<br />
<br />
sample_pass<br />
<br />
use sample_db;<br />
<br />
create table user_tb<br />
(user_id int(4) primary key auto_increment,<br />
login_name varchar(30),<br />
login_password varchar(30),<br />
user_name varchar(100));<hr /><p>↓作成したテーブルを確認します。<\p><hr />describe user_tb;<hr /><p>↓続いてユーザーデーターを2件ほどテーブルに挿入します。</p><hr /><br />
insert into user_tb(login_name,login_password,user_name)<br />
values("yamada","password1","Taro Yamada");<br />
<br />
insert into user_tb(login_name,login_password,user_name)<br />
values("tanaka","password2","Hanako Tanaka");<hr /><p>insert intoとvaluesは決まっています。login_name,login_password,user_nameと"yamada","password1","Taro Yamada"とかは自分で決めます。順番通りにしないとダメです。</p><p>このままコマンドプロントで確認します。</p><hr />select * from user_tb;<hr /><p><a href="//oyassanb.blog.shinobi.jp/File/use_tb.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353646544/" alt="コマンドプロントログイン作成確認画面" /></a></p><p>↑こんな画面がでたら成功です。（※画像はクリックで拡大できます。）</p><br />
]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php018%EF%BC%88%E4%BC%9A%E5%93%A1%E5%88%B6%E6%8E%B2%E7%A4%BA%E6%9D%BF04%20%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%EF%BC%89--h1-</link>
    <pubDate>Fri, 23 Nov 2012 02:02:17 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/45</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP017（会員制掲示板02 print_r(),$_SESSION = array(),setcookie(Cookie名,'',time()-3600,'/'),session_destroy(),preタグ）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>↓次にlogout.phpを作ります。</p><hr />&lt;?php<br />
	// セッションの開始<br />
	session_start();<br />
<br />
	// セッション変数を初期化(カラの配列を代入)<br />
	$_SESSION = array();<br />
<br />
	// セッションIDを破棄<br />
	if(isset($_COOKIE[session_name()])){<br />
		setcookie(session_name(),'',time()-3600,'/');<br />
	}<br />
<br />
	// セッションを破棄<br />
	session_destroy();<br />
?><br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" href="" type="text/css" /&gt;<br />
&lt;title&gt;ログアウト&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;p&gt;<br />
	■ログアウトしました。&lt;br /&gt;<br />
	セッション情報($_SESSION)：<br />
&lt;/p&gt;<br />
&lt;pre&gt;<br />
&lt;?php<br />
	// $_SESSIONの中身をすべて表示<br />
	print_r($_SESSION);<br />
?&gt;<br />
&lt;/pre&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><h2><strong>print_r()</strong></h2><p>引数の値やデータ型の情報を出力します。※var_dump()のほうが詳細らしいです。</p><hr /><h2><strong>$_SESSION = array()</strong></h2><p>セッションの初期化です。空の配列を代入します。</p><hr /><h2><strong>setcookie(Cookie名,'',time()-3600,'/')</strong></h2><p>Cookieの破棄です。つまり、リンクIDの破棄です。<br />setcookie(Cookie名,'（※空にする）',time()-3600（←※現在時刻-3600秒前）,'/（←※「/」はサイト全体の意味です。）')こんな感じです。</p><hr /><h2><strong>session_destroy()</strong><p>セッションの破棄です。</p><hr /></h2><h2><strong>preタグ</strong></h2><p>内容が&lt;br /&gt;タグなしでも改行されます。</p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php017%EF%BC%88%E4%BC%9A%E5%93%A1%E5%88%B6%E6%8E%B2%E7%A4%BA%E6%9D%BF02%20print_r----_session%20-%20array---setcookie-cookie%E5%90%8D----time---3600------session_destroy---pre%E3%82%BF%E3%82%B0%EF%BC%89--h1-</link>
    <pubDate>Fri, 23 Nov 2012 01:15:45 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/44</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP016（会員制掲示板01 パスワードボックス,seesion-start(),$_SESSION[セッション変数名]）,mysql_num_rows(),header(’Location:URL/相対パス’)&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>今度は会員制掲示板を作ります。この教本<a href="http://books.ascii.jp/9784048701136/">つくって覚えるPHP入門</a>はログインシステムがおかしいって言うかこんなめんどくさいログインの仕方しないだろうって感じですがとりあえずやります。</p><p><img src="//oyassanb.blog.shinobi.jp/File/sitemap.jpg" alt="サイト構成図" /><br />とりあえずサイトマップを作ってみました。</p><p>↓login.htmlをchap5ディレクトリの中に作ってみましょう。</p><hr />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;<br />
&lt;title&gt;2京ちゃんねる&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;しょぼい掲示板【2京ちゃんねる】&lt;/h1&gt;<br />
&lt;p&gt;※一応会員制です。&lt;/p&gt;<br />
&lt;hr /&gt;<br />
&lt;h2&gt;■ユーザー名とパスワードを入力してください&lt;/h2&gt;<br />
&lt;form action="check_login.php" method="POST"&gt;<br />
&lt;p&gt;<br />
ユーザ名：&lt;br /&gt;<br />
&lt;input type="text" name="user" size="30" /&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
パスワード：&lt;br /&gt;<br />
&lt;input type="password" name="pass" size="30" /&gt;<br />
&lt;/p&gt;<br />
&lt;div id="sendButton"&gt;<br />
	&lt;input type="submit" value="ログイン"&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;hr /&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><p>↓とりあずstyle.cssも作ってみました</p><hr />body{<br />
	background-color: #efefef;<br />
	<br />
}<br />
<br />
input{<br />
	width:200px;<br />
}<br />
<br />
#sendButton{<br />
	text-align: center;	<br />
}<br />
<br />
#sendButton input{<br />
	width:150px;<br />
}<hr /><h2><strong>パスワードボックス</h2></strong><p>inputタグのtype属性、passwordです。入力値は黒丸等の伏字で表示さます。暗号化はされないそうです。</p><hr /><p>↓こんな感じで画面ができます。（※画像はクリックで拡大できます。）</p><p><a href="//oyassanb.blog.shinobi.jp/File/login.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353596342/" alt="ログイン画面" /></a></p><hr /><p>↓check_login.phpを作ります。</p><hr />&lt;?php <br />
 	// セッションの開始<br />
	session_start();<br />
<br />
	$user = $_POST['user'];<br />
	$pass = $_POST['pass'];<br />
	<br />
	// MySQLへの接続<br />
	$conn = mysql_connect('localhost','sample_user','sample_pass');<br />
<br />
	if($conn){<br />
		// データベースの選択<br />
		mysql_select_db('sample_db',$conn);<br />
<br />
		// データベースへのお問い合わせSQL文<br />
		$sql = 'SELECT user_name FROM user_tb<br />
			WHERE login_name = "'.$user.'"<br />
			AND login_password = "'.$pass.'"';<br />
<br />
		// SQL文の実行<br />
		$query = mysql_query($sql, $conn);<br />
	}<br />
<br />
	// 認証<br />
	if(mysql_num_rows($query) == 1){<br />
		// ログイン成功<br />
		$login = 'OK';<br />
		// データの取り出し<br />
		$row = mysql_fetch_object($query);<br />
		// 表示用ユーザー名をセッション変数に保存<br />
		$_SESSION['name'] = $row->user_name;<br />
	}else{<br />
		// ログイン失敗<br />
		$login = 'Error';<br />
	}<br />
<br />
	// セッションを変数に記録<br />
	$_SESSION['login'] = $login;<br />
	<br />
	// 移動<br />
	if($login == 'OK'){<br />
		// ログイン成功：ログイン画面へ<br />
		header('Location: menu_message.php');<br />
	}else{<br />
		// ログイン失敗：ログインフォーム画面へ<br />
		header('Location: login.html');<br />
	}<br />
?&gt;<hr /><h2><strong>seesion-start()</strong></h2><p>セッションを扱うときは必ず記述すします。書き込み/読み込みどちらも記述は一緒です。ファイルの最初に実行します。（HTMLタグを含む）</p><h2><strong>$_SESSION[セッション変数名(※任意です。)]</strong></h2><p>ログインフォームからユーザ認証プログラムへ「ユーザー名」「パスワード」を送信し、ログインに成功すればセッションを生成しログインに成功すればセッションを生成し、ブラウザのCookieにセッションIDを書き込みます。セッション変数をセッションIDをリンクさせてサーバー上に保存します。ページ移動時はブラウザーのCookieからセッションIDを取り出し、セッションを生成した<br />
ブラウザーかどうかを判断します。セッションを生成したブラウザ（同じセッションIDを持つブラウザー）であれば、サーバーに保存されているセッション変数へのアクセスが可能です。こんな感じでログインが維持されています。これはそのセッション変数です。</p><h2><hr /><h2><strong>mysql_num_rows()</strong><p>引数のデータ件数を取得です。<br />よくわかりませんがmysql_query()の戻り値、ここでは「1」の時trueです。その他はたぶんfalseを返します。</p><hr /></h2><strong>header(’Location:URL/相対パス’)</strong></h2><p>httpヘッダを送信する。ほかのページに飛ばすってことです。リダイレクトってやつです。コンテンツタイプ指定、文字コード指定。って、メモってあるんですけど何のことかわかりません。</p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php016%EF%BC%88%E4%BC%9A%E5%93%A1%E5%88%B6%E6%8E%B2%E7%A4%BA%E6%9D%BF01%20%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9-seesion-start----_session-%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E5%A4%89%E6%95%B0%E5%90%8D-%EF%BC%89-mysql_num_rows---header-%E2%80%99location-url-%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E2%80%99---h1-</link>
    <pubDate>Thu, 22 Nov 2012 14:05:21 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/43</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP015（アンケートフォーム07 date(日時の取得,タイムスタンプ),strotime(),ユーザー定義関数,SELECT文,ORDER BY,mysql_fetch_object()）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p><strong>アンケート結果</strong><br />1.検索結果（query_question.php）<br />↓<br />2.結果画面（show_question_db.php）</p><p>↑こんな感じで作っていきます。</p><p>ではquery_question.phpを作ってみましょう↓</p><hr />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" href="style.css" type="text/css" /&gt;<br />
&lt;style&gt;<br />
&lt;/style&gt;<br />
&lt;title&gt;アンケート検索&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;p&gt;■検索条件を入力してください。&lt;/p&gt;<br />
&lt;form action="show_question_db.php" method="POST"&gt;<br />
&lt;p>購入日:&lt;br /&gt;<br />
&lt;label&gt;①&lt;input type="text" name="sdate" value="&lt;?php echo date('Y/m/d',strtotime('-1 month'));?&gt;" /&gt;&lt;/label&gt;<br />
～&lt;label&gt;②&lt;input type="text" name="edate" value="&lt;?php echo date('Y/m/d');?&gt;" /&gt;&lt;/label&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label&gt;&lt;input type="radio" name="sort" value="date" checked="checked" /&gt;購入日でソートする&lt;/label&gt;<br />
&lt;label&gt;&lt;input type="radio" name="sort" value="pprice" /&gt;平均購入額でソートする&lt;/label&gt;<br />
&lt;label&gt;&lt;input type="radio" name="sort" value="star" /&gt;評価でソートする&lt;label&gt;&lt;br /&gt;<br />
&lt;label&gt;&lt;input type="radio" name="sort" value="job" /&gt;職業でソートする&lt;/label&gt;<br />
&lt;label&gt;&lt;input type="radio" name="sort" value="entry_date" /&gt;アンケートの登録日でソートする&lt;/label&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;input type="submit" value="アンケートを表示する" /&gt;<br />
&lt;/p&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><h2><strong>date(日時の取得,タイムスタンプ)</strong></h2><p>日時を取得します。<br />date('Y/m/d H:i:s)で年/月/日 時:分:秒になります。/や:の文字列は自色々な文字列を使えます。タイムスタンプを省略すると現在の日付になります<br />
。</p><hr /><h2><strong>strotime()</strong></h2><p>文字列からタイムスタンプ（※1970年1月1日 00:00:00からの秒数です。）を取得します。<br />strotime('now')で今です。<br />strotime('+1 month')で1ヶ月後です。色々記述の仕方があるらしいので、使うときにググるのがいいかと思います。</p><hr /><p>↓こんな感じの画面です（※画像はクリックで拡大できます。）</p><br />
<p><a href="//oyassanb.blog.shinobi.jp/File/datekensaku.png" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353473796/" alt="データ検索画面" /></a></p><hr /><p>↓次にshow_question_db.phpを作ります。</p><hr />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;link rel="stylesheet" href="style.css" type="text/css" /><br />
&lt;style&gt;<br />
&lt;/style&gt;<br />
&lt;title&gt;アンケート結果&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
	// 日付のチェック関数の作成<br />
	function get_checked_date($date){<br />
	<br />
		// 全角から半角へ変換<br />
		$checked_date = mb_convert_kana($date,'as','UTF-8');<br />
<br />
		// 「/」で分割<br />
		if (empty($checked_date)) {<br />
			echo '年月日を入力してください。&lt;br /&gt;';	<br />
		} elseif (preg_match("/([0-9]{4})[-\/]+([0-9]{1,2})[-\/]+([0-9]{1,2})/", $checked_date)) {<br />
			list($year,$month,$day) = explode('/',$checked_date);<br />
		} else {<br />
			echo htmlspecialchars($checked_date, ENT_QUOTES) . '(年月日を「/」で区切って下さい。)&lt;br /&gt;';<br />
		}<br />
		<br />
		// 日付チェック<br />
		if (!checkdate($month,$day,$year)) {<br />
			// 現在の日付<br />
			$checked_date = date('Y/m/d');<br />
		}<br />
		return $checked_date;<br />
	}<br />
	<br />
	$sdate = get_checked_date($_POST['sdate']);<br />
	$edate = get_checked_date($_POST['edate']);<br />
	$sort = $_POST['sort'];<br />
	?&gt;<br />
	&lt;p&lt;■アンケート結果&lt;/p&gt;<br />
	&lt;table border="1"&gt;<br />
	&lt;tr&gt;<br />
	&lt;tr bgcolor="#cccccc"&gt;<br />
	&lt;td&gt;ID&lt;/td&gt;<br />
	&lt;td&gt;購入日&lt;/td&gt;<br />
	&lt;td&gt;平均購入額&lt;/td&gt;<br />
	&lt;td&gt;評価&lt;/td&gt;<br />
	&lt;td&gt;PHP&lt;/td&gt;<br />
	&lt;td&gt;Perl&lt;/td&gt;<br />
	&lt;td&gt;Java&lt;/td&gt;<br />
	&lt;td&gt;C#&lt;/td&gt;<br />
	&lt;td&gt;C++&lt;/td&gt;<br />
	&lt;td&gt;Basic&lt;/td&gt;<br />
	&lt;td&gt;職業&lt;/td&gt;<br />
	&lt;td&gt;登録日&lt;/td&gt;<br />
	&lt;/tr&gt;<br />
<br />
&lt;?php<br />
	// MySQLへの接続<br />
	$conn = mysql_connect('localhost','sample_user','sample_pass');<br />
<br />
	if($conn) {<br />
		//データベースの選択<br />
		mysql_select_db('sample_db',$conn);<br />
		//データベースへのお問い合わせSQL文<br />
		$sql = 'SELECT question_id,purchase_date,purchase_price,star,lang_php,lang_perl,<br />
lang_java,lang_cs,lang_cpp,lang_basic,job,entry_date FROM question_td WHERE purchase_date>="'.$sdate.'"AND purchase_date<="'.$edate.'"';<br />
		// ソート<br />
		if($sort == 'date'){<br />
			$sql = $sql.'ORDER BY purchase_date';<br />
		}elseif($sort == 'pprice'){<br />
			$sql = $sql.'ORDER BY purchase_price';<br />
		}elseif($sort == 'star'){<br />
			$sql = $sql.'ORDER BY star';<br />
		}elseif($sort == 'job'){<br />
			$sql = $sql.'ORDER BY job';<br />
		}elseif($sort == 'entry_date'){<br />
			$sql = $sql.'ORDER BY entry_date';<br />
		}<br />
		// SQL文の送信<br />
		$query = mysql_query($sql, $conn);<br />
		<br />
		// データの取り出し<br />
		while($row=mysql_fetch_object($query)){<br />
			echo '&lt;tr&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;question_id.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;purchase_date.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;purchase_price.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;star.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;lang_php.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;lang_perl.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;lang_java.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;.$row-&lt;lang_cs.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;lang_cpp.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;lang_basic.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;'.$row-&lt;job.'&lt;/td&gt;';<br />
			echo '&lt;td&gt;.$row-&lt;entry_date.'&lt;/td&gt;';<br />
			echo '&lt;/tr&gt;';<br />
		}<br />
		//データベースへの評価の平均点を取り出すSQL文<br />
		$sql_avg = 'SELECT ROUND(AVG(star),1) AS star_average, ROUND(AVG(purchase_price),1) AS price_average FROM question_td';<br />
		// 評価の平均点の表示<br />
		$query_avg = mysql_query($sql_avg,$conn);<br />
		$row_avg=mysql_fetch_object($query_avg);<br />
		echo '&lt;tr&gt;&lt;td bgcolor="#cccccc" colspan="6"&gt;購入額の平均額&lt;/td&gt;&lt;td colspan="6"&gt;'.$row_avg-&lt;price_average.'&lt;/td&gt;&lt;/tr&gt;';<br />
		echo '&lt;tr&gt;&lt;td bgcolor="#cccccc" colspan="6"&gt;評価の平均点&lt;/td&gt;&lt;td colspan="6"&gt;'.$row_avg-&lt;star_average.'&lt;/td&gt;&lt;/tr&gt;';<br />
	}<br />
?&gt;<br />
	&lt;/table&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><br />
<h2><strong>ユーザー定義関数</strong></h2><p>functionで自分で関数が作れます。<br /><strong>①引数1つ、戻り値あり</strong><br />function tax($num){$num*=1.05;<br />
return $num}<br />
$price = tax(10000);<br />これでtax()と言う名前の関数ができました。消費税の計算をできますね。戻り値とは関数に引数を入れて出た値の事です。たぶんです。<strong>②戻り値なし</strong><br />function h($str){<br />
$str = htmlspecialchars($str, ENT_QUOTES);<br />
echo $srt;}<br />
h(POST_[''messagr]);でサニタイズできます。なんで戻り値なしなんだろう？なんか難しいです。<br /><strong>③引数を2つ（省略不可）</strong><br />functio taxIn($price,$tax){<br />
return $price*$tax;<br />
}<br />
$price = taxIn(10000,1.05);で掛け算ですね。また消費税の掛け算です。引数を2つを省略して使えないって意味です。<br /><strong>④引数2つ（第2引数省略可）</strong><br />function taxIn($price,$tax = 1.05){<br />
return $price*$tax;<br />
}<br />
$price = taxIn(10000); →「10500」<br />
$price = taxIn(10000,1.07); →「10700」<br />
です。この場合第2引数に初期値（1.05）を入れているのいるので第2引数を省略することも可能です。このまま第3引数もある場合、第2引数省略時、第3引数は渡せないそうです。難しいけど、よく考えると理屈はわかります。後、初期値のない引数は省略できないので第1引数にするそうです。この辺は実際、使うようにならないとわからなのかもしれません。要は慣れなんでしょうね。</p><hr /><h2><strong>SELECT文</strong></h2><p>SQL文です。<br / 'SELECT（※選ぶ　フィールド名です→） question_id,purchase_date,purchase_price,star,lang_php,lang_perl,<br />
lang_java,lang_cs,lang_cpp,lang_basic,job,entry_date FROM（←※question_tdから　テーブル名です。） question_td WHERE（※条件①→） purchase_date>="'.$sdate.'"AND（※条件②→） purchase_date<="'.$edate.'"';><br />みたいな感じです。</p><h2>ORDER BY</h2><p>ソート（※データの集合を一定の規則に従って並べること。らしいです）の場合に使います。<br /><strong>ORDER BY フィールド名;</strong>　又は<strong>ORDER BY フィールド名 ASC;</strong>で昇順<br /><strong>ORDER BY フィールド名 DESC;</strong>で降順です。頭が限界です。</p><hr /><h2><strong>mysql_fetch_object()</strong></h2><p>データを1行分オブジェクト型で受け取るらしいです。ここでは<br />while($row（←※オブジェクト）=（←※代入）mysql_fetch_object($query)){<br />
echo '&lt;tr>';<br />
echo '&lt;td&gt;'.$row（←※オブジェクト）-<（←※-<は決まっている）question_id（←※プロパティ　ここはフィールド名、クォーテーション不要です。）.'&lt;/td&gt;';<br />
echo '&lt;td&gt;'.$row-&lt;purchase_date.'&lt;/td&gt;';<br />
・<br />
・<br />
・<br />
echo '&lt;/tr&gt;';<br />
}みたいな感じです。なんか配列と同じような感がします。ムズイです。</p><p>↓アンケートの結果はこんな画面で表示されます。やってる本人も完全には理解できません。</p><hr /><p><a href="//oyassanb.blog.shinobi.jp/File/datakakunin2.png" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1353473812/" alt="アンケートの検索結果" /></a></p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php015%EF%BC%88%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A007%20date-%E6%97%A5%E6%99%82%E3%81%AE%E5%8F%96%E5%BE%97-%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%97--strotime---%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9%E9%96%A2%E6%95%B0-select%E6%96%87-order%20by-mysql_fetch_object--%EF%BC%89--h1-</link>
    <pubDate>Wed, 21 Nov 2012 03:13:24 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/42</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP014（アンケートフォーム06 mysql_connect('データベースサーバー','ユーザー名','パスワード'),mysql_select_db('データベース名',リンクID),SQL文,mysql_query(SQL文,リンクID)）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>write_question_db.phpを作ります。<br />エラーが出ることもありそうですがとりあえずスルーします。すいません。</p><hr />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;title&gt;アンケート&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
	// 購入日<br />
	$pdate = $_POST['pdate'];<br />
	// 平均購入額<br />
	$pprice = $_POST['pprice'];<br />
	// 評価<br />
	$star = $_POST['star'];<br />
	// 興味のある言語<br />
	for ($i =0; $i < 6; $i++) {<br />
		if (isset($_POST['lang'][$i])) {<br />
			$lang[$i] = $_POST['lang'][$i];<br />
		} else {<br />
			$lang[$i] = '';<br />
		}<br />
	<br />
	// 1、0に変換<br />
		if ($lang[$i] == '') {<br />
			$lang[$i] = 0;<br />
		} else {<br />
			$lang[$i] = 1;<br />
		}<br />
	}<br />
	// 職業<br />
	$job = $_POST['job'];<br />
<br />
	// 日付チェック<br />
	// 全角から半角へ変換<br />
	$pdate = mb_convert_kana($pdate,'as','UTF-8');<br />
	<br />
	// 「/」で分割<br />
		if (empty($pdate)) {<br />
		echo htmlspecialchars($pdate, ENT_QUOTES) . '(年月日を入力してください。)&lt;br /&gt;';<br />
	} elseif (preg_match("/([0-9]{4})[-\/]+([0-9]{1,2})[-\/]+([0-9]{1,2})/", $pdate)) {	<br />
		list($year,$month,$day) = explode('/',$pdate);<br />
	} else {<br />
		echo htmlspecialchars($pdate, ENT_QUOTES) . '(年月日を「/」で区切って下さい。)&lt;br /&gt;';<br />
	}<br />
	// 日付チェック<br />
	if (isset($year,$month,$day)) {<br />
		checkdate($month,$day,$year);<br />
	}<br />
	// 数値チェック<br />
	// 全角から半角変換<br />
	$pprice = mb_convert_kana($pprice,'as','UTF-8');<br />
	// 数値チェック<br />
	if (!is_numeric($pprice)) $pprice = '';<br />
<br />
	// MySQLへの接続<br />
	$conn = mysql_connect('localhost','sample_user','sample_pass');<br />
<br />
	if($conn) {<br />
		//データベースの選択<br />
		mysql_select_db('sample_db',$conn);<br />
		//データベースへの書き込みSQL文<br />
		$sql = 'INSERT INTO question_tb(purchase_date,purchase_price,star,lang_php,<br />
lang_perl,lang_java,lang_cs,lang_cpp,lang_basic,job)<br />
VALUES("'.$pdate.'",'.$pprice.','.$star.','.$lang[0].','.$lang[1].','.$lang[2].','.<br />
$lang[3].','.$lang[4].','.$lang[5].',"'.$job.'")';<br />
	<br />
	// SQL文の送信<br />
	//$query = mysql_query($sql, $conn);<br />
		if(mysql_query($sql, $conn)){<br />
			echo '&lt;p&gt;■アンケートを登録しました。&lt;/p&gt;';<br />
		}else{<br />
			echo '&lt;p&gt;■アンケートを登録できませんでした。&lt;/p&gt;>';<br />
		}<br />
	}else{<br />
			echo '&lt;p&gt;■MySQLに接続失敗しました。&lt;/p&gt;';<br />
	}<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<hr /><h2><strong>mysql_connect('データベースサーバー','ユーザー名','パスワード')</strong></h2><p>MySQLへの接続をする。関数です。MySQLとはデータベースサーバーのOS的なものだと思います。たぶん。ここでは<br />$conn = mysql_connect('localhost','sample_user','sample_pass');<br />と$connに代入します。これが<strong>リンクID</strong>になります。<br />接続に失敗したらfalseを返します。</p><hr /><h2><strong>mysql_select_db('データベース名',リンクID)</strong></h2><p>データベースを選択します。</p><hr /><h2><strong>SQL文</strong></h2><p>データベースサーバーに命令をする文ですかね。たぶん、そんな感じです。言葉が足りずすいません。<br /><strong>INSERT文</strong>・・・データベースのテーブルへの書き込みです。<br /><strong>UPDATE文</strong>文・・・データベースのテーブルへの上書き（書き換え）ですかね？<br /><strong>DELETE文</strong>・・・データーベースのテーブル中のデータ削除です。たぶんです。<br />ここではINSERT文を使います。<br>$sql = 'INSERT（←※書き込みます。） INTO （←※question_tbの中に）question_tb（←※テーブル名）(purchase_date,purchase_price,star,lang_php,<br />
lang_perl,lang_java,lang_cs,lang_cpp,lang_basic,job（←※カッコの中は全部フィールド名です）)<br />
VALUES（値）("'.$pdate.'",'.$pprice.','.$star.','.$lang[0].','.$lang[1].','.$lang[2].','.<br />
$lang[3].','.$lang[4].','.$lang[5].',"'.$job.'"（←カッコの中は全部、値です。）)';<br />$langシリーズは「0」か「1」が値になります。真偽値booleanのデータ型なので。<br />$pdateは「/」が入っているので文字列になります。データ型はvarcharです。なので「"」で囲みます。<br />他は整数です。データ型はintです。<br />フィールド名と値の順番は同じにしないと、だめです。値は<br />
データベースに設定したデータ型のもの渡さないとだめです。<br />とりあえず、ここで$sql<br />
にSQL文を代入しときます。</p><hr /><h2><strong>mysql_query(SQL文,リンクID)</strong></h2><p>MySQLクエリを送信する。この時、SQL文はデータベースサーバーで実行されます。クエリとは命令するとかそんな意味らしいです。</p><hr /><p>check_question.phpのformタグのaction属性をwrite_question_db.phpに書き変えます。<p>question.htmlからアンケートを送信しまくってください。↓（※画像はクリックで拡大できます。）</p><p><a href="//oyassanb.blog.shinobi.jp/File/ansyu.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1351695046/" alt="アンケートの登録画面" /></a></p><p>コマンドプロントでデータベースに接続してテーブルデータが書き込まれたか確認してみましょう。↓<hr>cd c:\xampp\mysql\bin（※ここはXAMPPをデフォルトのままインストールしたならこのままのパスでOKです。）<br />
<br />
mysql -u sample_user -p<br />
<br />
sample_pass<br />
<br />
use sample_db;<br />
<br />
select * from question_tb;<hr /><p>↓データが書き込まれたのををこんな感じで確認できます。(※画像はクリックで確認できます。)</p><p><a href="//oyassanb.blog.shinobi.jp/File/detakakunin.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1351695056/" alt="データベースの書き込みを確認画面" /></a></p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php014%EF%BC%88%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A006%20mysql_connect--%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC---%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D---%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89---mysql_select_db--%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%90%8D--%E3%83%AA%E3%83%B3%E3%82%AFid--sql%E6%96%87-mysql_query-sql%E6%96%87-%E3%83%AA%E3%83%B3%E3%82%AFid-%EF%BC%89--h1-</link>
    <pubDate>Tue, 20 Nov 2012 13:40:19 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/41</guid>
  </item>
    <item>
    <title>&lt;h1&gt;PHP013（アンケートフォーム05　データベースの設計）&lt;/h1&gt;</title>
    <description>
    <![CDATA[<p>データベースにデータを保存するためにデータベースの設定をします。</p><p><strong>①データベース作成</strong><br />↓<br /><strong>②データベースを操作するためのデータベースユーザの作成</strong><br />↓<br /><strong>③データベース上にアンケート入れる為の表（テーブル）を作成します。</strong><br />①②は前にやったので③のテーブルの作成から始めます。</p><p>XAMPPのApacheとMySQLを起動して、コマンドプロントを開きます。<br /><hr />cd c:\xampp\mysql\bin（※ここのパスはXAMPPをインストールしたときデフォルトのままならこのパスです。）<br />
<br />
mysql -u sample_user -p<br />
<br />
sample_pass<br />
<br />
use sample_db;<br />
<br />
create table question_tb<br />
<br />
(question_id int(4) primary key auto_increment,<br />
purchase_date varchar(10),<br />
purchase_price int(8),<br />
star int(1),<br />
lang_php boolean,<br />
lang_perl boolean,<br />
lang_java boolean,<br />
lang_cs boolean,<br />
lang_cpp boolean,<br />
lang_basic boolean,<br />
job varchar(30),<br />
entry_date timestamp);<hr />↑コマンドプロントに入力していきます。<br />create table でテーブルの作成。question_tbはデータベース名なので自分で決めます。<br />question_idはフィールド名なので自分で決めます。<br />int(4)はデータ型（バイト数）<br />primary key（テーブル内で重複しないフィールドに設定する。※これはよくわかりせん。データを除去したときまたここにデータが入らないようにする？ですかね？）<br />auto_increment（自動的に連番を振ってくれる。）<br />purchase_dateはフィールド名なので自分で決めます。たぶん。<br />varchar(10)はデータ型（バイト数です）。<br>lang_何たらはフィールド名なので自分で決めます。<br />booleanは真偽値です。<br />jobもフィールド名なので自分で決めます。<br />entry_dataもフィールド名なので自分で決めます。<br />timestmpはデータ保存時の日時が自動的に保存されます。</p><p>まとめてみました↓<br /><img src="//oyassanb.blog.shinobi.jp/File/sql.jpg" alt="SQLのデータ型" /><br />こんな感じでなってます。真偽値のところが2つあるのですがtinyintはググると難しそうなので、ここでは先に進めます。</p><hr />describe question_tb;<hr />↑コマンドプロントに入力していきます。<br />↓describe　テーブル名で、作ったテーブルを確認できます。（※画像はクリックで拡大できます。）<p><a href="//oyassanb.blog.shinobi.jp/File/describe-question_td.jpg" target="_blank"><img src="//oyassanb.blog.shinobi.jp/Img/1351695053/" border="0" alt="作成したテーブルの確認" /></a></p>]]>
    </description>
    <category>PHP</category>
    <link>http://oyassanb.blog.shinobi.jp/php/-h1-php013%EF%BC%88%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A005%E3%80%80%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E8%A8%AD%E8%A8%88%EF%BC%89--h1-</link>
    <pubDate>Sun, 04 Nov 2012 09:27:58 GMT</pubDate>
    <guid isPermaLink="false">oyassanb.blog.shinobi.jp://entry/40</guid>
  </item>

    </channel>
</rss>