PHP8_2_12 xampp phpも使える様にして置く。

xampp 言うのはlocalhost(サーバーserverではない。外部に送らない。)に組み込まれている、phpの今2023/12の新しい部類のphpです。
phpが何かは説明しなくていいと思うが、一応、言うと、html内に、プログラムを記述して臨機応変に文を変えて、ユーザーの要望に沿う形で出力してあげて、分かりやすいページ構成にしてやる。のだから、余り、複雑な質問を出さない様に組む事を心がけましょう。なんかずれたな。
という事で、あるのだから、使える様にだけはしておこう。
何もしなくて動いているが、世界一般に通じる程度の「設定」になってるだけで、日本仕様には、なっていないって話。
そこで、おらは、日本サービス員だってさせたい人は「設定」をしなければならない。
難しい話の前に「どの様な仕様で」を出してみよう。
ちょっと古いが古phpもひょうじできるやろって。
```php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title></title>
</head>
<BODY BGCOLOR="#ffffff">
test
<p><?php print("Hello World!") ?></p>
<?php
phpinfo();
?>
</body>
</html>
```
国際標準で表示しなさいって書いてあるだけ。
これを、localな仕様にするには、
c:\xamp\php\php.ini テキスト形式だからアイコンにとらわれずnoteを見られて、文字検索が出来ればok。
変更箇所は
![スクリーンショット 2023-12-23 193254.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/b454a3dc-a5aa-51eb-10e3-d12598b576a9.png)
日本である。

![スクリーンショット 2023-12-23 195348.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/84aa06f2-a8ad-4e06-bb85-e4c9b57589b3.png)
東京時間を使う

![スクリーンショット 2023-12-23 195602.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/54aba2de-5eba-43fa-5214-20257d8a7402.png)
ローカルとしてja_JP基準である

![スクリーンショット 2023-12-23 195817.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/599c5b70-40c8-675e-6ea5-d22f32316ea9.png)
utf8の確認だけ。

![スクリーンショット 2023-12-23 200002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/da0b592a-acf0-8785-fdf1-cd0b18668541.png)
警報のErrorもレベルとして扱うよ。

5点の設定「;」を抜くだけとか、確認とか、ウザい言うな。
やりたい人は英文読めば書いてあるはずや。
そこで、確認。簡単や。
```php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>テスト書き出し</title>
</head>
<BODY BGCOLOR="#ffffff">
試験
<p><?php print("おおっ、世の中よ!") ?></p>
<?php
phpinfo();
?>
</body>
</html>
```
うまく行けば成功しているのやろ。最後に入れた警報が出ん言うのや。
 若かりし頃の俺の組んだやつpasswordとかやると、ダメなやつ、Reminderごまかそうと、思い出さんように頑張ったやつや。
