elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  variable post pasa sin valor.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: variable post pasa sin valor.  (Leído 1,803 veces)
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
variable post pasa sin valor.
« en: 28 Septiembre 2014, 09:34 am »

Hola a todos.
Bueno mi problema es que al pasar un valor por el metodo post desde un formulario y al usar el valor de post en php obtengo una variable vacia y no se porque, mi codigo es este.

index.html
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang = "es">
  3. <head>
  4. <title>S</title>
  5. <meta name="description" content="S" />
  6. <meta name="keywords" content="H" />
  7. <meta http-equiv="Content-type" content="text/html: charset=iso-8859-1" />
  8. <link rel="StyleSheet" type="text/css" href="css/style-main.css" media="screen" />
  9. </head>
  10. <body>
  11. <div id="wrapper-main">
  12. <div id="wrapper">
  13. <div id="form-session">
  14. <form id="login" enctype="text/plain" method="post" action="php/session.php">
  15.                                            <table id="form-session">
  16.                                                <tr>
  17.                                                    <td><label>Inicio de sesi&oacute;n</label></td>
  18.                                                    <td><label>Usuario:</label></td>
  19.                                                     <td><input name="user_name" type="text" size="15" /></td>
  20.                                                </tr>
  21.                                                <tr>
  22.                                                    <td><label>Contrase&ntilde;a:</label></td>
  23.                                                    <td><input name="user_pass" type="password" size="15"/></td>
  24.                                                    <td><input type="submit" value="Entrar" /></td>
  25.                                                </tr>
  26.                                             </table>
  27. </form>
  28. </div>
  29. </div>
  30. </div>
  31. </body>
  32. </html>
  33.  

session.php
Código
  1. <?php
  2.  
  3. $conexion = mysqli_connect('localhost','root','P','login');
  4. if(!$conexion)
  5. {
  6.  echo "Ha fallado la conexión: ";
  7. }
  8.  
  9. $login = filter_input(INPUT_POST, "user_name", FILTER_SANITIZE_SPECIAL_CHARS);    
  10. $password_user = filter_input(INPUT_POST, 'user_pass', FILTER_SANITIZE_SPECIAL_CHARS);
  11.  
  12. if(($password_user == NULL) || ($login == NULL))
  13. {
  14.    echo "no tiene valores<br />";
  15. }
  16. else{
  17.    $query = "SELECT * FROM users WHERE user_nom = '$login'";
  18.    if (($result = mysqli_query($conexion, $query)) == FALSE){
  19.      echo "La consulta no se realizo ";
  20.    }
  21.  
  22.     $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  23.    if($row["user_nom"] == $login)
  24.    {    
  25.       if($row["password"] == $password_user)
  26.       {
  27.        session_start();  
  28.        $_SESSION['usuario'] = $login;  
  29.        header("Location: ../alumnos/default.php");  
  30.       }
  31.       else
  32.       {
  33.        ?>
  34.         <script languaje='javascript'>
  35.          alert("Contraseña Incorrecta");
  36.          location.href = "../index.html";
  37.         </script>
  38.        <?php
  39.  
  40.       }
  41.    }
  42.    else
  43.    {
  44.      ?>
  45.       <script languaje='javascript'>
  46.        alert("El nombre de usuario es incorrecto!");
  47.        location.href = "../index.html";
  48.       </script>
  49.      <?php
  50.  
  51.    }
  52. }
  53.  
  54. mysqli_close($conexion);
  55.  
  56. ?>
  57.  
Espero me puedan ayudar.
Saludos.
Drewermerc.


En línea

fedz

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: variable post pasa sin valor.
« Respuesta #1 en: 28 Septiembre 2014, 12:47 pm »

Hola!,

He probado tu código y el problema parece estar en la propiedad enctype de tu formulario.
Al eliminar dicha propiedad, HTML usa el método de codificación por defecto, que leyendo por la web aprendí que es application/x-www-form-urlencoded.
Entonces reemplazando la linea 14 de tu index.html

Código
  1. <form id="login" enctype="text/plain" method="post" action="php/session.php">

por

Código
  1. <form id="login" enctype="application/x-www-form-urlencoded" method="post" action="php/session.php">

ó

Código
  1. <form id="login" method="post" action="php/session.php">

deberías poder recibir y utilizar las variables sin problemas.

Espero que te sirva!

Saludos!

Fedz.-


En línea

Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: variable post pasa sin valor.
« Respuesta #2 en: 28 Septiembre 2014, 18:00 pm »

hola fedz.
Si ese era el problema ya quedo solucionado.
Gracias por responder y por el dato de la codificación que usa por defecto html.

Saludos.
Drewermerc.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines