0
0

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

Posted at

xampp 言うのはlocalhost(サーバーserverではない。外部に送らない。)に組み込まれている、phpの今2023/12の新しい部類のphpです。
phpが何かは説明しなくていいと思うが、一応、言うと、html内に、プログラムを記述して臨機応変に文を変えて、ユーザーの要望に沿う形で出力してあげて、分かりやすいページ構成にしてやる。のだから、余り、複雑な質問を出さない様に組む事を心がけましょう。なんかずれたな。
という事で、あるのだから、使える様にだけはしておこう。
何もしなくて動いているが、世界一般に通じる程度の「設定」になってるだけで、日本仕様には、なっていないって話。
そこで、おらは、日本サービス員だってさせたい人は「設定」をしなければならない。
難しい話の前に「どの様な仕様で」を出してみよう。
ちょっと古いが古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
日本である。

スクリーンショット 2023-12-23 195348.png
東京時間を使う

スクリーンショット 2023-12-23 195602.png
ローカルとしてja_JP基準である

スクリーンショット 2023-12-23 195817.png
utf8の確認だけ。

スクリーンショット 2023-12-23 200002.png
警報のErrorもレベルとして扱うよ。

5点の設定「;」を抜くだけとか、確認とか、ウザい言うな。
やりたい人は英文読めば書いてあるはずや。
そこで、確認。簡単や。

<!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出るやつリロードだったかで、見なくさせようとしたんや、無かったかな。値を使っていたら他から見られとるやったかな?忘れたわ。
では、参考に。ファイルを一個作るから消す時消しといて。

<?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ですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0