variable post pasa sin valor.

Iniciado por Drewermerc, 28 Septiembre 2014, 09:34 AM

0 Miembros y 1 Visitante están viendo este tema.

Drewermerc

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 (html4strict) [Seleccionar]

<!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">
<head>
<title>S</title>
<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" />
</head>
<body>
<div id="wrapper-main">
<div id="wrapper">
<div id="form-session">
<form id="login" enctype="text/plain" method="post" action="php/session.php">
                                            <table id="form-session">
                                                <tr>
                                                    <td><label>Inicio de sesi&oacute;n</label></td>
                                                    <td><label>Usuario:</label></td>
                                                     <td><input name="user_name" type="text" size="15" /></td>
                                                </tr>
                                                <tr>
                                                    <td><label>Contrase&ntilde;a:</label></td>
                                                    <td><input name="user_pass" type="password" size="15"/></td>
                                                    <td><input type="submit" value="Entrar" /></td>
                                                </tr>
                                             </table>
</form>
</div>
</div>
</div>
</body>
</html>


session.php
Código (php) [Seleccionar]

<?php

$conexion 
mysqli_connect('localhost','root','P','login');
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'";
    if ((
$result mysqli_query($conexion$query)) == FALSE){
      echo 
"La consulta no se realizo ";
    }

     
$row mysqli_fetch_array($resultMYSQLI_ASSOC);
    if(
$row["user_nom"] == $login)
    {     
       if(
$row["password"] == $password_user)
       {
        
session_start();  
        
$_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

    
}
 }

mysqli_close($conexion);

?>


Espero me puedan ayudar.
Saludos.
Drewermerc.

fedz

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 (html4strict) [Seleccionar]
<form id="login" enctype="text/plain" method="post" action="php/session.php">

por

Código (html4strict) [Seleccionar]
<form id="login" enctype="application/x-www-form-urlencoded" method="post" action="php/session.php">

ó

Código (html4strict) [Seleccionar]
<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.-

Drewermerc

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.