Foros del Web » Programando para Internet » PHP »

form action no funciona

Estas en el tema de form action no funciona en el foro de PHP en Foros del Web. Hola estoy modificando un codigo y tengo un fallo. Para ser breve explicare como funciona. Selecciono una Marca despues un modelo y despues el motor ...
  #1 (permalink)  
Antiguo 07/05/2014, 09:43
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta form action no funciona

Hola estoy modificando un codigo y tengo un fallo. Para ser breve explicare como funciona.
Selecciono una Marca despues un modelo y despues el motor y cuando le doy a Okey se supone que me tiene que llevar a una pagina donde seria piezas.php?id=330484 (donde 330484 varia segun la variables seleccionadas anteriormente.)

Ahora bien, el formulario de seleccion funciona correctamente, cuando elijo cualquiera me deja en piezas.php?id=
Termina en el = y no me completa la URL.

Este es el codigo no se si tengo algo mal o puede ser de algun include.


Código PHP:
<form id="fbuscador" name="fbuscador" method="post" action="piezas.php?id=<?php echo $motor->idMotor;?>">

                
<span>Marca:</span>
<select name="idMarca" id="idmarca" class="required">
<option value="">Elige marca</option>
<?php
if($marcas) {
foreach (
$marcas as $marca)
{
?>
<option value="<?php echo $marca->idMarca?>"><?php echo $marca->marca?></option>
<?php
//end foreach marca
//end if marcas
?>
</select>

<span>Modelo:</span>
<select style="width:110px" name="idModelo" id="idmodelo" class="required">
<option value="">Elige primero marca</option>
<?php
                        
if($modelos) {
                        foreach (
$modelos as $modelo)
                        {
                          
$motores $db->get_results("SELECT
                          motores.motor,
                          motores.idMotor
                          FROM
                          motores
                          WHERE
                          motores.idModelo = {$modelo->idModelo}
                          ORDER BY
                          motores.motor ASC"
);
?>
<option value="<?php echo $modelo->modelo?>">
<?php
                        
//end foreach modelo
                        
//end if modelos
?>
</select>

<span>Motor:</span>
<select style="width:120px" name="idMotor" id="idmotor" class="required">
<option value="">Elige primero modelo</option>
<?php
                        
if($motores) {
                        foreach (
$motores as $motor)
                        {
?>
<option value="<?php echo $motor->motor?>">
<?php
                        
//end foreach motor
                        
//end if motores
?>
</select>



<input type="image" name="bbusqueda" src="images/btn_busqueda.png" width="41" height="36" alt="Buscar en el reparador" />

</form>
Un saludo
  #2 (permalink)  
Antiguo 07/05/2014, 10:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: form action no funciona

Lo primero que debes entender es que PHP se ejecuta en el servidor, así que el cambiar la opción del <select> en el navegador no implica que tu variable $motor->idMotor se aplique en dicho action de tu formulario.

¿Por qué?

Porque PHP ya se ejecutó primero en el servidor, por lo que lo único que vez será el resultado: HTML.

Si necesitas ajustar dicho parámetros de manera dinámica podrías usar Javascript que es un lenguaje que se ejecuta en el navegador y es capaz de modificar tu documento.

Pero al final es innecesario porque un formulario simple debería ser suficiente, lo único que debes aprender es HTML básico, sobre todo con el manejo de formularios:

Código HTML:
Ver original
  1. <form action="script.php">
  2.   <select name="idMarca">
  3.     <option value="99">valor</option>
  4.   </select>
  5. </form>

Que claro, el formulario debe ser GET para que funcione correctamente.

Aunque por lo que se ve tu necesitas usar ambos métodos al mismo tiempo, es decir, buscas modificar el action dinámicamente y además necesitas que el formulario sea de tipo POST.

Lamento decir que necesitas estudiar bastante al respecto de cómo funciona PHP y cómo es que puedes interactuar dinámicamente con el navegador usando Javascript, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/05/2014, 10:31
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 3
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: form action no funciona

Me has dixho 3 cosas distintas, y asi puedo hacerme "la pixa un lio" aun mas.

Primeramente los objetos del formulario se basan en selecciones anteriores en base a marcas, a traves de MySQL.

Por otro lado, tengo el codigo funcionando pero en una especie de dropdown lateral y lo queria modificar a un desplegable.

Etiquetas: form, formulario, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.