著者:柏岡秀男
「PHP」(PHP: Hypertext Preprocessor)は、Webアプリケーションの開発によく使われているプログラミング言語です。本特集では、WindowsやmacOSにPHPプログラムの実行環境やWebサーバー、DBMSサーバーをインストールできる「MAMP」というソフトウエアを使って、PHPプログラミングを手軽に体験する方法を紹介します。これを機会にぜひPHPプログラミングを始めてみてください。
シェルスクリプトマガジン Vol.60は以下のリンク先でご購入できます。![]()
![]()
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title> 現在時刻</title>
</head>
現在時刻は
<?php
echo date("H:i:s")
?>
です
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>Hello world</title>
</head>
<?php echo "Hello, World!"; ?>
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>Hello world</title>
</head>
Hello, World!
<?php
$a = 1;
$b = 2;
echo $a + $b;
?>
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title><?php echo __FILE__; ?></title>
</head>
<?php
$a = " シェルスクリプト";
$b = " マガジン";
echo $a . $b;
?>
<pre>
<?php
$a = array(1,2,3,4,5);
$b = array("a" => 1,"b" => "abc","c" => "123");
$c[0] = 123;
$c[1] = $b;
var_dump($a);
var_dump($b);
var_dump($c);
echo $a[1];
echo "\n";
echo $b["c"];
echo "\n";
?>
</pre>
<?php
$a = 1;
if($a > 10) {
echo "a は10 より大きい";
}
?>
<?php
$a = 1;
if($a > 10) {
echo "a は10 より大きい";
} else {
echo "a は10 以下";
}
?>
<form method="post" action="input.php">
<input type=text name="a">
<input type=submit>
</form>
<?php
var_dump($_POST);
?>
<form method="post" action="sample_input.php">
<input type=text name="a">
<input type=submit>
</form>
<?php
if($_POST["a"] > 10 ) echo "10 より大きい";
?>
<form method="post" action="sample_input2.php">
<input type=text name="a" >
<input type=submit>
</form>
<?php
if (isset($_POST["a"])) {
if($_POST["a"] > 10 ) {
echo "10 より大きい";
} else {
echo "10 以下";
}
} else {
echo " 数字を入力してください";
}
?>
<?php
try {
$dbh = new PDO(
"mysql:host=localhost;dbname=sampledatabase;charset=utf8",
"phpuser","testpassword"
);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
die(" データベース接続失敗 ".$e->getMessage());
}
echo " 接続できました";
?>
<!DOCTYPE html>
<head>
<title>TODO データの入力画面</title>
</head>
<form method="post" action="add.php">
<input type=text name="todo">
<input type=submit>
</form>
TODO データを入力してください
<?php
var_dump($_POST);
try {
$dbh = new PDO(
"mysql:host=localhost;dbname=sampledatabase;charset=utf8",
"phpuser","testpassword"
);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO sample (todo) VALUES (:todo_value)";
$stmt = $dbh->prepare($sql);
$todo = urldecode($_POST["todo"]);
$stmt->bindValue(":todo_value", $todo, PDO::PARAM_STR);
$stmt->execute();
echo " データを登録しました";
} catch (Exception $e) {
die(" データベース接続失敗 ".$e->getMessage());
}
?>
<?php
try {
$dbh = new PDO(
"mysql:host=localhost;dbname=sampledatabase;charset=utf8",
"phpuser","testpassword"
);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM sample WHERE status IS NULL";
$res = $dbh->query($sql);
foreach($res as $row) {
echo htmlspecialchars($row["todo"], ENT_QUOTES);
echo "<br />";
}
} catch (Exception $e) {
die(" データベース接続失敗 ".$e->getMessage());
}
?>
<?php
try {
$dbh = new PDO(
"mysql:host=localhost;dbname=sampledatabase;charset=utf8",
"phpuser","testpassword"
);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM sample WHERE status IS NULL";
$res = $dbh->query($sql);
foreach($res as $row) {
$id = htmlspecialchars($row["id"], ENT_QUOTES);
echo htmlspecialchars($row["todo"], ENT_QUOTES);
echo "<a href='update.php?id=" . $id . "'> 完了</a><br />";
}
} catch (Exception $e) {
die(" データベース接続失敗 ".$e->getMessage());
}
?>
<?php
try {
$dbh = new PDO(
"mysql:host=localhost;dbname=sampledatabase;charset=utf8",
"phpuser","testpassword"
);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE sample SET status = 1 WHERE id = :id_value";
$stmt = $dbh->prepare($sql);
$id = (int) $_GET["id"];
$stmt->bindValue(":id_value", $id, PDO::PARAM_INT);
$stmt->execute();
echo " データを更新しました";
} catch (Exception $e) {
die(" データベース接続失敗 ".$e->getMessage());
}
?>