昨日の復習として
fuku49.html フォームより三角形の底辺、高さ入力 --> fuku49.php 三角形の面積計算を表示
x<html><head><meta charset="utf-8"><title>三角形の面積の計算</title></head><body><h1>三角形の面積の計算</h1><form method="post" action="fuku49.php"><p>底辺入力<input type="text" name="bottom"></p><p>高さ入力<input type="text" name="height"></p><p><input type="submit"></p></body></html>
fuku49.php fuku49.htmlで入力された値より三角形の面積計算を表示
xxxxxxxxxx<?php$b = $_POST['bottom'];$h = $_POST['height'];$s =triangle($b,$h);echo "三角形の面積=". $s;function triangle($b,$h){$s = $b * $h / 2;return $s;}?>
fuku44.php
arrayを使って7人以上の点数を設定し。その点数明細、合計、
平均点を表示。オプションとして、偏差、標準偏差を表示。
xxxxxxxxxx<?php$point = array("10","20","30","40","50","60","70");$n = count($point);$s = 0;$i = 0;while($i<$n){echo "[$i]->$point[$i]<br>";$s += $point[$i];++$i;}echo "合計:$s<br>";echo "平均:" . $s/$n . "<br>";echo "<br>◆標準偏差<br>"; //s=√1/nΣ(x1-x)二乗$h = $s/$n;$m = 0;for($i=0; $i<$n; ++$i){ //Σ n回$hensa = $point[$i] - $h; //(x1-x)echo "[$i] : $hensa<br>";$m += pow($hensa,2); //↑の(x1-x)を、二乗}echo $m ."<br>";$a = sqrt($m/($n-1)); //ルート(平方根)echo $a;?>
ren31.php セッションデータの表示
xxxxxxxxxx<?php//セッション開始session_start();?><html><head><meta charset="utf-8"></head><body><?php//セッションデータを追加$_SESSION['sdata1']=123;$_SESSION['sdata2']="hello world";$_SESSION['sdata3']=array(123,"hello world","PHP入門");echo "セッションデータを追加しました。<br>";echo $_SESSION['sdata1'] . "<br>";echo $_SESSION['sdata2'] . "<br>";echo "<hr>";echo $_SESSION['sdata3'][0] . "<br>";echo $_SESSION['sdata3'][1] . "<br>";echo $_SESSION['sdata3'][2] . "<br>";?></body></html>
ren20.php データベース kaiin の生成
xxxxxxxxxx<?php//PHPからMySQLデータベースを生成するecho "データベース作成<br>";$db = new PDO('mysql:host=localhost','root','root');$db->exec('CREATE DATABASE kaiin');echo "終了<br>";?>
ren21.php テーブル user の生成
xxxxxxxxxx<?phpecho "ユーザーテーブル作成<br>";$pdo = new PDO("mysql:host=localhost;dbname=kaiin","root","root");$sql = "CREATE TABLE IF NOT EXISTS`user`"."("."uname varchar(5) primary key,"."psw varchar(10),"."namae varchar(30),"."email varchar(30)".");";$stmt = $pdo -> prepare($sql);$stmt -> execute();echo "作成終了<br>";?>
ren22.html ユーザー登録フォーム作成
xxxxxxxxxx<html><head><meta charset="utf-8"><title>ユーザー登録フォーム</title></head><body><h2>ユーザー登録フォーム</h2><form method="post" action="ren22a.php"><table><tr><td>ユーザー名</td><td><input type="text" name="uname"></td></tr><tr><td>パスワード</td><td><input type="text" name="psw"></td></tr><tr><td>氏名</td><td><input type="text" name="namae"></td></tr><tr><td>e-mail</td><td><input type="text" name="email"></td></tr></table><input type="submit"></form><a href="ren24.php">一覧表示</a></body></html>
ren22a.php データベース kaiin のテーブル user にPDOを使ってinsertする。
xxxxxxxxxx<?php$username = $_POST['uname'];$pass = $_POST['psw'];$name = $_POST['namae'];$email = $_POST['email'];$pdo = new PDO("mysql:host=localhost;dbname=kaiin","root","root"); //MySQLに接続$st = $pdo->prepare("INSERT INTO user VALUES(?,?,?,?)");$st-> execute(array($username,$pass,$name,$email));$pdo = null; //MySQLから切断echo "ユーザー登録完了";?><a href="ren24.php">一覧表示</a>
ren23.php テーブルユーザーの一覧表表示
xxxxxxxxxx<html><head><title>商品テーブル内容表示</title><body><table border="1"><tr><td>ユーザー名</td><td>パスワード</td><td>氏名</td><td>email</td></tr><?php$pdo = new PDO("mysql:host=localhost;dbname=kaiin", "root" ,"root"); // MySQLに接続$st = $pdo->query("SELECT * FROM user");while($row=$st->fetch()){$uname = htmlspecialchars($row['uname']);$psw = htmlspecialchars($row['psw']);$namae = htmlspecialchars($row['namae']);$email = htmlspecialchars($row['email']);echo"<tr><td>$uname</td><td>$psw</td><td>$namae</td><td>$email</td></tr>";}$pdo=null; // MySQLから切断?></table></body></html>
renn24.php renn23.phpの画面の中に修正リンクと削除リンクをつくる。 修正リンクをクリックすると ---> update24.phpに飛ばす ---> さらに update24a.phpへ 削除リンクをクリックすると ---> delete24.phpに飛ばす
xxxxxxxxxx<html><head><meta charset="utf-8"><title>フォームから修正と削除</title></head><body><table border="1"><tr><td>ユーザー名</td><td>パスワード</td><td>氏名</td><td>email</td><td></td><td></td></tr><?php$pdo = new PDO("mysql:host=localhost;dbname=kaiin","root","root");$st = $pdo->query("SELECT * FROM user");while($row=$st->fetch()){$uname = htmlspecialchars($row['uname']);$psw = htmlspecialchars($row['psw']);$namae = htmlspecialchars($row['namae']);$email = htmlspecialchars($row['email']);echo"<tr><td>$uname</td><td>$psw</td><td>$namae</td><td>$email</td><td><a href='update24.php?uname=$uname'>修正</a></td><td><a href='delete24.php?uname=$uname' onclick=\"return confirm('削除していいですか?')\">削除</a></td></tr>";}$pdo = null; //切断?></table><a href="ren22.html">データ追加</a></body></html>
xxxxxxxxxx<?php//htmlspecialchars ? 特殊文字を HTML エンティティに変換する$uname = htmlspecialchars($_GET['uname']); //url?uname=$unameで送られた物をゲット$pdo = new PDO("mysql:host=localhost;dbname=kaiin","root","root");$st = $pdo->prepare("SELECT * FROM user WHERE uname = ?"); //sql文を準備$st->execute(array($uname)); //上記prepareを実行、$unameが?に入る(バインドする?)$row = $st->fetch(); //$stのデータを順番に取得している(ただし今回は1レコード)$uname = htmlspecialchars($row['uname']); //$rowはレコードの連想配列が入っている(今回は1レコード)$psw = htmlspecialchars($row['psw']); //配列の$row['psw']を、$pswに入れる$namae = htmlspecialchars($row['namae']);$email = htmlspecialchars($row['email']);?><form method = "post" action="update24a.php"><table><tr><td>ユーザー名</td><td><input type="text" name="uname" value="<?php echo $uname ?>"></td></tr><tr><td>パスワード</td><td><input type="text" name="psw" value="<?php echo $psw ?>"></td></tr><tr><td>氏名</td><td><input type="text" name="namae" value="<?php echo $namae ?>"></td></tr><tr><td>e-mail</td><td><input type="text" name="email" value="<?php echo $email ?>"></td></tr></table><input type = "hidden" name = "old_uname" value="<?php echo $uname ?>"><br><!--↑見えないinputのvalueに古いunameを入れて記憶して、update24a.phpに送るよ!--><input type = "submit"></form>
xxxxxxxxxx<?php$pdo = new PDO("mysql:dbname=kaiin","root","root");$st = $pdo->prepare("UPDATE user SET uname=?,psw=?,namae=?,email=? WHERE uname=?");$st-> execute(array($_POST['uname'],$_POST['psw'],$_POST['namae'],$_POST['email'],$_POST['old_uname']));//$_POSTでさっきのフォームからのデータをゲット//?の順番に入っているので、最後のWHERE uname=?の?部分にold_unameが入る?>修正完了しました。<br><a href="ren24.php">一覧に戻る</a>
xxxxxxxxxx<?php$pdo = new PDO("mysql:host=localhost;dbname=kaiin","root","root");$st = $pdo->prepare("DELETE FROM user WHERE uname=?");$st->execute(array($_GET['uname']));?>削除が完了しました。<br><a href="ren24.php">一覧に戻る</a>
以上