what type how form action_page php html forms post

php - how - input type text



Formulario HTML enviar a script PHP (6)

Estoy haciendo un formulario HTML. Quiero que los resultados aparezcan en el script PHP.

<form action="chk_kw.php" method="post"> <br /> <select> name="website_string" <option value="" selected="selected"></option> <option VALUE="abc"> ABC</option> <option VALUE="def"> def</option> <option VALUE="hij"> hij/option> </select> <input type="submit" name="website_string" > </form>

El problema es que no puedo pasar el valor al PHP. si uso valor:

<INPUT TYPE="submit" name="website_string" value="selected" >

Siempre pasa el texto en las comillas. En este caso "selected" . ¿Cómo paso una de las cadenas de la opción?


Aquí es lo que encuentro obras.

  1. Establecer un form name
  2. Utilice una default select option , por ejemplo ...

    <option value="-1" selected>Please Select</option>

De modo que si se envía el formulario, el uso de JavaScript para detener el proceso de envío también se puede implementar y verificar en el servidor.

  1. Trate de usar atributos HTML5 ahora que son compatibles.

Esta entrada

<input type="submit">

debiera ser

<input name="Submit" type="submit" value="Submit">

Cada vez que uso un formulario que falla, es un error debido a la diferencia en llamar al nombre del botón submit y al nombre como Submit .

También debe establecer su atributo enctype para su formulario, ya que los formularios fallan en mi servidor web si no está configurado.


Para su forma real, si solo publicara los resultados en su misma página, probablemente debería funcionar bien. Intenta algo como:

<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>


Parece que en PHP está obteniendo el valor del botón de envío, no la entrada de selección. Si está utilizando GET, querrá usar $_GET[''website_string''] o POST sería $_POST[''website_string''] .

Probablemente querrás el siguiente HTML:

<select name="website_string"> <option value="" selected="selected"></option> <option value="abc">ABC</option> <option value="def">def</option> <option value="hij">hij</option> </select> <input type="submit" />

Con algún PHP que se ve así:

<?php $website_string = $_POST[''website_string'']; // or $_GET[''website_string'']; ?>


Prueba esto:

<form method="post" action="check.php"> <select name="website_string"> <option value="" selected="selected"></option> <option VALUE="abc"> ABC</option> <option VALUE="def"> def</option> <option VALUE="hij"> hij</option> </select> <input TYPE="submit" name="submit" /> </form>

Tanto el control de selección como el botón de envío tenían el mismo atributo de name , por lo que el último utilizado fue el botón de envío cuando lo seleccionó. Todos los demás errores de sintaxis a un lado.

check.php

<?php echo $_POST[''website_string'']; ?>

Exención de responsabilidad obligatoria sobre el uso de datos $_POST procesar. Desinfecte todo lo que realmente utilizará en la lógica de la aplicación .


Suponiendo que haya corregido los errores de sintaxis (ha cerrado el cuadro de selección antes del atributo de nombre), está utilizando el mismo nombre para el cuadro de selección que el botón de envío. Dale al cuadro de selección un nombre diferente.


<form method="POST" action="chk_kw.php"> <select name="website_string"> <option selected="selected"></option> <option value="abc">abc</option> <option value="def">def</option> <option value="hij">hij</option> </select> <input type="submit"> </form>


  • A medida que su formulario se vuelve más complejo, puede realizar una comprobación rápida en la parte superior de su script php usando print_r($_POST); , mostrará lo que se está enviando y el nombre del elemento respectivo.
  • Para obtener el valor enviado del elemento en cuestión haga:

    $website_string = $_POST[''website_string''];