2013-11-21 4 views
1

Как сравнить запрос сервера и строку в PHP?Сравнение url и строки

Я не делал никаких веб-разработок за многие годы и полностью забыл.

<?php 
     $min = 0; $max = 9; 
     $index = 0; $pages = 2; 

     for($i = 1; $i <= $pages; $i++){ 
      if($_SERVER['REQUEST_URI'] == '/index.php?id='.(string)$i){ 
       $index = $i - 1; 
       $min = $i * 9; 
       $max = 2 * $min; 
      } 
     } 
?> 
+0

Выглядит хорошо для меня, что не работает? – Jimmyt1988

+0

Когда я скажу /index.php?id=1, оператор if не выполняет – WK8FBnfhrQc5G9Mh

+3

Если вы пытаетесь выяснить, что означает «id», используйте '$ _GET ['id']' –

ответ

-1

Если вы пытаетесь выяснить, что «идентификатор» равно использовать $_GET['id']

if ($_GET['id'] === 1) { 
    print "one"; 
} 

Другой вариант:

switch ($_GET['id']) { 
    case 1: 
     print "one"; 
     break; 
    case default: 
     print "invalid"; 
     break; 
} 

http://php.net/manual/en/control-structures.switch.php

+2

было бы лучше использовать строгое сравнение со строками '$ _GET ['id'] === '0'', потому что' 'php' == 0 => true'. см. [таблицы сравнения типов PHP] (http://www.php.net/manual/de/types.comparisons.php) – bitWorking

0

Если вы только пытаетесь сравнить параметры URI, вы можете сделать это следующим образом:

$min = 0; $max = 9; 
$index = 0; $pages = 2; 
for ($i = 1; $i <= $pages; $i++) { 
    if ($_GET['id'] == $i) { 
     $index = $i - 1; 
     $min = $i * 9; 
     $max = 2 * $min; 
    } 
} 

$ _GET и $ _POST позволяют получить доступ к параметрам, как id=10&id2=100&name=aust через $_GET['id'], $_GET['id2'] и $_GET['name']

0

В PHP Ваш запрос будет в $ _GET или $ _POST (или $ _REQUEST, если вы хотите, так или иначе)

Смежные вопросы