PHPのお勉強= PHPの勉強入口

元ページへ(いぶき自由研究実験室)

リンク元ページに移動  PHPの勉強入口 

MySQLを使ったPage 図書館機能構築 

LazarusDBソフト  SQLiteでプログラミング


このページを参考にして学習するにはPHPとMySQLがセットになったFreeのInstallerをインストールしておく必要が有ります。

このリンクからインストールして試して下さい

このページはMAMPを基に説明しています。

https://www.mamp.info/en/downloads/
ページのMAMP & MAMP PRO ダウンロードする


あとは指示に従いインストールしMAMPアイコン(PROアイコンでは無く)から

起動しApche server(と データベースの学習をするならMySQL)

にチェックが入っているか確認して下さい。


あとはネットの解説に従いC:\MAMP\htdocsのフォルダー中下位フォルダーも可)に

ファイルを作成しお試しください。

またこの学習はエディターをATOMで行っています、がMSのでも良いようです。


最終的にはインターネットに公開できる処まで行きたいと思います。

現時点でも動作する処はネットにアクセスして

(ドメイン名が必要です)確認しています。



PHPで実際にデータベースを処理するページを立ち上げていきます/現時点では無効です。

MySQLの学習の準備は下記を参考にしてしておいて下さい

MySQL(データベースを使用したWeb・Pag)のページ作成の経過


新規の課題

PHPを利用して図書館システムの作成を試みよう

ということで一冊参考書を買いました。2019/08/13

樹村房
図書館業務に役立つHTML・PHP入門 Webサイト構築のための基礎を学ぶ[ 星野雅英 ]
(9784883672820)価格  2268(円) x 1(個) = 2268(円)(送料込) ※8%税込
在庫がないので、慌ててネットより新品を購入しました。

商品基本情報

  • 発売日:2018年01月
  • 著者/編集:星野雅英
  • 出版社:樹村房
  • 発行形態:単行本
  • ページ数:203p
  • ISBNコード:9784883672820



PHPの本を参考にして学習

先ずは基本(kihon.php)
これはなにも表示されません
PHPと言うプログラムを記入する時の土台です。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>基本</title>
</head>
<body>



</body>
</html>


次は(kihon_01.php)
経験者おなじみ
「Hallo Word」
Hallo Word と文字表示
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>基本</title>
</head>
<body>

<?php
print "Hello World";
?>

</body>
</html>


次は(jikan.php)
鳥の行先は?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>基本</title>
</head>
<body>

<?php
print "Hello World";
print "<p>鳥がおしえてくれる</
p>";
print "<img src='le07_md_m.gif'>
";
?>

</body>
</html>


次は(imananji.php)
次は時間を表示するプログラム
Yは西暦4桁 yは下2桁 Gは24時間,gは12時間単位 sは秒 dateはファインクション機能
まだあるんですが今回はここまで!
後タイムゾーンの設定がない時のエラーの回避
date_default_timezone_set('Asia/Tokyo');
コメントアウト
[:=ダブルコーテーション] [:] date_default_timezone_set('Asia/Tokyo');
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>時間表示の方法</title>
</head>
<body>

<?php
date_default_timezone_set('Asia/Tokyo');
print ('現在は '.date('G時 i分 s秒').' です');
?>

</body>
</html>


オブジェクトのお勉強=目的のための内容を収める器を作成しそれを操作する機能・・・、でいいのかな?
次は(object0.php)
同じく時間を表示するプログラムをobject試用してプログラム
オブジェクトをここから少しかじる!
$today = new Datetime(); new この型を創る
このオブジェクトをprint,Date or format のfunction を使い 操作する!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>オブジェクトとは</title>
</head>
<body>

<?php
$today = new Datetime();
/*インスタンスを作成*/
print('現在は'. $today->format('G時, i分 s秒').' です');
/*インスタンスに時間の方を指定した時間を代入しながら印刷している:ややこしいですがあくまでも例で
す*/
?>

</body>
</html>


