Please fix this code, the error are Undefined index: when the otp_request_count.json is empty.
<?php
$file = 'otp_request_count.json';
$data = file_get_contents($file);
$requestData = json_decode($data, true);
$ip = $_SERVER['REMOTE_ADDR'];
$username = 'username'; // Replace with your actual username variable
if (time() - $requestData['requests'][$ip][$username]['last_request_time'] > 60) {
unset($requestData['requests'][$ip]);
}
if ($requestData['requests'][$ip][$username]['count'] < 3 || time() - $requestData['requests'][$ip][$username]['last_request_time'] > 60) {
// Allow OTP request
$requestData['requests'][$ip][$username]['count']++;
$requestData['requests'][$ip][$username]['last_request_time'] = time();
// Generate and send OTP
// ...
// Write the updated request data back to the JSON file
$data = json_encode($requestData);
file_put_contents($file, $data);
echo "Success";
} else {
// Display error message
$data = (time() - $requestData['requests'][$ip][$username]['last_request_time']);
$time = (60 - $data);
echo "Maximum OTP request limit exceeded. Please try again in ".$time." second(s).";
}
?>
<?php
$file = 'otp_request_count.json';
$data = file_get_contents($file);
$requestData = json_decode($data, true);
$ip = $_SERVER['REMOTE_ADDR'];
$username = 'username'; // Replace with your actual username variable
if (time() - $requestData['requests'][$ip][$username]['last_request_time'] > 60) {
unset($requestData['requests'][$ip]);
}
if ($requestData['requests'][$ip][$username]['count'] < 3 || time() - $requestData['requests'][$ip][$username]['last_request_time'] > 60) {
// Allow OTP request
$requestData['requests'][$ip][$username]['count']++;
$requestData['requests'][$ip][$username]['last_request_time'] = time();
// Generate and send OTP
// ...
// Write the updated request data back to the JSON file
$data = json_encode($requestData);
file_put_contents($file, $data);
echo "Success";
} else {
// Display error message
$data = (time() - $requestData['requests'][$ip][$username]['last_request_time']);
$time = (60 - $data);
echo "Maximum OTP request limit exceeded. Please try again in ".$time." second(s).";
}
?>