Async Tree — jQuery EasyUI Demo

Php get не равен

Здравствуйте..
Я решил попробовать написать свою доску объявлений.

При каждом значении в ГЕТ исполняется своя функция.

if(!isset( $_GET [ «» ])) alltovar ( $rock , $tovarsql , $alltovar , $smarty , $templates ); else echo( ‘Извините, нету данных!’ );
if( $_GET [ «server» ] === «» ) serverall ( $server , $serversql , $servertovar , $smarty , $templates );
if( $_GET [ «client» ] === «» ) clientfun ( $funcclient , $clientfunsql , $clientfun , $smarty , $templates );
if( $_GET [ «core» ] === «» ) core ( $core , $coresql , $coretovar , $smarty , $templates );
if( $_GET [ «geodata» ] === «» ) geodata ( $geodata , $geosql , $geotovar , $smarty , $templates );
if( $_GET [ «web» ] === «» ) web ( $web , $websql , $webtovar , $smarty , $templates );
if( $_GET [ «script» ] === «» ) javascript ( $javascript , $javascriptsql , $javascripttovar , $smarty , $templates );
if( $_GET [ «services» ] === «» ) services ( $services , $servicessql , $servicestovar , $smarty , $templates );
if( $_GET [ «npc» ] === «» ) npc ( $npc , $npcsql , $npctovar , $smarty , $templates );
if( $_GET [ «more» ] === «» ) more ( $more , $moresql , $moretovar , $smarty , $templates );

Собственно , не получается сделать так, что если гет равен чему-то другому, не из этого списка, тогда выполнилась какая-то другая функция.
Проще говоря, предвидеть возможность если человек в адресной строке напишет что-то другое, неизвестное.
Вот не знаю, может как-то через свич можно, пробовал через elseif, но почему-то вообще перестает работать вся конструкция.

Источник

Проверка значения PHP $ _GET с использованием оператора if

Я хочу проверить значение переменной GET с помощью оператора if. Вот код, который у меня есть:

if(isset($_GET["v"]) == "test1") < echo 'It worked: test1 loaded'; >if(isset($_GET["v"]) == "test2")

Я хочу иметь возможность изменять содержимое, которое загружается на странице, в зависимости от информации в URL. Подобно тому, как все видео на YouTube находятся в одном файле «просмотра», но имеют послесловие запроса $ _Get, которое определяет, какое видео загрузить: www.youtube.com/watch?v=mNZLhuW8vk

Читайте также:  Специальные методы в питоне

Но это не работает, поэтому я предполагаю, что мое утверждение if испорчено.

3 ответа

isset() возвращает true или false , который не равен «test1», чтобы получить желаемое поведение, вам необходимо оценить фактическое значение $_GET[‘v’] следующим образом:

if(isset($_GET["v"]) && $_GET['v'] == "test1") < echo 'It worked: test1 loaded'; >if(isset($_GET["v"]) && $_GET['v'] == "test2")
if(isset($_GET["v"]) && $_GET['v'] == "test1") < echo 'It worked: test1 loaded'; >else if(isset($_GET["v"]) && $_GET['v'] == "test2")

Или используйте переключатель, когда есть слишком много вариантов

if(isset($_GET["v"])) < switch($_GET["v"]) < case "test1": echo 'It worked: test1 loaded'; break; case "test2": echo 'It worked: test2 loaded'; default: echo 'Not Recognized'; break; >> if(isset($_GET["v"]) == "test1") 

Ваше выражение неверно, потому что isset() возвращает логическое значение, а затем вы проверяете строку if(bool == string) всегда ложно

Разбейте ваши условия на 2 отдельных условия, поскольку то, что у вас есть сейчас, всегда будет считаться установленным.

Следующее интерпретируется как: если установлено и равно:

«Х» является представительным значением того, что вы ищете.

Источник

$ _GET не равен нулю и возвращает неопределенный идентификатор

Я пытаюсь решить проблему с неопределенным идентификатором, но я не могу. Он говорит мне, что у меня есть неопределенный идентификатор, но если я не использую «isset», программа работает очень хорошо, но мне нужен файл, который выводит информацию вместо:

Notice: Undefined index: id in C:\xampp\htdocs\treeview_v2\load_url_db.php on line 17 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\treeview_v2\load_url_db.php on line 23 Notice: Undefined variable: url in C:\xampp\htdocs\treeview_v2\load_url_db.php on line 27. 
 //else // < // echo 'erro. '; //>$a = $_GET['id']; echo $a; read_url($a); function read_url($id) < $rs = mysql_query("select url from dados3 where while($row = mysql_fetch_array($rs)) < $url = $row["url"]; >echo ""; > ?> 
               

