Простой PHP внутри HTML SELECT не работает

#php #html #forms #select

#php #HTML #формы #выберите

Вопрос:

Я пытаюсь выполнить следующий код:

 <label for="gender">Gender*: </label>
<select name="user[test]" id="gender">
<? echo "THISISATEST"?>
<option value="-1"> - Select - </option>
</select>
  

И это ничего не делает.

Тем не менее, это работает нормально:

 <select name="user[test]" id="gender">
<option value="-1"> - Select - </option>
</select>
<? echo "THISISATEST"?>
  

Что происходит?

Спасибо!

Редактировать: я идиот, я пытался упростить проблему для публикации здесь, оказывается, что эхо появляется в сорусе, а строка, в которой я пытаюсь динамически создать just, не работает. Сумасшедший. Я забыл заключить свое сокращение if?else: в квадратные скобки, из-за чего вся строка не отображалась.

Спасибо

Комментарии:

1. с какой целью вы хотите создавать параметры с помощью php ?.

Ответ №1:

 <select name="user[test]" id="gender">
    <? echo "THISISATEST"?> /// You can't echo string inside <select></select>
    <option value="-1"> - Select - </option>
</select>
  

Скорее сделайте

 <select name="user[test]" id="gender">
    <option value="0"><? echo "THISISATEST"?></option>  // This will work
    <option value="1"> - Select - </option>
</select>
  

Ответ №2:

 <select name="user[test]" id="gender">
<option value="<?php
 echo "THISISATEST";
 ?>"><?php
 echo "THISISATEST";
 ?></option>  // This will work
<option value="1"> - Select - </option>
  

Это должно работать нормально. Вы также можете ввести желаемое значение

Ответ №3:

Вы полностью уверены, что короткие теги включены на вашем сервере? Я бы просто перепроверил <?php echo "THISISATEST"; ?> и посмотрел, улучшит ли это вашу удачу. Кроме того, вы просматривали исходный код — потому что это значение могло быть скрыто на отображаемой странице при выборе как таковом.

Ответ №4:

Просто. Ваш браузер игнорирует текстовые узлы под select узлом. Этого нет в спецификации HTML, поэтому браузеры могут изменять его, как им нравится.