Today & Tomorrow...

勝手気ままな、備忘録的な感じです。

【固定レイアウト:レイアウトの設定】

【固定レイアウト:レイアウトの設定】
授業の流れで、友人の雀荘のHPを作ってみました。
http://rara.mods.jp/vm/

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>まぁじゃんバイオレンスモンキーズ</title>
<link rel="stylesheet" href="css/style-l.css">
<link rel="stylesheet" href="css/style-m.css" media="only screen and (min-width:640px) and (max-width:979px)">
<link rel="stylesheet" href="css/style-s.css" media="only screen and (max-width:639px)">
<!--webfont-->
<link href="http://fonts.googleapis.com/css?familiy=Maven+pro:900,400" rel="stylesheet" type="text/css">
</head>
<body>
<!--container-->
<div id="container">
<!--header-->
<div id="header">
<div id="site">
<h1><img src="img/log1.png" alt=""></h1>
</div><!--site-->
<div id="nav">
<ul>
<li><a href="index.html">トップ</a></li>
<li><a href="rule.html">ルール</a></li>
<li><a href="info.html">基本情報</a></li>
<li><a href="map.html">アクセス</a></li>
</ul>
</div><!--nav-->
</div><!--header-->
<!--headerpost-->
<div id="headerpost">
<img src="img/ch.png">
<div id="lead"><img src="img/5vm.gif">
<h2>まぁじゃんバイオレンスモンキーズで<br>マージャンしよう!</h2>
<p class="main">八王子駅からすぐ!
フリーもセットもやってます♪</p>
<p class="main">2012年8月3日</p>
<img src="img/majan.gif">
<p class="more"><a href="url">MORE</a></p>
</div>
</div><!--headerpost-->
<!--content-->
<div id="content">
<!--post-->
<div class="post">
<a href="url">
<img src="img/mans.png" alt="">
<h2>七萬</h2>
<p>=========================…</p>
<p class="date">2012年8月1日</p>
<p class="more_s">MORE</p>
</a>
</div><!--post-->
<!-- ▼.post -->
<div class="post">
<a href="url">
<img src="img/p1.png" alt="">
<h2>ドサ健</h2>
<p>=========================…</p>
<p class="date">2012年7月28日</p>
<p class="more_s">MORE</p>
</a>
</div>
<!-- ▲.post -->
<!-- ▼.post -->
<div class="post">
<a href="url">
<img src="img/ojii.png" alt="">
<h2>フリーは5半荘打つとお食事サービスがつきます♪</h2>
<p>=========================…</p>
<p class="date">2012年7月20日</p>
<p class="more_s">MORE</p>
</a>
</div>
<!-- ▲.post -->
<!-- ▼.post -->
<div class="post">
<a href="url">
<img src="img/vm.jpg" alt="">
<h2>セットでもフリーでも楽しめます♪</h2>
<p>=========================…</p>
<p class="date">2012年7月5日</p>
<p class="more_s">MORE</p>
</a>
</div>
<!-- ▲.post -->
</div><!--content-->
<!-- ▼#footer -->
<div id="footer">
<p>バイオレンスモンキーズ</p>
<!-- ▼#iconmenu -->
<div id="iconmenu">
<ul>
<li><a href="url"><img src="img/btn_tw.png" alt="Twitter"></a></li>
<li><a href="url"><img src="img/btn_fb.png" alt="Facebook"></a></li>
<li><a href="url"><img src="img/btn_gplus.png" alt="Google Plus"></a></li>
<li><a href="url"><img src="img/btn_rss.png" alt="RSS Feed"></a></li>
</ul>
</div>
<!-- ▲#iconmenu -->
<!-- ▼#submenu -->
<div id="submenu">
<ul>
<li><a href="url">Privacy Policy</a></li>
<li><a href="url">Terms of Use</a></li>
<li><a href="url">Contact</a></li>
</ul>
</div>
<!-- ▲#submenu -->
<small>Copyright &copy; バイオレンスモンキーズ</small>
</div>
<!-- ▲#footer -->

</div><!--container-->


</body>
</html>
@charset "utf-8";
/* CSS Document */