Источник

PHP INPUT GET не равен строке PHP

Я хочу загрузить некоторые страницы с помощью ввода GET, но когда я пытаюсь сравнить его с if, это не сработает.

http://localhost/?page=%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC 

Затем, когда я пытаюсь использовать код ниже

if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC")

в любом случае не работает, но отлично работает с английскими символами.

var_dump($_GET) и посмотреть, с чем вам на самом деле придется играть — edmondscommerce

Начните с регистрации содержимого $_GET[‘page’] чтобы увидеть, что он содержит в обоих случаях. Также убедитесь, что ваш скрипт сохранен в правильной кодировке (UTF-8) — jcaron

Конечно, мы предполагаем, что приведенный выше код не является тем, что вы на самом деле используете, и что вы используете == и не = сравнивать! — jcaron

@jcaron Вероятно, щедрое предположение — RiggsFolly

@jcaron Извините, все, это была опечатка, и это произошло дважды, потому что я скопировал и вставил код. Это был пример, и в реальном мире я использую равный операнд == — Pejman Ghasemi

1 ответы

Во-первых, в PHP вы не можете сравнивать типы данных, используя один = подпишите так: if($_GET[‘page’]=»%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC»)

Ваш код, скорее всего, будет работать, если вы сделаете это:

РЕДАКТИРОВАТЬ

Следующий код должен работать, я тестировал его на PHP. Пример скрипта PHP

if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC")

Ну, это опечатка при написании примера на этой странице, я использую равный == операнд. И ваш ответ не совсем хорош, потому что в этом случае я получу истинный результат, а не ложный; — Пейман Гасеми

Почему бы вам просто не изменить строку запроса страницы, чтобы использовать параметры на английском языке? Или вы могли бы посмотреть на: php.net/manual/en/function.htmlspecialchars.php or php.net/manual/en/function.urlencode.php — Жак Кёкемер

У меня нет проблем, когда я отправляю формы через html с помощью GET и отлично работает. Но когда я ввожу значение в URL-адрес вручную, это не работает. Однако с помощью urlencode можно решить проблему, но когда я хочу проверить оператор if, мне приходится использовать $_GET[‘page’]==»%D8%AA%D8%B3%D8%AA_%D9%BE%DB% 8C%D8%AC» — Пейман Гасеми

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками php or задайте свой вопрос.

Источник

PHP INPUT GET не равен строке PHP

Я хочу загрузить некоторые страницы с помощью ввода GET, но когда я пытаюсь сравнить его с if, это не сработает.

http://localhost/?page=%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC 

Затем, когда я пытаюсь использовать код ниже

if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC")

В любом случае не работает, но отлично работает с английскими символами.

Начните с регистрации содержимого $_GET[‘page’] , чтобы увидеть, что оно содержит в обоих случаях. Также убедитесь, что ваш скрипт сохранен в правильной кодировке (UTF-8).

Конечно, мы предполагаем, что приведенный выше код — это не то, что вы на самом деле используете, и что вы используете == , а не = для сравнения!

Извините Все, это была опечатка и повторяется дважды, потому что я скопировал и вставил код. Это был пример, и в реальном мире я использую равный операнд ==

1 ответ

Во-первых, в PHP вы не можете сравнивать типы данных, используя один знак = , например: if($_GET[‘page’]=»%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC»)

Ваш код, скорее всего, будет работать, если вы сделаете это:

Следующий код должен работать, я тестировал его на PHP. Пример скрипта PHP

if($_GET['page']=="%D8%AA%D8%B3%D8%AA_%D9%BE%DB%8C%D8%AC")

Ну, это опечатка при написании примера на этой странице, я использую равный == операнд. И ваш ответ не совсем хорош, потому что в этом случае я получу истинный результат, а не ложный;

Почему бы вам просто не изменить строку запроса страницы, чтобы использовать параметры на английском языке? Или вы можете взглянуть на: php.net/manual/en/function.htmlspecialchars. php или php.net/manual/en/function.urlencode.php

У меня нет проблем. Когда я отправляю формы через html с помощью GET, все работает нормально. Но когда я ввожу значение в URL-адрес вручную, это не работает. Однако с помощью urlencode можно решить проблему, но когда я хочу проверить оператор if, мне приходится использовать $_GET[‘page’]==»%D8%AA%D8%B3%D8%AA_%D9%BE%DB% 8C%D8%AC»

Источник

Оцените статью