Foros del Web » Programando para Internet » PHP »

Problema con dos submit de formularios distintos

Estas en el tema de Problema con dos submit de formularios distintos en el foro de PHP en Foros del Web. Estoy tratando de hacer un crucigrama para esto hago un select simple para elegir la dificultad del crucigrama y un boton para poder procesar la ...
  #1 (permalink)  
Antiguo 28/11/2014, 13:38
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta Problema con dos submit de formularios distintos

Estoy tratando de hacer un crucigrama para esto hago un select simple para elegir la dificultad del crucigrama y un boton para poder procesar la elección.
Código PHP:
echo"<form method='POST' action='proyecto.php'>\n";
            echo
"<p><SELECT NAME='cruci'>\n";
            echo 
"<OPTION value=0 selected> Seleccione un Crucigrama </OPTION>\n";
            echo
"<OPTION value=1 >Crucigrama F&aacute;cil </OPTION>\n";
            echo
"<OPTION value=2>Crucigrama Medio </OPTION>\n";
            echo
"<OPTION value=3 >Crucigrama Dif&iacute;cil </OPTION>\n";
            echo
"</SELECT>\n";
            echo
"<input type='submit' name='Enviar' value='Enviar'></p>\n";
        echo
"</form> \n";
        
        if (isset(
$_REQUEST['Enviar']))
        {
        if(isset(
$_POST["cruci"]))
        {
            switch (
$_POST["cruci"]) 
Fuera del form estoy preguntando si se clickeo el botón de Enviar y luego trato de averiguar que opción fue la seleccionada.
Mi problema es el siguiente: Dentro de cada eleccion de crucigrama tengo un nuevo form que creo para poder verificar las respuestas ingresadas...el problema es que al clickear el segundo boton (todo dirigido al mismo action) me "actualiza" la pagina y se la vuelve a ver como en el inicio, es decir se pierde el crucigrama elegido las respuestas ingresadas y por ende no estaría verificando.
Muchas gracias
  #2 (permalink)  
Antiguo 28/11/2014, 13:48
Avatar de solmedina87  
Fecha de Ingreso: noviembre-2014
Mensajes: 68
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Problema con dos submit de formularios distintos

Creo que necesitamos ver más código para poder ayudarte pero se me ocurre que no estés controlando el !isset? osea, controlás cuando está enviado el formulario, pero cuando no lo está es cuando te deberia mostrar .. no?

mmm Dentro de cada "case" tenes un nuevo form? y lleva al mismo action que el de arriba? por eso te recarga la página ..
  #3 (permalink)  
Antiguo 28/11/2014, 15:23
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problema con dos submit de formularios distintos

yo dentro de cada case tengo lo siguiente (un poco resumido)
Código PHP:
$j=0;
                    
$i=0;
                    
$n=6;
                    
$m=11;

                    echo 
"<form METHOD='POST' action='proyecto.php'>\n";
                    echo 
"<table>\n";  //me genera el crucigrama
                    
for ($i=0;$i<$n;$i++)
                    {
                        echo 
"<tr>\n";
                        for (
$j=0;$j<$m;$j++)
                        {
                            if (
$b[$i][$j]=="@" || $b[$i][$j]=="?")
                            {
                                echo 
"<td  style='padding:20px; background:black; width=55x ;height:40px'></td>\n";
                            }else
                            {
                                echo 
"<td  style='padding:35px; background:white; width=55px; height:40px '><p> <sup>" $z[$i][$j]. "</sup></p>\n"
                                if(isset(
$_POST["t$i$j"]))
                                {
                                    
$string=$_POST["t$i$j"];
                                    
//pregunto si se presiono verificar
                                    
if (isset($_REQUEST['Verificar']))
                                    {
                                        if (
$b[$i][$j]==$d[$i][$j])
                                        {
                                            echo 
"<p><font style='color:green; font-family:Arial'>".$d[$i][$j]."</font></p>\n";
                                        }else
                                        {
                                            echo 
"<input style='color:red; background:white; width:25px; height:25px; border-left:none; border-top:none; border-right:none; font-size:20px; text-transform:uppercase' class='box' type='text' maxlength='1' name='t$i$j' value='$string'>\n";
                                        }
                                    }    
                                }else 
                                { 
                                    echo 
"<input class='box' type='text' maxlength='1' name='t$i$j' value=''>\n";
                                }            
                
                                echo 
"</td>\n";
                
                            }    
                        }
                        echo 
"</tr>\n";
                    }    
    
                    echo 
"</table>\n";
                    echo 
"<p style='color:lightgrey; font-family:Arial; font-size:30px; font-weight: bold'> Verificaci&oacute;n: <INPUT TYPE='submit' NAME='Verificar' VALUE='!'></p>\n";  
                    echo 
"</form>\n"
Donde $b es un array de array donde esta la solución del crucigrama extraída de un csv, $d es lo que va ingresando el usuario que si no entiendo mal se va guardando asi:
Código PHP:
for ($i=0;$i<6;$i++)  //tiene 6 filas
                    
{
                        for (
$j=0;$j<11;$j++) //tiene 11 columnas
                        
{
                            if (isset(
$_REQUEST ["t$i$j"]))
                            {
                                
$d[$i][$j]=$_REQUEST [ucwords("t$i$j")];  
                            }
                            else 
                            {
                                
$d[$i][$j]="/";
                            }
        
                        }
                    } 
y por último $z es un array de array de los indices que esclarecen el crucigrama para saber dónde completar cada solución, también extraído de un csv.
En resumen, si los dos action de los forms van al mismo .php
Intente con que el segundo action te lleve a un .php distinto pero me pasa lo mismo cada vez que se apreta el botón verificar me actualiza la pagina (en este caso me actualiza esta nueva página) y se pierden los datos que ingresó el usuario
  #4 (permalink)  
Antiguo 28/11/2014, 20:50
Avatar de solmedina87  
Fecha de Ingreso: noviembre-2014
Mensajes: 68
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Problema con dos submit de formularios distintos

Yo empezaría probando imprimir las variables del formulario después que lo envias (osea después que hacen clic en el Verificar) o al menos cambiar el method=post por GET, para visualizar a simple vista en la URL si los valores de las variables del form están ahi... o como/porque decís que se pierden los datos del usuario? estás intentando recuperar los datos enviados por elform y mostrarlos en algún lado?

Etiquetas: distintos, formularios, select, submit
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 20:28.