У меня есть стек LAMP, в котором я установил следующий код в файле php:
if (isset($_POST['name'], $_POST['age'])) {
$db = new Mysqli("localhost", "test", "123", "postdata");
$name = $db->real_escape_string($_POST['name']);
$age = (int)$_POST['age'];
$query = "INSERT INTO data SET mydata='$name, $age, $ip'";
$db->query($query);
}
, когда я сверну данные с помощью cmd, например, "curl -d name = peter -d age = 32 localhost / isproject / test. php ", я также хотел бы сохранить IP-адрес и передать его в базу данных MySQL, чтобы убедиться, что запись с именем и возрастом также идет с IP-адрес передачи.
Я проверил наличие нескольких сообщений и использовал следующий код:
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
$ip = $_SERVER["REMOTE_ADDR"];
}
Однако это приводит к вводу следующего изображения:
Это из-за неправильного использования кода или просто из-за того, что я свернулся с устройства, на котором размещен сервер? Независимо от того, я новичок в этой области, и я хотел бы получить обратную связь!