/*layout*/
body {
	margin:24px 10px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	}
	
	#container {
		width:960px;
		margin:auto;
		}
		#header {
			margin-bottom:10px;
			overflow:hidden;
			}
			#headerpost {
				margin-bottom:30px;
				}
				#content {
					margin-bottom:30px;
					}
					/*#content*/
					#content {
						overflow:hidden;
						}
						.post {
							float:left;
							width:216px;
							margin-right:32px;
							margin-bottom:25px;
							}
							.post:last-child {
								margin-right:0;
								}
								.post+.post+.post+.post {
									margin-right:0;
									}
	/*.post*/
	.post img {
		width:216px;
		height:auto;
		vertical-align:bottom;
		border:none;
		}
		h2 {
			color:#000;
			}
		.main {
			color:#000000;
			}
		.post h2 {
			font-size:16px;
			margin:5px 0 0;
			}
			.post p {
				font-size:12px;
				margin:10px 0;
				}	
				.post .date {
					float:left;
					margin:0;
					}
					.post .more_s {
						float:right;
						color:#FFFFFF;
						font-size:14px;
						font-family:Arial, Helvetica, sans-serif;
						background-color:#666;
						background-image:;
						background-repeat:no-repeat;
						background-position:94% 50%;
						padding:3px 25px 3px 5px;
						margin:0;
						}		
						.post a {
							color:#000;
							text-decoration:none;
							display:block;
							overflow:hidden;
							}
							.post a:hover {
								background-color:#cfffb2;
								}
/*site*/
#site {
	float:left;
	}
	#site h1 {
		margin:0;
		}
		#site img {
			vertical-align:bottom;
			}
			/*nav*/
			"nav {
				float:right;
				font-size:22px;
				font-family:Arial, Helvetica, sans-serif;
				padding-top:30px;
				}
				#nav ul {
					margin:0;
					padding:0;
					}
					#nav li {
						list-style-type:none;
						float:left;
						}
						#nav li a {
							display:block;
							float:left;
							margin-left:20px;
							text-decoration:none;
							border-bottom:solid 5px transparent;
							color:#000000;
							}
							#nav li a:hover {
								border-bottom-color:#ff1e97;
								}
/*#headerpost*/
#headerpost img {
	float:left;
	vertical-align:bottom;
	}
	#headerpost #lead {
		float:left;
		width:300px;
		color:#fff;
		margin-left:25px;
		overflow:hidden;
		}
		#headerpost h2 {
			margin:20px 0;
			}
			#headerpost .more {
				font-size:18px;
				font-family:Arial, Helvetica, sans-serif;
				text-align:right;
				}
				#headerpost .more a {
					color:#fff;
					background-image:;
					background-repeat:no-repeat;
					background-position:right center;
					display:block;
					padding:10px 40px 10px 0;
					text-decoration:none;
					}
	#headerpost { background-color: #FF0;
	background: -webkit-gradient(linear,left top, left bottom, from(#FFF), to(#FF0));
	background: -webkit-linear-gradient(#FFF 0%, #FF0 100%);
	background: -moz-linear-gradient(#FFF 0%, #FF0 100%);
	background: -o-linear-gradient(#FFF 0%, #FF0 100%);
	background: -ms-linear-gradient(#FFF 0%, #FF0 100%);
	background: linear-gradient(#FFF 0%, #FF0 100%);
	overflow: hidden;

}

/*footer*/
#footer {
	font-family:Arial, Helvetica, sans-serif;
	color:#fff;
	background-color:#333;
	padding:10px 10px 20px;
	}
	#footer p {
		float:left;
		margin:0;
		}
		/*#iconmenu*/
		#iconmenu {
			float:right;
			}
			##iconmenu ul{
				margin:0;
				padding:3px 0 0;
				}
				#iconmenu li {
					display:inline;
					list-style-type:none;
					}
					#iconmenu img {
						border:none;
						}
						/*#submenu*/
						#submenu {
							clear:both;
							}
							#submenu ul {
								margin:10px 0;
								padding:3px 0 0;
								font-size:12px;
								}
								#submenu li {
									display:inline;
									list-style-type:none;
									}
									#submenu a {
										color:#ff1e97;
										font-weight:bold;
										border-right:solid 1px #fff;
										padding-right:6px;
										margin-right:3px;
										text-decoration:none;
										}
										#submenu li:last-child a {
											border:none;
											}
											#submenu li+li+li a{
												border:n;
												}
				
/* Copyright */
small {
	font-size: 12px;
	font-weight: bold;
	display: block;
}								
																
