Título: variable post pasa sin valor.
Publicado por: Drewermerc 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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang = "es"> <meta name="description" content="S" /> <meta name="keywords" content="H" /> <meta http-equiv="Content-type" content="text/html: charset=iso-8859-1" /> <link rel="StyleSheet" type="text/css" href="css/style-main.css" media="screen" /> <form id="login" enctype="text/plain" method="post" action="php/session.php"> <table id="form-session"> <td><input name="user_name" type="text" size="15" /></td> <td><input name="user_pass" type="password" size="15"/></td> <td><input type="submit" value="Entrar" /></td>
session.php <?php if(!$conexion) { echo "Ha fallado la conexión: "; } $login = filter_input(INPUT_POST , "user_name", FILTER_SANITIZE_SPECIAL_CHARS ); $password_user = filter_input(INPUT_POST , 'user_pass', FILTER_SANITIZE_SPECIAL_CHARS ); if(($password_user == NULL) || ($login == NULL)) { echo "no tiene valores<br />"; } else{ $query = "SELECT * FROM users WHERE user_nom = '$login'"; echo "La consulta no se realizo "; } if($row["user_nom"] == $login) { if($row["password"] == $password_user) { $_SESSION['usuario'] = $login; header("Location: ../alumnos/default.php"); } else { ?> <script languaje='javascript'> alert("Contraseña Incorrecta"); location.href = "../index.html"; </script> <?php } } else { ?> <script languaje='javascript'> alert("El nombre de usuario es incorrecto!"); location.href = "../index.html"; </script> <?php } } ?>
Espero me puedan ayudar. Saludos. Drewermerc.
Título: Re: variable post pasa sin valor.
Publicado por: fedz 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 <form id="login" enctype="text/plain" method="post" action="php/session.php">
por <form id="login" enctype="application/x-www-form-urlencoded" method="post" action="php/session.php">
ó <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.-
Título: Re: variable post pasa sin valor.
Publicado por: Drewermerc 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.
|