Shift-jisからutf-8にして、一応試した。warning出るやつリロードだったかで、見なくさせようとしたんや、無かったかな。値を使っていたら他から見られとるやったかな?忘れたわ。
では、参考に。ファイルを一個作るから消す時消しといて。
```php5
<?php
$kanrinin = 'たっちゃん3';
$kanrips = '';
$hyouki = 0; # 削除を残しておく。 = 1;
//　ヘッダー
print <<<OUTHTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
OUTHTML;
/*
# 
require 'DB.php';
if(class_exists('DB')){
	print 'ok';
}else{
	print 'bado';
}
*/
// デコード
$myvalue = "";
if(isset($_POST['user'])){
	$myvalue = $_POST['user'];
	$myvalue = preg_replace("/</","&lt;",$myvalue);
	$myvalue = preg_replace("/>/","&gt;",$myvalue);
	$myvalue = preg_replace("/\"/","&quot;",$myvalue);
	$myvalue = preg_replace("/\r\n/","",$myvalue);
}
$aivalue = "";
#if(isset($_POST['aikotoba'])){
#	$aivalue = $_POST['aikotoba'];
#	$aivalue = preg_replace("/</","&lt;",$aivalue);
#	$aivalue = preg_replace("/>/","&gt;",$aivalue);
#	$aivalue = preg_replace("/\"/","&quot;",$aivalue);
#	$aivalue = preg_replace("/\r\n/","",$aivalue);
#}
$delno = 0;
if(isset($_POST['dele'])){
	$delno = $_POST['dele'];
	$delno = preg_replace("/[^0-9]/","",$delno);
	if($delno == ""){$delno = 0;}
}

$comvalue = "";
if(isset($_POST['coment'])){
	$comvalue = $_POST['coment'];
	if(strlen($comvalue) > 50){
		$comvalue = substr($comvalue,0,50).'(文字オーバー)';
	}
	$comvalue = preg_replace("/</","&lt;",$comvalue);
	$comvalue = preg_replace("/>/","&gt;",$comvalue);
	$comvalue = preg_replace("/\"/","&quot;",$comvalue);
	$comvalue = preg_replace("/\r\n/","",$comvalue);
}
// クッキー　たくさん覚えさす時は、書出し、参照
$e_mail = 'e@mail'; ## 今は使わない。
$myvalues = "";
if(isset($_COOKIE['mycookie'])){
	$myvalues = $_COOKIE['mycookie'];
	$myvalue = strtok($myvalues,"<>");
	$aivalue = strtok("<>");
	$e_mail = strtok("<>");
}
if(isset($_POST['cocl'])){
	$ep_time = time()-1;
	$myvalue = "";
	$aivalue = "";
	$e_mail = "";
	setcookie('mycookie',"",$ep_time);
}else{
	$ep_time = time() + 10*60; #テストのため10分に設定した。
}
if($myvalue != "" or $aivalue !=""){
	$myvalues = "$myvalue<>$aivalue<>$e_mail"; # <>$e_mail
	setcookie('mycookie',$myvalues,$ep_time);
 	setcookie('mycookie1',$aivalue,$ep_time);
}
// 管理人判別
$inform = '';
# $Master = 0;
if($kanrinin == $myvalue && $kanrips == $aivalue){
	$inform = "あなたは管理人です。<br>\r\n";
	$inform .= "削除:<input type=\"text\" name=\"dele\">";
#	$Master = 1;
}elseif($kanrinin == $myvalue){
	print <<<OUTHTML
<h2>管理人以外その名前は使えません。</h2>
</body>
</html>
OUTHTML;
	exit;
}
// ファイルの存在
$faile1 = "./file1.txt";
clearstatcache();
if(file_exists($faile1) === FALSE){
	touch($faile1);
}
//　新規書き込み
$rlain = array();
$no = 1;
$moji0 = 0;
$fh = fopen($faile1,'r');
flock($fh,LOCK_SH);
$lainin_0 = fgets($fh);
fclose($fh);
if($lainin_0 != ""){
	$moji0 = strtok($lainin_0,"<>");
	$hikaku = strtok("<>");
	$hikaku0 = strtok("");
# print "$hikaku0";
	$no = $moji0 + 1;
}
$kakikomi = 1;
$lainin0 = "";
$lainin = array();
$ii = 0;
if($myvalue != "" && $comvalue != ""){
	$ima = date('Y/m/d H:i:s'); #　時間
	$lainin0 = "$no<>$ima<>$myvalue<>$comvalue<>\r\n"; #　書込みフォーマット
	$hikaku1 = ">$myvalue<>$comvalue<>\r\n";
	if($hikaku0 == $hikaku1){ # 二度書き禁止
		$kakikomi = 1;
	}else{
		$kakikomi = 0;
		$rlain[$ii] = $lainin0;
		$ii++;
	}
}
// 読み出し
$fh = fopen($faile1,'r');
flock($fh,LOCK_SH);
for($i=0; $i<= 8 + $kakikomi; $i++){
	$lainin[$i] = fgets($fh);
	if($lainin[$i] == ''){
		break;
	}
	$rlain[$ii] = $lainin[$i];
	$ii++;
}
fclose($fh);
// 書出し
$lain = array();
$i = 0;
$dn = 0;
$ittiari = 0;
foreach($rlain as $rrlain){
	$moji0 = strtok($rrlain,"<>");
	if($delno == $moji0 && $delno != 0){
		$dn = $i;
		$ittiari = 1;
		if($i == 0 || $hyouki == 1){
			echo "$delno 削除 削除 削除<br>\r\n";
		#	echo "$moji0 削除 削除<br>\r\n";
		}
	}else{
		$moji1 = strtok("<>");
		$moji2 = strtok("<>");
		$moji3 = strtok("<>");
	#	$nichi = strtok($moji1," ");
		if($moji1 != ""){
			echo "$moji0 $moji1 $moji2 $moji3<br>\r\n";
		}
	}
	$i++;
}
//
for($ii = 0;$ii+$i <= 9;$ii++){
	print "<br>\r\n";
}
// 削除
if($delno > 0 && $ittiari == 1){
	if($dn == 0){
		$rlain[$dn] = "$delno<>削除<>削除<>削除<>\r\n";
	}else{
		$rlain[$dn] = "";
	}
	$kakikomi = 0;
}
// 書き込み
if ($kakikomi == 0){
	$lines=join("",$rlain);
	$fh=fopen($faile1,'w');
	flock($fh,LOCK_EX);
	fwrite($fh,$lines);
	fclose($fh);
}
// フォーム書出し
print <<<OUTHTML
<hr>
<form method="post" action="$_SERVER[PHP_SELF]">
name:<input type="text" name="user" value="$myvalue" maxlength="25"><br>
<!-- ps:<input type="password" name="aikotoba" value="$aivalue" maxlength="25"><br>-->
CookieClear:<input type="checkbox" name="cocl" value="coo"> $inform<br>
coment:<textarea name="coment"></textarea><br>
<input type="submit" value="ok">$e_mail
</form>
<div align="center">トップへ戻る<br>
<b>共用内容</b><br>
<!-- <iframe src="./indexin.php" name="jouhou" width="750" height="260">phpin</iframe>-->
</div>
</body>
</html>
OUTHTML;
?>

```

次は、入っていないpytonですね。