Intereting Posts
Функция как значение массива PHP принимает строку и проверяет, существует ли эта строка как переменная Продолжать скрывать поля ввода HTML при обновлении страницы? Как заменить несколько символов одинаковым количеством символов регулярным выражением? Чтобы получить много тегов для эффективного ответа от Postgres по PHP Правильный способ предотвращения дублирования записей с использованием MySQL или PHP Создание таблицы для базы данных с использованием php-скрипта, не работает? Передайте выбранные данные о вариациях продукта в форму запроса контактной формы 7 Сохраните строку, добавленную в запрос uri Неустранимая ошибка: Class 'Stripe' не найден в C: \ wamp \ www \ Ошибка в системе бронирования календаря Ответ SMTP-сервера: 530 5.7.0 Сначала необходимо выполнить команду STARTTLS Доступ к Phpmyadmin запрещен после перехода на более старые версии PHP / Apache на Wampserver Codeigniter Cart Class – дополнительная цена для продуктов Переопределение стратегии генерации идентификатора по умолчанию не влияет на ассоциации

HTML / PHP – значение ввода по умолчанию

У меня есть почтовая php-форма и набор входов:

  1. Ваше имя
  2. Ваша фамилия
  3. Мое имя

Каждый вход выглядит одинаково, меняются только имена:

<input type="text" name="your_name" value="<?php echo get_option('your_name'); ?>" /> 

Как установить значения по умолчанию, когда значение = недоступно?

[редактировать]

Итак, обычно я бы сделал что-то вроде:

 <input type="text" name="your_name" value="Mike" /> 

Но в этом случае у меня есть PHP-скрипт, который захватывает входные данные и отображает их с помощью value="<?php echo get_option('your_name'); ?>" . Поэтому я не знаю, как заставить мою форму отображать «Майк» на моем входе.

Solutions Collecting From Web of "HTML / PHP – значение ввода по умолчанию"

Сначала нужно проверить возврат get_option и заменить что-то, если по умолчанию недоступно

 <?php $default = get_option('your_name'); if( $default == "") { $default = <whatever your default value is>; } ?> <input type="text" name="your_name" value="<?php echo $default; ?>" /> 

Измените get_option, чтобы вернуть пустую строку (или что-то еще), если значение по умолчанию недоступно.

вы можете изменить get_option() чтобы быть чем-то вроде

 function get_option($name) { $defaults = array( 'fist_name' => 'Mike', 'fist_name' => 'Wordpressor', 'my_name' => 'Dunno' ); // get the value from the $defaults array $val = $defaults[$name]; // but if the same value has already been posted - replace the default one if (isset($_POST[$name])) { $val = $_POST[$name]; } return $val; } 

Поскольку value является value по умолчанию, просто добавьте условие вокруг функции get_option , возможно, что-то вроде этого:

 <input type="text" name="your_name" value="<?php $var = get_option('your_name'); if ($var == '') $var = 'your_default'; echo $var; ?>" /> 

Вы можете сделать оператор switch и по умолчанию быть тем, кем хотите.

Я согласен с Тенеффом, но я сломаю его.

В index.php у меня было бы следующее в верхней части документа

 <? $defaultText = include 'default_text.php'; ?> 

где ваши формы будут такими:

 <form method="post" action=""> <input id="names"><? echo $defaultText; ?> </input> </form> 

то у меня был бы отдельный файл на корневом уровне под названием «default_text.php».

 <? $Name = <<<EOD Name EOD; return $Name; ?> 
 <input type="text" name="your_name" value="<?php echo empty(get_option('your_name')) ? "TheDefaultValue" : get_option('your_name'); ?>" /> 

Вы можете использовать мою крошечную библиотеку ValueResolver в этом случае, например:

 $default = ValueResolver::resolve(get_option('your_name'), '<whatever your default value is>'); 

и не забывайте использовать использование пространства имен use LapaLabs\ValueResolver\Resolver\ValueResolver;

Также есть возможность приведения типов, например, если значение переменной должно быть integer , поэтому используйте это:

 $id = ValueResolver::toInteger('6 apples', 1); // returns 6 $id = ValueResolver::toInteger('There are no apples', 1); // returns 1 (used default value) 

Проверьте документы для получения дополнительных примеров.

Это как я решил эту проблему в своей проблеме, которая, как мне кажется, схожа, когда читается $ _POST, значение заполняется из значения $ _POST, иначе задает значение по умолчанию Майка

 value="<?php if (isset($_POST['name'])) echo $_POST['name']; else echo "Mike"?>" > 

Надеюсь, это поможет кому-то в будущем

Просто используйте тернарный оператор. его довольно легко попробовать это

 $default = 'Mike'; $your_name = get_option('your_name'); $condition = !empty($your_name) ? $your_name : $default; <input type="text" name="your_name" value="<?php echo $condition; ?>" /> 

Задайте некоторую переменную с начальными переменными.

как

 $name_val = ""; if(isset($_POST["your_name"]) { $name_val = $_POST["your_name"]; } <input type="text" name="your_name" value="<?= $name_val?>">