<select> и <option>проблемы в этом <form> - PullRequest
0 голосов
/ 06 марта 2011

я думал, что все в порядке:

 <form class="admin_form" id="blog" name="blog" method="post" action="/web/admin.php" >

   <h2>form_blog_section</h2>
   <select name="id_familia" id="id_familia" type="option" value="3">
         <option value ="3">Bicicletas</option>
         <option value ="5">Bike Fiting</option>
         <option value ="6">Rutas cicilstas</option>
         <option value ="7">Tienda</option>
   </select>

    <h2>form_blog_language</h2>
    <select name="id_lan" id="id_lan" type="option" value="2">
          <option value="2"><img src="/img/lan/2.png" />English</option>
          <option value="1"><img src="/img/lan/1.png" />Spanish</option>
    </select>


///// **from here it's not important but i'll still leave it in case**  /////////////
    <h2>form_blog_title</h2><input name="q" id="q" class="q" type="text" value=" "></input>
    <h2>form_blog_text</h2>
    <textarea name="texto" id="texto"  style="max-width:900px;min-width:90%;width:900px;height:400px;padding:2%;" cols="40" >Delete this text and enter here the content as will be thisplayed<br>Please note you can (and should) add styles to your text, images, etc</br></textarea>
    <h2>tags</h2>
    <input name="tags" id="tags" />
    <a href="" class="boton">preview</a>
    <input name="new_blog" id="new_blog" type="submit" value="form_post_blog_button" />
</form>

Проблема в том, что я получаю неожиданные значения, когда получаю входные значения с помощью PHP $ _post:

echo $_POST['id_familia'] => 0 echo $_POST['id_lan'] => 5

И нет таких с такими возможными значениями в виде:?И оба «невозможны»,

что я делаю не так?

Ответы [ 5 ]

2 голосов
/ 06 марта 2011

Я попробовал ваш код и получил

$_POST = Array
(
    [id_familia] => 3
    [id_lan] => 2
    [q] =>  
    [texto] => Delete this text and enter here the content as will be thisplayed<br>Please note you can (and should) add styles to your text, images, etc</br>
    [tags] => 
    [new_blog] => form_post_blog_button
)

Так что проблема должна быть где-то в вашем PHP-коде.Разве вы не перезаписываете $ _POST где-нибудь?

Попробуйте этот php-код и сообщите нам, что вы получаете:

<code>echo "<pre>".print_r($_POST,1)."
";

Кроме того, select s должно выглядеть следующим образом:

<h2>form_blog_section</h2>
<select name="id_familia" id="id_familia">
     <option value="3" selected="selected">Bicicletas</option>
     <option value="5">Bike Fiting</option>
     <option value="6">Rutas cicilstas</option>
     <option value="7">Tienda</option>
</select>

<h2>form_blog_language</h2>
<select name="id_lan" id="id_lan">
      <option value="2" selected="selected"><img src="/img/lan/2.png" />English</option>
      <option value="1"><img src="/img/lan/1.png" />Spanish</option>
</select>

Кроме того, я не думаю, что IMG разрешен в OPTION. Но это не должно вызывать никаких проблем, вероятно, просто не будет отображать изображение.

1 голос
/ 06 марта 2011

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

1 голос
/ 06 марта 2011

Я собираюсь пойти по касательной здесь и спросить:

Должны ли поля идентификатора и имени для обоих полей быть равными?Возможно, однажды утром я был пьян в классе, но у меня сложилось впечатление, что они не должны быть одинаковыми.

Я бы также рекомендовал использовать CSS при настройке стилей;это приводит к намного более чистому и поддерживаемому коду.

Редактировать: Неважно, один и тот же идентификатор и имя элемента допускаются.

1 голос
/ 06 марта 2011

Мне не нравятся пробелы в значениях при первом выборе.

и я думаю, что вам не нужны закрывающие теги для опции

, вы можете получить 0, если значение не установлено ввсе или если это не int (int) "" == 0 (int) "bla" == 0

, но я не уверен:)

также для хороших правил кодирования, я бы порекомендовалпараметры должны быть названы на английском языке, как должно быть в php-коде.и попробуйте использовать полные имена («язык», а не «LAN»).если вы вернетесь к коду через пару лет, вы будете очень смущены

0 голосов
/ 06 марта 2011

Попробуй это.(У вас не должно быть пробелов или.)

Кроме того, вы не должны иметь тип или значение в объявлении выбора.Поле имени также не должно быть в форме.

<form class="admin_form" id="blog" method="post" action="/web/admin.php" >

   <h2>form_blog_section</h2>
   <select name="id_familia" id="id_familia">
         <option value="3">Bicicletas
         <option value="5">Bike Fiting
         <option value="6">Rutas cicilstas
         <option value="7">Tienda
   </select>

    <h2>form_blog_language</h2>
    <select name="id_lan" id="id_lan">
          <option value="2"><img src="/img/lan/2.png" />English
          <option value="1"><img src="/img/lan/1.png" />Spanish
    </select>
    <h2>form_blog_title</h2><input name="q" id="q" class="q" type="text" value="" />
    <h2>form_blog_text</h2>
    <textarea name="texto" id="texto"  style="max-width:900px;min-width:90%;width:900px;height:400px;padding:2%;" cols="40" >Delete this text and enter here the content as will be thisplayed<br>Please note you can (and should) add styles to your text, images, etc</br></textarea>
    <h2>tags</h2>
    <input type="text" name="tags" id="tags" />
    <a href="" class="boton">preview</a>
    <input name="new_blog" id="new_blog" type="submit" value="form_post_blog_button" />
</form>

У вас было много ошибок в вашем коде.Попробуйте это и посмотрите, что получится.

...