За последние 24 часа нас посетили 22884 программиста и 1211 роботов. Сейчас ищут 716 программистов ...

Как подставить в if проверку числа от 1-10

Тема в разделе "PHP для новичков", создана пользователем Dasderdas, 13 сен 2022.

  1. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    Хочу сделать if проверку что если в ключе есть значение не соответствующие 1-10 то происходит переадресация. Я пробовал пару штук, но происходит бесконечная переадресация
    PHP:
    1. $newurl_a = explode('?', $url_a);
    2. if($newurl_a[1] != 'page='.//тут должны подставляться числа 1-10) {
    3.     header('Location:'. $url);
    4. }
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    А что содержится в $url_a?
     
  3. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    адрес текущей страницы, а имеет значение?
     
    #3 Dasderdas, 14 сен 2022
    Последнее редактирование: 14 сен 2022
  4. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    В вашем коде имеет.
    Там подразумевается, что после path всегда есть некий query
    Код (Text):
    1. path.php?query#fragment
     
  5. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    Отлично! Так а как проверку сделать то?
     
  6. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Проверку чего?
    У вас $newurl_a[1] не существует, потому, что в $url_a нет "?".
    Предвосхищая следующий вопрос.
    Приведите пример адреса текущей страницы введя который вы получаете бесконечную переадресацию
     
  7. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    А, виноват, не дописал условие. пардон
    PHP:
    1. $newurl_a = explode('?', $url_a);
    2. if(strpos($newurl_a[1], 'page='./*тут должны подставляться числа 1-10*/) === false) {
    3.     header('Location:'. $url);
    4. }
     
  8. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    PHP:
    1. <?php
    2. $page = 1;
    3.  
    4. $max = 10;
    5.  
    6. if(isset($_GET['page']))
    7. {
    8.   $abs =  abs((int)$_GET['page']);
    9.  
    10.    if($abs >= $page && $abs <= $max)
    11.    {
    12.      $page = $abs;
    13.    }
    14. }
    15.  
    16.  
    17. echo $page;
    18. ?>
     
    #8 Drunkenmunky, 14 сен 2022
    Последнее редактирование: 14 сен 2022
    Dasderdas нравится это.
  9. Dasderdas

    Dasderdas Новичок

    С нами с:
    29 мар 2022
    Сообщения:
    69
    Симпатии:
    0
    Спасибо!
     
  10. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Кстати, abs() там лишнее, это я с утра перемудрил.
    Но нехай будет, как пример того как ввод форматировать.