/*map*/
#map_canvas {
	text-align:center;
	width:100%;
	height:100%;
	}		
	
	#wrapper {
		background-color: #FF0;
	background: -webkit-gradient(linear,left top, left bottom, from(#FFF), to(#FF0));
	background: -webkit-linear-gradient(#FFF 0%, #FF0 100%);
	background: -moz-linear-gradient(#FFF 0%, #888888 100%);
	background: -o-linear-gradient(#FFF 0%, #FF0 100%);
	background: -ms-linear-gradient(#FFF 0%, #FF0 100%);
	background: linear-gradient(#FFF 0%, #FF0 100%);
	overflow: hidden;}														
@charset "utf-8";
/* CSS Document */

/*layout*/
#container {
	width:620px;
	}
	/*.post*/
	.post {
		width:300px;
		margin-right:20px;
		}
		.post:nth-child(even) {
			margin-right:0;
			}
			.post img {
				width:300px;
				}
				.post h2 {
					font-size:22px;
					}
					.post p {
						font-size:16px;
						}
						.post .more_s {
							font-size:18px;
							}
/*nav*/
#nav {
	padding-top:0;
	}
	#nav li:nth-child(2) {
		float:none;
		overflow:hidden;
		}				
		/*#headerpost*/
		#headerpost {
			position:relative;
			}
			#headerpost img {
				float:none;
				}
				#headerpost #lead {
					float:none;
					position:absolute;
					left:0;
					bottom:0;
					background-color:rgba(0,0,0,0.7);
					width:auto;
					padding:10px 20px;
					margin:0;
					}
					#headerpost h2 {
						font-size:20p;
						margin:10px 0 10px 0;
						}	
						#headerpost p {
							font-size:14px;
							margin:0 0 20px 0;
							}
							#headerpost .date {
								float:left;
								margin:0;
								}
								#headerpost .moer {
									float:right;
									margin:-12px 15px 0 0;
									}		
@charset "utf-8";
/* CSS Document */

/*layout*/
#container {
	width:300px;
	}
	.post {
		float:none;
		width:300px;
		margin-right:0;
		}
		/*post*/
		.post img {
			width:300px;
			}
			.post h2 {
				font-size:22px;
				}
				.post p {
					font-size:16px;
					}
					.post .more_s {
						font-size:18px;
						}
						/*site*/
						#site {
							float:none;
							}
							#site img {
								width:300px;
								height:auto;
								}
/*nav*/
#nav {
	float:none;
	font-size:14px;
	padding-top:6px;
	}
	#nav ul li a {
		margin-left:0;
		margin-right:10px;
		}
		/*headerpost*/
		#headerpost img {
			float:none;
			width:300px;
			height:auto;
			}
			#headerpost #lead {
				float:none;
				background-color:#252525;
				width:auto;
				padding:10px 10px;
				margin:0;
				}	
				#headerpost h2 {
					font-size:20px;
					margin:10px 0 10px 0;
					}	
					#headerpost p {
						font-size:14px;
						margin:0 0 20px 0;
						}
						#headerpost .date {
							float:left;
							margin:0;
							}
							#headerpost .more {
								float:right;
								margin:-12px 15px 0px 0;
								}						

【Google Map API】

Google Map API

Google Maps ルート検索を応用して終点を固定してみました。

http://rara.mods.jp/map_0905/map6

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Google Maps ルート検索</title>
<style>
  div#map_canvas {
    width:700px;
    height:500px;
  }
  div#container {
    margin:40px;
  }
	.box {
		display:none;
		}
		.map {
			font-size:30px;
			}
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="mapdrow1.js"></script>
</head>
<body onload="initialize();">
<div id="container">
<h1>Google Maps ルート検索</h1>
<p>テキストフィールドに始点と終点を入力すると、ルート検索を行います。</p>
<p class="map">
始点:<input type="text" name="start" id="start" size="12" maxlength="100">
 &nbsp;終点:ちとよってこ屋<span class="box"><input type="text" name="end" id="end" size="12" maxlength="100"></span>
</p>
<p>
 <input type="button" value="検索" onclick="searchRoute()" />
</p>
<div id="map_canvas"></div>
</div>
</body>
</html>
// JavaScript Document
var map;
var directionsRenderer;
var directions;
var err = google.maps.DirectionsStatus;
var directionsErr = new Array();
directionsErr[err.INVALID_REQUEST] = "指定された DirectionsRequest が無効です。";
directionsErr[err.MAX_WAYPOINTS_EXCEEDED] = "DirectionsRequest に指定された DirectionsWaypoint が多すぎます。ウェイポイントの最大許容数は 8 に出発地点と到着地点を加えた数です。";
directionsErr[err.NOT_FOUND] = "出発地点、到着地点、ウェイポイントのうち、少なくとも 1 つがジオコード化できませんでした。";
directionsErr[err.OVER_QUERY_LIMIT] = "ウェブページは、短期間にリクエストの制限回数を超えました。";
directionsErr[err.REQUEST_DENIED] = "ウェブページではルート サービスを使用できません。";
directionsErr[err.UNKNOWN_ERROR] = "サーバー エラーのため、ルート リクエストを処理できませんでした。もう一度試すと正常に処理される可能性があります。";
directionsErr[err.ZERO_RESULTS] = "出発地点と到着地点間でルートを見つけられませんでした。";

