独学で勉強する人達のためにシステム用語に限定した和訳ページを作成しました
http://diywebsite.php.xdomain.jp/index.php
新しく覚えた単語を登録しておきたい時は、ページの上のテキストボックスに入力して登録ボタンを押せば、ページに追加される仕組みになっています。
今回は、初めてPHPとMYSOLを利用してページを作りました。
ソースコードを添付しますので、PHPを作り方の参考になってくれればと思います
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="JustSystems Homepage Builder Version 16.0.10.0 for Windows">
<meta name="Description" content="コンピュータの勉強のためには単語の意味を知ることが大事だと思ったので、作りました。">
<title>システム用語の和訳</title>
<style type="text/css">
table{border:solid;}
tr{border:solid;}
td{border:solid;}
<!--
#header{
letter-spacing : 10em;
color : blue;padding-top : 8px;padding-left : 8px;padding-right : 8px;padding-bottom : 8px;background-color : lime;
}
-->
</style>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-145063770-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-145063770-1');
</script>
</head>
<body>
<div id="post_page">
<form method="post" action="touroku.php">
<div>スペル<input type="text" name="Lang" size="30"></div>
<div>読み方<input type="text" name="Yomi" size="30"></div>
<div>意味<input type="text" name="Mean" size="50"></div>
<div><input type="submit" name="submit" value="登録" class="button"></div>
</form>
</div>
<?php
$link = mysqli_connect('ドメイン名', 'ユーザー名', 'パスワード', 'データベース名');
// 接続状況をチェックします
if (mysqli_connect_errno()) {
die("データベースに接続できません:" . mysqli_connect_error() . "\n");
} else {
echo "システム用語の和訳。<br>\n";
}
// userテーブルの全てのデータを取得する
$query = "SELECT * FROM SystemLang ORDER BY Lang";
// クエリを実行します。
if ($result = mysqli_query($link, $query)) {
echo "<table>";
while ($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>";
echo $row["Lang"];
echo "</td>";
echo "<td>";
echo $row["Yomi"];
echo "</td>";
echo "<td>";
echo $row["Mean"];
echo "</td>";
echo "</tr>";;
}
echo "</table>";
}
// 接続を閉じます
$close_flag = mysqli_close($link);
if($close_flag){
Print('<p>独学でコンピュータ関連の勉強をしている方達に役に立てばと思って作りました<br>一番上のテキストボックスに言葉を入れて登録すればこのページに追加されます<br>
どなたでも入力することができるので覚えておきたい単語があればご自由に登録してください<br>
コンピュータ関連の言葉とは思えないものは管理者として削除させてもらいますのでご了承ください</p>');
}
?>
</body>
</html>
登録を確認するページです
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="登録結果の確認">
<title>登録結果の確認</title>
<link rel="stylesheet" href="/main.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
</head>
<body>
<?php
try {
//DB名、ユーザー名、パスワード
$dsn = 'mysql:dbname=diywebsite_test;host=mysql1.php.xdomain.ne.jp';
$user = 'diywebsite_user';
$password = 'testpass';
$PDO = new PDO($dsn, $user, $password); //MySQLのデータベースに接続
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //PDOのエラーレポートを表示
//input_post.phpの値を取得
$Lang = $_POST['Lang'];
$Yomi = $_POST['Yomi'];
$Mean = $_POST['Mean'];
$sql = "INSERT INTO SystemLang (Lang, Yomi, Mean) VALUES (:Lang, :Yomi, :Mean)"; // INSERT文を変数に格納。:nameや:Yomiはプレースホルダという、値を入れるための単なる空箱
$stmt = $PDO->prepare($sql); //挿入する値は空のまま、SQL実行の準備をする
$params = array(':Lang' => $Lang, ':Yomi' => $Yomi, ':Mean' => $Mean); // 挿入する値を配列に格納する
$stmt->execute($params); //挿入する値が入った変数をexecuteにセットしてSQLを実行
echo "<p>スペル: ".$Lang."</p>";
echo "<p>読み方: ".$Yomi."</p>";
echo "<p>意味: ".$Mean."</p>";
echo '<p>で登録しました。</p>'; // 登録完了のメッセージ
} catch (PDOException $e) {
exit('データベースに接続できませんでした。' . $e->getMessage());
}
?>
<div id="post_page">
<form method="post" action="index.php">
<div><input type="submit" name="submit" value="戻る" class="button"></div>
</form>
</div>
</body>
</html>