Formulario en PHP
Hola buenas, hace mucho que no entro por aqui pero llevo dias buscando a esta pregunta una solución y no la encuentro, he mirado por 800 foros y no encuentro nada.
Teniendo el código de abajo, ¿Cómo hago una condición respecto a un formulario? Me explico mejor, quiero hacer esto: Si seleccionamos el campo "asimetrica" imprimir por pantalla algo, si el campo seleccionado es "simetrica" imprimir otra cosa. ¿Alguien sabe como?
<form action="accion.php" method="post">
<input type="radio" name="clave" value="asimetrica" > Asimétrica
<input type="radio" name="clave" value="simetrica" > Simétrica
<p>Usuario 1: <input type="text" name="nombre" /></p>
<p>Semilla: <input type="text" name="edad" /></p>
<p>Tipo: <input type="text" name="edad" /></p>
<p><input type="submit" /></p>
</form>
Desarrollo
Si no me equivoco tenes que poner un código php que recoja el valor que pases por el radio y guardarlo en una variable y luego con un IF dependiendo la opcion que pones pues muestras una cosa o otra.
Para empezar Semilla y Tipo tienen el mismo “name”.
Luego debes crear una nueva página en php de control, llamada como quieras (pero yo suelo poner “control_form.php” o similares para saber qué controlas) y que pille los datos del formulario que pasas por método “post”.
Ahí para gestionar los datos y que muestre uno u otro en función del radio button, pon lo siguiente:
[code=php]
$clave = $_POST[‘clave’];
$user = substr(trim(htmlspecialchars($_POST[‘nombre’]));
$semilla = $_POST[‘semilla’];
$tipo = $_POST[‘tipo’];
switch ($clave)
{
case “asimetrica”:
echo “Ha seleccionado Asimétrica…”;
break;
case “simetrica”:
echo “Ha seleccionado Simétrica…”
break;
}
echo “Su nombre es “ .$user;
echo “La semilla es “ .$semilla;
echo “ Y el tipo es “ .$tipo;
</pre>
U otra opción para mostrar los datos:
Eso sobra, es que al editar y añadir más código se “peta” el comentario jeje
Esta pregunta lleva demasiado tiempo abierta y se encuentra en paupérrimas condiciones. Por consiguiente me siento con la obligación de cerrarla. Si alguna de las respuestas es válida por favor avisad al staff.