SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: mcastro en Lunes 27 de Mayo de 2013, 20:50

Título: Problemas al enviar (submit) un formulario en HTML
Publicado por: mcastro en Lunes 27 de Mayo de 2013, 20:50
Buenas tardes amigos de SOLOCODIGO, soy nuevo en PHP, y tengo un problema con un formulario de autenticación de usuarios. Este el formulario:
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Inventario D.E.A.S.</title>
       
        <script type = "text/javascript" src = "../Funciones/Js/ComprobarNavegador.js"></script>
        <link rel = "stylesheet" type = "text/css" href = "../Estilos/Estilos.css"/>
   </head>

   <body>
       <form name   = "LoginVis"
              action = "/SistemasPHP/InventarioDEAS/LoginCtl.php"
              id     = "Forma"
              method = "get">
           <br/>
            <br/>
            <br/>                                                                                   
            <br/>
            <br/>             

          <table align  = "center"
                   width  = "605"
                   height = "283"
                   border = "15">
                   
                <tr class = "Titulo">
                   <td colspan = "2">Sistema Inventario DEAS</td>
                </tr>
               
              <tr class = "FondoImagen">
                   <td width   = "400"
                        colspan = "2">
                      <img src    = "MisImagenes/logomppa.png"
                            alt    = ""
                             width  = "564"
                             height = "153" />
                    </td>
                  </tr>
               
                <tr align = "center"
                     style = "background-color:#39F">
                   <td>
                       <strong>
                         <label>Usuario</label>
                        </strong>
                       
                        &nbsp;
                       
                        <p> <input id      = "usuario"
                                   name    = "txtUsuario"
                                   type    = "text"
                                   onFocus = "this.value=''"/>
                        </p>
                    </td>
                   
                   <td>
                        <strong>
                          <label>Password</label>
                      </strong>
                       
                      &nbsp;
                   
                      <p> <input id      = "password"
                                 name    = "txtPassword"
                                 type    = "password"
                                 onFocus = "this.value=''"/>
                      </p>
                    </td>                   
                </tr>
<?php
                if (isset($_GET['Error'])):
                echo "<tr>" .
                       "<td align   = 'center' " .
                           "colspan = '2' " .
                         "class   = 'MensajesError'> " .
                         $_GET['Error'] .
                       "</td>" .
                    "</tr>";
            endif;
?>               
                <tr class   = "Pie">
                   <td align   = "right"
                        colspan = "2">
                        <input name    = "btnAceptar"
                               type    = "submit"
                               value   = "Aceptar"
                               style   = "font-size:20px""/>
                               
                        &nbsp; &nbsp; &nbsp;
                               
                        <input name  = "btnSalir"
                               type  = "submit"
                               value = "   Salir   "
                               style = "font-size:20px"/>
                               
                    </td>     
                </tr>
         </table>
           
            <br/>
            <br/>
            <br/>
            <br/>
            <br/>
            <br/>
           
            <input type = "hidden" value = "Autenticar" name = "Accion" />
      </form>
   </body>
</html>

Cuando presiono el botón SUBMIT(ACEPTAR) para ir al control especificado en el ACTION del formulario no hace nada, ni siquiera va al control especificado ¿por qué será? ¿pueden ayudarme?
Gracias de antemano por cualquier ayuda.
Título: Re:Problemas al enviar (submit) un formulario en HTML
Publicado por: RadicalEd en Lunes 27 de Mayo de 2013, 23:25
Lo acabo de probar y el botón Aceptar entró a esta dirección
http://localhost/SistemasPHP/InventarioDEAS/LoginCtl.php?txtUsuario=j&txtPassword=j&btnAceptar=Aceptar&Accion=Autenticar

PD. No uses GET en un formulario, siempre usa POST
Título: Re:Problemas al enviar (submit) un formulario en HTML
Publicado por: mcastro en Martes 28 de Mayo de 2013, 15:28
Gracias Edo por responder. El problema que veo es que no me parece que entra en LoginCtl.php que es el control donde valido los datos del formulario, es decir, en LoginCtl.php pongo echo "CUALQUIER COSA" y no ha aparece este mensaje y por ende no hace ninguna validación. Te mando de nuevo LoginCtl.php:
<?php
    session_start();

   require_once("../Clases/clsDB1.php");

   $Consulta = new PostgreSQL();
   
   switch($_GET['Accion']):
          case "Autenticar";
                $Usuario  = $_GET['txtUsuario'];
            $Password = $_GET['txtPassword'];
            
                $RegistroUsuario = $Consulta->Consultar("",
                                                    "\"tbl_Usuarios\" ",
                                          "WHERE usu_Login = '" . $Usuario . "' " .
                                          "AND   usu_Clave = '" . $Password . "'");
            
            if (count($RegistroUsuario) == 0):
                header("Location:/SistemasPHP/InventarioDeas/index.php?Error=Usuario no existe, intente de nuevo");
            else:
                header("Location:/SistemasPHP/InventarioDeas/ConsultaInventarioDeasCtl.php");
            endif;
         break;
   endswitch;

?>

El archivo del "require_once" está bién direccionado. Meto para probar un usuario inválido y no me arroja el mensaje de error que he puesto. Te agradezco cualquier ayuda y saludos.
Título: Re:Problemas al enviar (submit) un formulario en HTML
Publicado por: RadicalEd en Martes 28 de Mayo de 2013, 17:46
Tienes bien la dirección de los archivos, ósea, LoginCtl.php está en SistemasPHP/InventarioDEAS/LoginCtl.php por que tu error puede ser de error en dirección a la llamada del archivo
Título: Re:Problemas al enviar (submit) un formulario en HTML
Publicado por: mcastro en Martes 28 de Mayo de 2013, 21:11
La dirección está bien, creo haber chequeado todo y no veo por qué no entra en el control (LoginCtl.php) que es donde efectuo las validaciones correspondientes. En tu experiencia ¿que más necesito hacer? Gracias de nuevo.
Título: Re:Problemas al enviar (submit) un formulario en HTML
Publicado por: RadicalEd en Martes 28 de Mayo de 2013, 22:21
El problema es que si no te imprime un simple echo 'algo'; es por que no está llamando bien la dirección del archivo, prueba usando la función file_exists (http://php.net/manual/es/function.file-exists.php)