//onload時の処理
function initialize() {
	//Google Maps初期設定
	var opts = {
		zoom:14,
		center:new google.maps.LatLng(35.6461402,139.3547749),
		mapTypeId:google.maps.MapTypeId.ROADMAP
	};
	map = new google.maps.Map(document.getElementById("map_canvas") , opts);		//Google Maps作成
	
	//ルートレンダラ生成
	directionsRenderer = new google.maps.DirectionsRenderer({
	polylineOptions: {
        strokeColor: '#FF0000',
        strokeWeight: 4,
        strokeOpacity: 0.7
      }
	});	
	directionsRenderer.setMap(map);	//ルートレンダラにマップを関連付け
}

//検索開始
function searchRoute() {
	//textboxからの値を取得
	var start = document.getElementById("start").value;
	var end = document.getElementById("end").value;
	var end = new google.maps.LatLng(35.6461402,139.3547749);
	//検索設定
	directions = new google.maps.DirectionsService();	//ルート生成
	//ルートリクエスト
	directions.route({
		origin:start,		//開始地点
		destination:end,	//終了地点
		 
		travelMode:google.maps.DirectionsTravelMode.DRIVING,	//ルートタイプ(車)
		avoidHighways:true,		//高速道路(使わない)
		avoidTolls:true,		//有料道路(使わない)
		 optimizeWaypoints: true,	//最適化された最短距離にする。
	},
	function(results, status) {	//ルート結果コールバック関数
		if (status == err.OK) {	//検索結果がtrueの場合
			directionsRenderer.setDirections(results);
		} else {	//検索結果がfalseの場合
			alert(directionsErr[status]);
		}
	});
}

【phpの勉強】

phpの勉強】


http://rara.mods.jp/php/0821_index

http://rara.mods.jp/php/search.html

【index.html】

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>お問い合わせ入力フォーム</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<form action="check3.php" method="post" id="inquiry">
<table summary="お問い合わせに関する入力項目名とその入力欄">
<tr>
<th><label for="name">お名前</label></th>
<td><input type="text" name="name" size="30" id="name" class="text1"></td>
</tr>
<tr>
<th><label for="email">メールアドレス</label></th>
<td><input type="text" name="email" size="30" id="email" class="text2"></td>
</tr>
<tr>
<th><label for="message">ご意見</label></th>
<td><textarea name="message" cols="30" rows="5" class="text3" id="message"></textarea></td>
</tr>
</table>
<input type="submit" value="確認画面へ">
</form>
</body>
</html>

【search.html】

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>検索</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<form action="search.php" method="post" id="search">
code:<input type="text" name="code" size="20" id="code">
name:<input type="text" name="name" size="20" id="name">
<br>
<input type="submit" value="検索" />
</form>
<ul>
<li><a href="menu.html">メニューに戻る</a></li>
</ul>
</body>
</html>

【search.php

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>検索画面</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<?php
 $code = $_POST['code'];
$name=$_POST['name'];

 $dsn = 'mysql:dbname=xxxx;host=xxxx';
 $user = 'xxxx';
 $password = 'xxxx';
 $dbh = new PDO($dsn, $user, $password);
 $dbh -> query('SET NAMES UTF8');
	
  $sql = 'SELECT * FROM inquiry WHERE code=? OR name=?';
 $stmt = $dbh -> prepare($sql);
 $data[] = $code;
 $data[] = $name;
 $stmt -> execute($data);

 while(1) {
   $rec = $stmt -> fetch(PDO::FETCH_ASSOC);
   if($rec == false) {
        break;
   }
			
  echo $rec['code'].':&nbsp;';
  echo $rec['name'].':&nbsp;';
  echo $rec['email'].':&nbsp;';
  echo $rec['message'];
  echo '<br>';
	}
	
 $dbh = null;
 

?>
 <ul>
<li><a href="search.html">検索画面に戻る</a></li>
</ul>
</body>
</html>