PHP 訪問者の登録と履歴照会

PHPで訪問者を登録し履歴照会する

ConoHA環境にて

サイト下にディレクトリーを作成 サイト/xxxxx

ndex.php,regist.php,view.php,del.phpを作成

index.php 訪問者の登録 ipアドレスを取得し、日時を登録します。

<?php 
ini_set('display_errors',1);
error_reporting(E_ALL);
header('X-FRAME-OPTIONS: SAMEORIGIN');
session_start();
if(isset($_POST['datapost'])){
  header('Location: regist.php'); 
}
?>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>PHP_訪問者の登録</title>
    </head>
    <body>
		<?php $_ip = $_SERVER['REMOTE_ADDR']; ?>
		<?php $_dt = date('Y-m-d H:i:s'); ?>
      <h1>訪問者の登録</h1>
		訪問者: [ <?php echo $_ip; ?> ]<br/>
		訪問日時:[ <?php echo $_dt; ?> ]
		<?php $_SESSION['ip'] = $_ip; $_SESSION['dt'] = $_dt; ?>
	  </p>登録ボタンを押下</p>
      <form action="" method="post">
            <input type="submit" name="datapost" value=" 登  録 ">
      </form>
		<a href="view.php">履歴照会</a>
		</p>消去ボタンを押下</p>
      <form action="" method="post">
            <input type="submit" name="datapost_del" value=" 履歴消去 ">
      </form>
    </body>
</html>

regist.php 取得したipアドレスと日時を wp_homonsha へ登録します。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PHP_APP</title>
</head>
<body>
<a href="index.php">[ 訪問者の登録へ ]</a>

<?php
	ini_set('display_errors',1);
	error_reporting(E_ALL);
	header('X-FRAME-OPTIONS: SAMEORIGIN');
	session_start(); 
	$_ip = $_SESSION['ip'];
	$_dt = $_SESSION['dt'];
	$_ms = "";
try{
	$pdo = new PDO('mysql:host=aaa.bbb.ccc.ddd;dbname=database_name;charset=utf8','user_id','password');
	
	$stmt = $pdo->prepare('INSERT INTO wp_homonsha (ip, dt) VALUES(:ip, :dt)');
 	
	$stmt->bindValue(':ip',$_ip);
	$stmt->bindValue(':dt',$_dt);
    
	$stmt->execute();
	$_ms = " <ー登録しました!";

} catch (PDOException $e) {
    
	echo $e->getMessage();
	$_ms = " <-登録できません!";

} finally {
	
	echo $_ms;
    
    $pdo = null;

}

?>

</body>
</html>

view.php 取得したipアドレスで選択し履歴照会します。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PHP_APP</title>
</head>
<body>
<h1>履歴照会</h1>
<a href="index.php">訪問者の登録へ</a>

<?php
	ini_set('display_errors',1);
	error_reporting(E_ALL);
	header('X-FRAME-OPTIONS: SAMEORIGIN');
	session_start(); 
	$_ip = $_SESSION['ip'];//ユーザーから受け取った値を変数に入れる
	$_dt = $_SESSION['dt'];//ユーザーから受け取った値を変数に入れる

try {
	$pdo = new PDO('mysql:host=host=aaa.bbb.ccc.ddd;dbname=database_name;charset=utf8','user_id','password');
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $Exception) {
	die('error con'.$Exception -> getMessage());

}

try{
	$sql =  " SELECT * FROM wp_homonsha";
	$sql .= " WHERE ip="."'".$_ip."'";
	$sql .= " ORDER BY dt DESC LIMIT 31";
	$stmt = $pdo->prepare($sql);
	$stmt->execute();
	$row_count = $stmt->rowCount();
	foreach ($stmt as $row) {
		$rows[] = $row;
  	}
	$pdo = null;
}catch(PDOException $Exception){
    die('error sql:' .$Exception->getMessage());
}
?>

<table border='1' width="310">
<tr><td align="center" bgcolor="pink">訪 問 日 時</td></tr>

<?php
if ($row_count >= 1) {
	foreach($rows as $row){
?> 

<tr> 
	<td align="center" bgcolor="white"><?php echo htmlspecialchars($row['dt']); ?></td>
</tr> 

<?php
	}
}
?>

</body>
</html>

del.php 取得したipアドレスで履歴から消去します。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>PHP_APP</title>
</head>
<body>
<a href="index.php">[ 訪問者の登録へ ]</a>

<?php
	ini_set('display_errors',1);
	error_reporting(E_ALL);
	header('X-FRAME-OPTIONS: SAMEORIGIN');
	session_start(); 
	$_ip = $_SESSION['ip'];
	$_dt = $_SESSION['dt'];
	$_ms = "";
try{
	$pdo = new PDO('mysql:host=aaa.bbb.ccc.ddd;dbname=database_name;charset=utf8','user_id','password');
	
	$sql = "DELETE FROM wp_homonsha WHERE ip="."'".$_ip."'";
	$stmt = $pdo->prepare($sql);
	$stmt->execute();
	$_ms = " <ー消去しました!";

} catch (PDOException $e) {
    
	echo $e->getMessage();
	$_ms = " <-消去できません!";

} finally {
	
	echo $_ms;
    
    $pdo = null;

}

?>

</body>
</html>

PAGE TOP