オブジェクトのお勉強=目的のための内容を収める器を作成しそれを操作する機能・・・、でいいのかな?
次は(smple05.php)
変数を使って計算結果を保管するプログラム
オブジェクトをここから少しかじる!
このオブジェクトを print のfunction を使い 操作する
html タグ <p>|  |</p> 挟まれた文字|??|は改行され表示
<?php> ・・・ /*$sumは変数,= は左辺に代入 */ ・・・ </p>(/*| |*/)挟まれた文字|??|はコメントになる
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>変数を使った計算</title>
</head>
<body>

<?php
$sum = 100+1050+200;
/*$sumは変数,= は左辺に代入 */
?>

合計金額は :  <?php print($sum); ?> 円です

<p>
税込金額は :  <?php print($sum*1.08); ?> 円です
</p>

</body>
</html>


次は(karenda0.php)
1〜365(1年)を上から一行づつ表示するプログラム
オブジェクトをここから少しかじる!
これを pre,while,print ,forのfunction を使い 実行する
*重要 <pre>...</pre>で<?php>...?>本文を挟まないと改行しない
<pre><?php>.........?></pre> *このようになる
*これを実行すると[]<pre>か[]<?php>前の半角スペースが入力されたと受け取り最初だけ一行目がスペース一個分入力されてから表示されるので2行目とのバランスが崩れてしまうので01でスペースを入れないように[]部分を入れずに入力してやる。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>1〜365を一行づつ表示</title>
</head>
<body>
[]<pre>
[]<?php
for ($i=1; $i<=365; $i++){
[]print($i . "\n");
}
?>
<pre>
</body>
</html>


次は(karenda01.php)
1〜365(1年)を上から一行づつ表示するプログラム
これを pre,while,print ,forのfunction を使い 実行する
*ポイント改行記号はOSにより異なるのでOS関係なしで改行を自動認識してくれるPHP_EOLを使ってみる
また、[]を削除してみた結果最初の1から全ての行が左端に揃って表示されるようになった
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>abc</title>
</head>
<body>
<pre>
<?php
$i=1;
while ($i<=365){
print($i . "\n");
$i++;
}
?>
</pre>
</body>
</html>
</html>



次は(karenda1.php)
1〜365(1年)を上から一行づつ表示するプログラム
これを pre,while,print ,forのfunction を使い 実行する
*ポイント改行記号はOSにより異なるのでOS関係なしで改行を自動認識してくれるPHP_EOLを使って見る
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>1〜365を一行づつ表示</title>
</head>
<body>
<pre>
<?php
$i=1;
while ($i<=365){
print($i);
print(PHP_EOL);
$i++;
}
?>
</pre>
</body>
</html>


次は(karenda2.php)
今日から365(1年)後までを上から一行づつ表示するプログラム
これを  を使い 実行する
*単なる数値から年度から日にちと曜日を表示するプログラムを組み込む。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>1〜365を一行づつ表示</title>
</head>
<body>
<pre>
<?php
$i=1;
for (si = 1; $i<=365;si = si++) {
$day = date('n/j(D)',strtotime('+' . $i . 'day'));
print($day);
print(PHP_EOL);
}
?>
</pre>
</body>
</html>


次は(karndyb0.php)
曜日の順番を表示
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>曜日の表示</title>
</head>
<body>


<?php

print(date('w'));


?>
</body>
</html>


