PHPでメッセージフォームのようなものを作っています。送信者のIPアドレスを取得したく、以下のようにコードを書いているのですが取得されません。
PHP
1if(isset($_POST['message'])){ 2 $ip_address = $_SERVER['REMOTE_ADDR']; 3 4//中略 5 6$dbh = new PDO(DSN, DB_USERNAME, DB_PASSWORD); 7$statement = $dbh->prepare("insert into messages (message, ip_address, created) values (:message, :ip_address, :created)"); 8$statement->bindParam(":message", $_POST['message']); 9$statement->bindParam(":ip_address", $ip_address); 10$statement->bindParam(":created", $create); 11$statement->execute(); 12}
カラムはINT UNSIGNEDにしています。
データベースの中身を出力すると、IPアドレスの欄が全て0になっています。
if文の外で echo $_SERVER['REMOTE_ADDR']; とすると::1と表示されるのですが、POSTされた時には入りません。
今はxamppで試している最中なのですが、サーバーの問題なのでしょうか?
送信者のIPアドレスを取得するにはどうしたらいいでしょうか。
回答1件
あなたの回答
tips
プレビュー