Если IP в массиве нет - возвращать ругательство и делать редирект на другую страницу.
Проблема: Редирект происходит в любом случае.
Предполагаю, что это происходит в процессе перебора циклом foreach.
Как с этим бороться?
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- /*-----Скрипт должен проверять IP пользователя, если IP есть в списке (массиве),
- то возвращать приветствие, если IP нет в списке (массиве),
- то возвращать ругательство и перенаправлять пользователя на другую страницу.
- Проблема в том, что он перенаправляет всех пользователей? в том числе и с правильным IP
- ------*/
- // Список зарегистрированных пользователей с IP
- $user['Balbes']='192.168.0.22';
- $user['Trus']='192.168.0.23';
- $user['Byvaly']='192.168.0.24';
- $user['Ilya']='192.168.0.25';
- $user['Dobrynya']='192.168.0.26';
- $user['Alyosha']='192.168.0.27';
- $user['Admin']='127.0.0.1'; //Для проверки работы скрипта эту строчку нужно комментировать
- function userIP($user){
- foreach($user as $login=>$ip){
- if ($_SERVER[REMOTE_ADDR] == $ip) {
- $str="<h2 align='center'>Дорогой $login, рады вас видеть! Читайте и наслаждайтесь!</h2>";
- }else{
- $strRedirect='<meta http-equiv="refresh" content="5; url=index8reg.php">'; // !Почему-то эта строка кода срабатывает, даже когда условие в блоке IF верно.
- //Видимо, оно успевает срабатывать, пока цикл ведет перебор элементов массива. Как этого избежать? Если сюда написать строку echo - она тоже срабатывает, даже если верно решение в блоке IF
- $str="<h2>У вас нет прав доступа к нашему замечательному сайту. Пожалуйста, зарегистрируйтесь</h2>
- <h3>Через 5 секунд вы будете перенаправлены на страницу регистрации</h3>";}
- }
- return $userIPinput = array ("str"=>$str, "strRedirect"=>$strRedirect);
- }
- $userIPinput=userIP($user);
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <?= $userIPinput[strRedirect]; ?>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Зверски интересный сайт</title>
- </head>
- <body bgcolor="cyan">
- <h1>Жутко интересная страница</h1>
- <?=$userIPinput[str];?>
- </body>
- </html>