(次は(karndyb1.php)
曜日の順番から日本語の曜日文字を出力し曜日ですを加える
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>曜日の表示/配列</title>
</head>
<body>


<?php
$week_name = ['日','月','火','水','木','金','土'];

print($week_name[date('w')].'曜日です');


?>
</body>
</html>


(次は(hairetu0.php)
配列のキーと内容を順次すべて順次表示
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>配列の登録値をすべて書き出す</title>
</head>
<body>
<pre>
<?php
$kudamono = [
'peach' => 'もも',
'suika' => 'すいか',
'mikan' => 'みかん',
'tougan' => 'とうがん',
'kabotiyya' => 'かぼちゃ'
];
foreach ($kudamono as $romaji => $wamei) {
print($romaji . ' : ' . $wamei . "\n");
}
?>
<pre>
</body>
</html>
peach : もも
suika : すいか
mikan : みかん
tougan : とうがん
kabotiyya : かぼちゃ


(次は(hairetu1.php)
配列をこうもかける・別の書き方繰り返し部分<?php print...>を分類して書く
<?php foreach(代入式を繰り返す)[;]ここセミコロンでなく[:]コロンで終わる>
printは最後に改行マークを入力しなくても改行してくれ入れると一行空いての記入となる
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>配列の登録値をすべて書き出す別の方法/離して書く</title>
</head>
<body>
<pre>
<?php
$kudamono = [
'peach' => 'もも',
'suika' => 'すいか',
'mikan' => 'みかん',
'tougan' => 'とうがん',
'kabotiyya' => 'かぼちゃ'
];
?>
<?php foreach ($kudamono as $romaji => $wamei): ?>
<?php
{
print($romaji . ' : ' . $wamei);
}
?>

<?php endforeach; ?>
</pre>
</body>
</html>


(次は(mosimo0.php)
もしもでおなじみifの使い方
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>配列の登録値をすべて書き出す別の方法/離して書く</title>
</head>
<body>
<?php
if (date('G') > 9) {
print('現在受付時間外です');
} else {
print('ようこそ');
}
?>
</body>
</html>


(次は(kiriagsggn0.php)
切り上げ切り下げ四捨五入
仮の式を(200 / 600 * 100)とする
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>切り上げたり下げたり四捨五入したり</title>
</head>
<body>

<pre>
仮の式を(200 / 600 * 100)とする

仮の計算式を入力してみる=><?php print(200 / 600 * 100); ?>

四捨五入、第一パラメーターだけ入力=><?php print(round(200 / 600 * 100)); ?>

四捨五入、第二パラ入力、少数2桁まで表示=><?php print(round(200 / 600 *
100,2)."\n"); ?>

他は第2パラメーターは無効
切り上げ=><?php print(ceil(200 / 600 * 100)); ?>

切りすて=><?php print(floor(200 / 600 * 100)); ?>
</pre>

</body>
</html>


(次は(mojisitei0.php)
表示したい文字を任意(Ex時間日にち整数の桁)の方で整え
る変数sprintf

例1=sprintf'%04d年 %02d年 %02d',  2018 , 1 , 23);
結果⇒「2018年 01年 23日」
例2=sprintf'%04d年 %02d年 %02d',  2018 , 1 , 23);
*d=デジット(数字),s=string(文字)
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表示したい文字を任意(Ex時間日にち整数の桁)の方
で整える変数spr
intf</title>
</head>
<body>
<pre>
1・日にちの整形
<?php
$date = sprintf('%04d年 %02d年 %02d日',  2018 , 1 , 23);
print($date . "\n\n");
$sjsit = sprintf('%s','ABC');
?>
2・文字のは長さ指定無効
<?php
print($sjsit . "\n\n");
?>
3・1/数字長指定なし(23)
<?php
$suji = sprintf('%d',23);
print($suji."\n\n");
?>
3.2/数字長指定有(23を桁に整える)
指定桁数ない時0を数字の前に付け不足桁数を補う
<?php $cood = sprintf('%05d',23);
print($cood);
?>
</pre>
</body>
</html>
1・日にちの整形2018年 01年 23日

2・文字のは長さ指定無効ABC

3・1/数字長指定なし(23)23

3.2/数字長指定有(23を桁に整える)指定桁数

い時0を数字の前に付け不足桁数を補う00023


(次は(filkakikom0.php)
ファイルに書き込むfile_put_contents
*書き込む前に書き込むフォルダーの設定を書き込みできる様にしておく必要が有
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ファイルへ文字を入力しその成否を表示する!</title>
</head>
<body>

<?php
$kakunaiyo = file_put_contents('./naiyohenko/test.txt','ファイルにかけたよ!');
if ($kakunaiyo) {
print('ファイルへの書き込みができたようです!');
} else {
print('問題が起きました、ファイルへの書き込みに失敗した様です?');
}
?>
</body>
</html>
ファイルへの書き込みができたようです!


(次は(filkakikom1.php)
ファイルに書き込むfile_put_contentsど同時にその下に書かれた内容を読み込んで
表示する

ファイルを読み込む$yomikomu = file_get_contents('./naiyohenko/test.txt');
*書き込む前に書き込むフォルダーの設定を書き込みできる様にしておく必要が有
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ファイルへ文字を入力し、その文字を読み込む / filkakikom0.php に追加 <
/title>
</head>
<body>
<pre>
<?php
$kakunaiyo = file_put_contents('./naiyohenko/test.txt','ファイルにかけたよ!');
if ($kakunaiyo) {
print('ファイルへの書き込みができたようです!' . "\n");
$yomikomu = file_get_contents('./naiyohenko/test.txt');
print($yomikomu);
} else {
print('問題が起きました、ファイルへの書き込みに失敗した様です?');
}
?>
</pre>
</body>
</html>
ファイルへの書き込みができたようです!ファイルにかけたよ!


(次は(filkakikom2.php)

ファイルに書き込むと同時にその下に書かれた内容を読み込んで表示する、又、読
み込んで同時に表示する


ファイルを読み込む$yomikomu = file_get_contents('./naiyohenko/test.txt');
*書き込む前に書き込むフォルダーの設定を書き込みできる様にしておく必要が有る
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ファイルへ文字を入力し、その文字を読み込む / filkakikom0.php に追加 <
/title>
</head>
<body>
<pre>

1・先ず書き込みテストし、成功したらファイルを読み込む
<?php $kakunaiyo = file_put_contents('./naiyohenko/test.txt','ファイルにかけた
よ!');
if ($kakunaiyo) {
print('ファイルへの書き込みができたようです!');
$yomikomu = file_get_contents('./naiyohenko/test.txt');
print($yomikomu . "\n\n");
} else {
print('問題が起きました、ファイルへの書き込みに失敗した様です?'."\n\n");
}
?>

2・次に読み込みと同時に内容を表示する、今のファイル内容です。
<?php
readfile('./naiyohenko/test.txt');
?>

</pre>
</body>
</html>

1・先ず書き込みテストし、成功したらファイルを読み込む
ファイルへの書き込みができたようです!
ファイルにかけたよ!

2・次に読み込みと同時に内容を表示する、今のファイル内容で
す。

ファイルにかけたよ!


(次は(filkakikom3.php)
書かれた内容を読み込んでそれに追加して表示する
ファイルを読み込む$yomikomu = file_get_contents('./naiyohenko/test.txt');
次に$yomikomu = $yomikomu . '<=前内容:⇒前内容に追加しました。';
こう省略できます。$yomikomu .= '<=前内容:⇒前内容に追加しました。';
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>書かれた内容を読み込んでそれに追加して表示する</title>
</head>
<body>
<pre>
<?php
$kakunaiyo = file_put_contents('./naiyohenko/test.txt','ファイルにかけたよ!');
if ($kakunaiyo) {
print('ファイルへの書き込みができたようです!' . "\n");
$yomikomu = file_get_contents('./naiyohenko/test.txt');
print($yomikomu . "\n");
$yomikomu .= '<=前内容:⇒前内容に追加しました。';
file_put_contents('./naiyohenko/test.txt',$yomikomu);
readfile('./naiyohenko/test.txt');

} else {
print('問題が起きました、ファイルへの書き込みに失敗した様です?');
}
?>
</pre>
</body>
</html>
ファイルへの書き込みができたようです!ファイルにかけたよ!ファイルにかけたよ!<=前内容:⇒前内容に追加しました


ネットサーバー上ではリスト発行されず


XMLファイルの呼び込み

simplexml_load_file

サーバー上では読み込みできず?

リスク回避のためNet上のファイル削除


<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="../css/style.css">
<title>PHPのお勉強</title>
</head>
<body>
<header>
<h1 class="font-weight-normal">PHPのお勉強</h1>
</header>
<main>
<h2>XMLをお勉強</h2>
<pre>
<?php
$xmlTree = simplexml_load_file('URL');
foreach($xmlTree->channel->item as $item) :
?>
<a href="<?php print($item->link); ?>">
<?php print($item->title); ?></a>
<?php
endforeach;
?>
</pre>
</main>
</body>
</html>
PHPのお勉強

XMLをお勉強
XXXXXXXXXX
以下表示されず
原因不明です


JSONの学習
読み込めず
また、プロテクトが懸かるので中止中
リスク回避のためNet上のファイル削除

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>書かれた内容を読み込んでそれに追加して表示する</title>
</head>
<body>
<pre>
<?php
$kakunaiyo = file_put_contents('./naiyohenko/test.txt','ファイルにかけたよ!');
if ($kakunaiyo) {
print('ファイルへの書き込みができたようです!' . "\n");
$yomikomu = file_get_contents('./naiyohenko/test.txt');
print($yomikomu . "\n");
$yomikomu .= '<=前内容:⇒前内容に追加しました。';
file_put_contents('./naiyohenko/test.txt',$yomikomu);
readfile('./naiyohenko/test.txt');

} else {
print('問題が起きました、ファイルへの書き込みに失敗した様です?');
}
?>
</pre>
</body>


(次は(okuru0.html/ukeru0.php)
フォームに入力しその値を取得

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>送信して、それを受信(okuru0.php)</title>
</head>
<body>
<form action="ukeru0.php" method="get">
<label for="watasiha">お名前</label>
<input type="text" id="my_name" name="my_name" maxlength="255" value="">
<input type="submit" value="送ります">
</form>
</body>
</html>
立ち上げ入力

お名前




内容を記入し送りますボタンを押す。

結果が下に表示されます。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>受け取ったお名前は何</title>
</head>
<body>
お名前は⇒ 
<?php
print(htmlspecialchars($_REQUEST['my_name'],ENT_QUOTES));
?>
</body>
</html>
結果

 お名前は⇒ 忘れた!私誰?


次は(listokuru0.html/listukeru0.php)
チェックラジオボタン,リストボックスの処理
k結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>チェックラジオボタン,リストボックスの処理送る(listokuru0.html)</title>
</head>
<body>
<title>送信して、それを受信:送信(okuru1php)</title>
</head>
<body>
<form action="listukeru0.php" method="post">
<p>性別:<input type="radio" name="gender" value="male">男性 / <input type="radio" name="gender" value="female">女性</p>
<input type="submit" value="送ります">
</form>
</body>
</html>

性別:男性 / 女性

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>送信して、それを受信:受信(okuru1php)</title>
</head>
<body>
性別: <?php print(htmlspecialchars($_POST['gender'],ENT_QUOTES)); ?>
</body>
</html>
性別: male


次は(checkokuru0.html/checkukeru0.php)
選択可能なチェックボックス(checkokuru0.html)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>選択可能なチェックボックスの処理送る(checkokuru0.html)</title>
</head>
<body>
<header>
<h1 class="font-weight-normal">PHP</h1>
</header>
<main>
<h2>チェックボックスの値を取得する</h2>
<div class="content">
<form action="checkukeru0.php" method="post">

<p>
<input type="checkbox" name="ukeru[]" value="1/1">1月1日<br>
<input type="checkbox" name="ukeru[]" value="1/2">1月2日<br>
<input type="checkbox" name="ukeru[]" value="1/3">1月3日<br>
</p>
<input type="submit" value="送ります">
</form>
</div>
</main>
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>送信して、それを受信:受信(checkokuru0.php)</title>
</head>
<body>
<header>
<h1 class="font-weight-normal">PHP</h1>
</header>
<main>
<h2>チェックボックスの値を取得する</h2>
<pre>
ご予約日:
<?php
foreach ($_POST['ukeru'] as $ukeru) {
print(htmlspecialchars($ukeru, ENT_QUOTES) . "\n");
}
?>
</pre>
</main>
</body>
</html>


次は(znksujhanmir0.php)
数字が全角でも半角に変換してそれが数字か見る
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>受け取ったお名前は何</title>
</head>
<body>
<main>
<h2>半角数字に直して、数字であるかをチェックす
る</h2>
<pre>
<?php
$tosi = 'かきくけこ';
$tosi = mb_convert_kana($tosi, 'n', 'UTF-8');
if (is_numeric($tosi)) {
print($tosi . '歳');}
else {
print('文字は数字でない');
}
?>
</pre>
</main>
</body>
</html>

半角数字に直して、数字であるかをチェックする

文字は数字でない
マニュアルはご自分でPHPマニュアルで検索して著作権に従いご利用してください。


次は(seikihiyogen0.php)
正規表現の学習・郵便番号から
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正規表現を学ぼう</title>
</head>
<body>
<pre>
郵便番号が正しいか否かを正規表現で確認する!
<?php
$pstno = '987-6543';
$pstno = mb_convert_kana($pstno, 'a', 'UTF-8');
if (preg_match("/\A\d{3}[-]\d{4}\z/",$pstno)) {
print('郵便番号: 〒' . $pstno . "\n" .  '上記の様に正しく記入されていました!');
}
else {
print('郵便番号は 987-6543 の型でご入力下さい' . "\n" . '上記のように訂正してください!');
}
?>
</pre>
</body>
</html>
郵便番号が正しいか否かを正規表現で確認する!
郵便番号: 〒987-6543
上記の様に正しく記入されていました!
正規表現の規則
preg_match("/\A\d{3}[-]\d{4}\z/",$pstno)⇒[/\A\d{3}[-]\d{4}\z/]
/\A\d{3}[-]\d{4}\z/
先頭の/は正規表現の始まり・最後の/終り
次の/aは次の/bが先頭にある、このd=[decimal = 数字]
このdの次の{3}は、d(数字)が何回続くかで3回続くを意味する
この後の[-]は3つ目の数値のあとは-(ハイフン)が一つ続く
そして\dは前の\dと同様数字が{4}4つ続くという意味
その後の\zはこれで終わりという意味又その後であり最後/も最後の意味です
これでこの文字が数値を"s"ハイフンを"-"dで現せば
sss-ssssの文字で構成された文字がpreg_match("正規表現","検査したい文字列":(この場合変数\$pstno))でtrueを返せば郵便番号と確定できる
正規表現の詳細も「 PHP 正規表現 」で検索してお調べください!


次は(index.html)
次はパスワードが掛ったページにから実行ます
次のページに入ります。⇒yamada

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>入力する元のコード</title>
</head>
<body>

はいれました!

</body>
</html>


次は任意のページにリンクする方法を解説します
余計な文字は書かない:エラーになるので
header('???')⇒このファンクションの使いかたマニュアルは↓
<!DOCTYPE html>
<html>
<body>
<?php
header('Location: http://www.ccn4.aitai.ne.jp/~egira-cm/sum/');
exit();
?>
</body>
</html>
https://www.php.net/manual/ja/function.header.php


次は(giyoirokae.php)
テーブルの行ごとに色を変える
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>入力する元のコード</title>
</head>
<body>
<table>
<?php
for ($i=1;$i<=10;$i++) {
if ($i % 2) {
print('<tr style="background-color:#ccc">');
else {
print('<td>' . $i . '行目</td>');
print('<tr>');
}
?>
</table>
</body>
</html>
1行目

2行目

3行目

4行目

5行目

6行目

7行目

8行目

9行目

10行目


次は(giyoyoubi.php)
曜日を割り算の余りを使い求める
$youbi7 = ['土','日','月','火','水','木','金'];
変数$iの一週間の日にち7で割りその余り($%7)を使い配列$youbi7[$1%7]から曜日を導く
パスの指定の仕方現在の元ホルダーと同じフォルダー内にあるフォルダーを示すには[ ./?? ]
又一つ上の階層にあるフォルダーなら[ ../?? ],二つなら[ ../../?? ]となる
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>曜日を割り算の余りを使い求める</title>
</head>
<body>
<?php
$youbi7 = ['土','日','月','火','水','木','金'];
for ($i=1;$i<=30;$i++) {
print($i . ' 日(' . $youbi7[$i % 7] . ')<br />');
}
?>
</body>
</html>
1 日(日)
2 日(月)
3 日(火)
4 日(水)
5 日(木)
6 日(金)
7 日(土)
8 日(日)
9 日(月)
10 日(火)
11 日(水)
12 日(木)
13 日(金)
14 日(土)
15 日(日)
16 日(月)
17 日(火)
18 日(水)
19 日(木)
20 日(金)
21 日(土)
22 日(日)
23 日(月)
24 日(火)
25 日(水)
26 日(木)
27 日(金)
28 日(土)
29 日(日)
30 日(月)


次は(cookie0.php)
クッキーに値を保存する
結果
<?php
$kioku = '文字をこの変数に記憶・しかしページ移動で受け取れず';
setcookie('save_message',
'クッキー(Cookie)を使い保存/第2引数で有効期限を設定',
time() + 60 * 60 * 24 * 14);
?>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>クッキー(Cookie)の使い方</title>
</head>
<body>
<header>
<h1>PHPのお勉強</h1>
</header>
<main>
<h2>クッキー(Cookie)の使い方</h2>
<pre>
クッキー(Cookie)に記録させました。下記ボタンを押してください。
&raquo; <a href="cookie1.php">ボタンを押すと別ページ表示</a>
</pre>
</main>
</body>
</html>


PHPのお勉強

クッキー(Cookie)の使い方

クッキー(Cookie)に記録させました。下記ボタンを押してください。
ボタンを押すと別ページ表示
これが開く(cookie1.php) 結果
?<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPのお勉強</title>
</head>
<body>
<header>
<h1>PHPのお勉強</h1>
</header>
<main>
<h2>クッキー(Cookie)の使い方</h2>
<pre>
変数($kioku)の内容/ページ変更は受取れない:
<?php
print($kioku); ?>
クッキー(Cookie)の内容: <?php print($_COOKIE['save_message']); ?>
</pre>
</main>
</body>
</html>

PHPのお勉強

クッキー(Cookie)の使い方

変数($kioku)の内容/ページ変更は受取れない:
クッキー(Cookie)の内容: クッキー(Cookie)を使い保存
/第2引数で有効期限を設定


次は(session0.php)
セッションの使い方
ロギン状態でページを移動した場合でもロギンしている間記憶値が有効な手段
結果
<?php
session_start();
$_SESSION['session_message'] = 'セッション(Session)を使い保存';
?>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>セッション(Session)の使い方</title>
</head>
<body>
<header>
<h1>PHPのお勉強</h1>
</header>
<main>
<h2>セッション(Session)の使い方</h2>
<pre>
セッション(Session)に記録させました。下記ボタンを押してください。
&raquo; <a href="session1.php">ボタンを押すと別ページ表示</a>
</pre>
</main>
</body>
</html>

PHPのお勉強

セッション(Session)の使い方

セッション(Session)に記録させました。下記ボタンを押してください。
ボタンを押すと別ページ表示
これが開く(session1.php) 結果
<?php session_start(); ?>
?<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPのお勉強</title>
</head>
<body>
<header>
<h1>PHPのお勉強</h1>
</header>
<main>
<h2>セッション(Session)の使い方</h2>
<pre>
セッションの保存内容:<?php print($_SESSION['session_message']); ?>
<?php session_unset(); ?>
</pre>
</main>
</body>
</html>

PHPのお勉強

セッション(Session)の使い方

セッションの保存内容:セッション(Session)を使い保存
次は(email0.php)
Eメールの送信の方法
mite->yondeへ送りましたがmiteの送信記録が残らない
結果
<?php
$adrsaki = 'yonde@sunibuki.extrem.ne.jp';

mb_language('japanese');
mb_internal_encoding('UTF-8');

$adrmoto = 'mite@sunibuki.extrem.ne.jp';
$taitle = 'PHP機能で送りました';
$honbun = 'メールを受信できたら、返信して下さい<PHP機能の送信テスト>';

$seikou = mb_send_mail($adrsaki, $taitle, $honbun, 'From: ' . $adrmoto);
?>
<!doctype html>
<html lang="ja">
<head>

<meta charset="utf-8">

<title>PHP機能で送りました</title>
</head>
<body>
<header>
<h1>PHP機能で送りました</h1>
</header>

<main>
<h2>PHP機能で送りました</h2>
<pre>
<?php if ($seikou) : ?>
メールを送信しました!
<?php else : ?>
メールの送信に失敗しました。メルアド等の確認してください?
<?php endif; ?>
</pre>
</main>
</body>
</html>

PHP機能からファックス

PHP機能からファックス

メールを送信しました!
(/Or)
メールの送信に失敗しました。メルアド等の確認してください?
・・・・・・・・・・・・・・・・・・・・・・・・・・・・
メールを受信できたら、返信して下さい<PHP機能の送信テスト>

*時々【Eメールの送信の方法】ラベルより送信されたメールを確かに受信しています。
しかし残念ながらこれによりボタンを押された方に何のメッセージも届きません。
でもせっかくこのページに興味を持って頂けという事でこのページから送信相手とメッセージを指定のページに送れるように時間がかかると思いますが、機能を追加していこうと思います。

当ページ管理者
いぶき


次は(aorbfm.php)
ランド関数raund(?,?)で表示ページ分かれる
結果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>今回はAでしょうか、Bでしょうか?</title>
</head>
<body>
<?php
if (rand(0,1)) == 0) {
header('Location: aform.html');
} else {
header('Location: bform.html');
}
?>
</body>
</html>
今回はAでした!
/
今回はBでした!


次は(???.php)
ファイルをサーバーの中にアップロード
でもややこしそうなので今回は止めときます

でもややこしそうなので今回は止めときます



現時点でOpen Web Start Page ボタンを押しても

ページが開かないエラーが発生しています。

今すぐ修復方法を確認できませんので先ずエラーページのアドレス枠のページ番号を確認し、

現在のページのポート番号が80でないなら80に記入しなおしページを表示してください。


次はDatabaseの中でも普及しているMySQLの学習をして行きます。


MAMPからphpMyAdminを起動して

データベースを作成する欄に

mydb(データベース名)

照合順序に

utf8mb4_general_ci

に設定し実行ボタンを押す


テーブル作成⇒名前/カラム数を入力して〔実行〕を押す

items/2(テーブル名/列数(columns))


するとitemsテーブルの入力フォームが表れるので必要項目を記入して保存するボタンを押す

id:INT/name:TEXT


画面左側にmydbの項目が表示されるのでクリックし⇒上記項目の挿入を選択し

例えば右側記入欄に1/商品1と記入し〔実行〕を押す/sqlウインドウが表示される

表示項目を選ぶと入力したデータが表示される

上記手順を繰り返し

確認の為任意のタイミングで表示を押しこれまで入力された値を確認できます。


もし文字化けが起きた時は

左のデータベース名をクリックし/項目の操作を選び/選択肢の削除する(DROP)を選び〔OK〕を押しデーターベースを再度作成しなおす


1・MAMP起動


2・phpMyAdmainの起動と言語の設定文字コードの設定


3・phpMyAdmainデータベースの作成と


4・phpMyAdmainテーブルの作成


5・phpMyAdmainでテーブルカラム作成


6・phpMyAdmainテーブルにデータ入力


7・phpMyAdmainでテーブルのデータ確認/SQLコマンドも確認


以上でデータベース利用の準備が完了しました


以降で具体的なページを立ち上げていきます。