Работа со строками и переменными из HTML-форм в PHP - PullRequest
0 голосов
/ 25 февраля 2011

Я боролся с проблемой работы как в html, так и в php. в моем HTML у меня есть тег формы, который включает в себя:

<input type="text" name="car1" size="4" value="" /> car1

В моем php, у меня есть это:

$car1 = 'my favorite car is ' . $_POST['car1'];
echo $car1;

Я пытаюсь найти способ, чтобы когда пользователь ничего не вводил в поле car1 в html, echo $ car1; ничего не будет печатать или будет пустым, но когда пользователь что-то введет, $ car1 отобразит мою любимую машину $ car1.

Я пытался использовать if(empty() и if(isset(), но у меня возникли проблемы с его работой по какой-то причине.

Есть идеи, чтобы сделать это правильно? спасибо за помощь!

Ответы [ 4 ]

1 голос
/ 25 февраля 2011
if(!empty($_POST['car1'])){
$car1 = 'my favorite car is ' . $_POST['car1'];
echo $car1;
}
0 голосов
/ 25 февраля 2011
if(isset($_POST["car1"]))
    $car1 = "my favorite car is $_POST["car1"]";
else 
    $car1 = "";
return $car1 //if function or
echo $car1; //if general
0 голосов
/ 25 февраля 2011

Так же просто, как:

if (!empty($_POST['car1'])) {
    echo 'my favorite car is ' . htmlentities($_POST['car1']);
}

См. здесь , значения которого считаются пустыми . Если вы хотите больше контроля, используйте что-то вроде:

if (isset($_POST['car1']) && $_POST['car1'] !== '')

Вы должны

  • всегда проверяйте, являются ли ключи в $_POST !empty или isset перед их использованием
  • всегда HTML escape пользовательские данные для вывода
  • используйте ярлыки:

    <input type="text" name="car1" size="4" id="car1Input" value="" />
    <label for="car1Input">car1</label>
    
0 голосов
/ 25 февраля 2011

Попробуйте:

if ($_POST["car1"] !== "") {
    $car1 = "my favourite …";
} else {
    $car1 = "";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...