Значения по умолчанию по запросу переменной

0

У меня есть одна форма, как показано ниже в test1.php

<form action="test.php?CID=25" name="form1" METHOD="POST">
    <input type=text name="YID" VALUE="22" />
    <INPUT TYPE=SUBMIT NAME="SUBMIT" />
</form>

Файл test.php запросит переменную CID и YID.

в классическом asp я могу запросить обе переменные, как показано ниже.

CID=REQUEST("CID")
YID=REQUEST("YID")

ЗАПРОС будет работать для обоих. Поскольку CID - это переменная, которая будет отображаться в гиперссылке, как показано ниже

http://localhost/test.php?CID=25

при отправке формы в test1.php.

в классическом asp, если какая-либо переменная не определена, я могу обрабатывать переменную, как показано ниже.

CID=REQUEST("CID"):if isnull(CID) or trim(CID)="" then CID=0
YID=REQUEST("YID"):if isnull(YID) or trim(YID)="" then YID=0

Как это можно сделать в PHP.

Теги:
forms

3 ответа

1
Лучший ответ

Для этого URL:

http://localhost/test.php?CID=25

Если вы хотите использовать значение CID:

$_GET['CID']

Из формы POST, содержащей:

<input type=text name="YID" VALUE="22" />

Вы бы использовали

$_POST['YID']

Если вам нужно проверить, настроен ли установленный, вы можете использовать

$value = isset($_POST['YID']) ? $_POST['YID'] : '';

Это сокращение для

if(isset($_POST['YID'])){
  $value = $_POST['YID'];
} else {
  $value = 0; // or FALSE or null or '' or any default value you want
}
  • 0
    Что делать, если CID размещен из файла test2.php. Можно ли обрабатывать оба с помощью $ _request []. а что такое CID вообще не обладает.
  • 0
    Неважно, из какого файла поступил запрос. Сценарий, который отвечает на запрос, имеет доступ к значениям $ _GET и $ _POST, содержащимся в запросе. $ _REQUEST будет работать (если он включен, я думаю), но мне никогда не приходилось использовать его самостоятельно. Я отредактировал свой ответ для неустановленных переменных.
Показать ещё 1 комментарий
0
  $CID = (isset($_GET['CID']) and $_GET['CID'] != '') ? $_GET['CID'] : 0;
  $YID = (isset($_POST['YID']) and $_POST['YID'] != '') ? $_POST['YID'] : 0;
0

вы можете это сделать

$_REQUEST['CID']==null ? ($CID=0) : ($CID=$_REQUEST['CID']);

или это может быть used-

function getIfSet(&$value, $default = 0)
{
    return isset($value) ? $value : $default;
}

$CID = getIfSet($_REQUEST["CID"]);
  • 0
    Это будет работать, но будет выдавать уведомление, если $ _REQUEST ['CID'] не установлен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню