Foros del Web » Programando para Internet » PHP »

volver pagina principal despues de loguin

Estas en el tema de volver pagina principal despues de loguin en el foro de PHP en Foros del Web. Hola que tal como estais, me estoy iniciando en php y tengo un pequño problema que no se resolver. os comento: tengo una pagina html ...
  #1 (permalink)  
Antiguo 23/03/2015, 15:58
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años
Puntos: 0
volver pagina principal despues de loguin

Hola que tal como estais, me estoy iniciando en php y tengo un pequño problema que no se resolver.

os comento:
tengo una pagina html con formulario, y una pagina php inicio.php que recoge los datos y los compara en una bbdd mysql.

Realiza las comprobaciones de si exite el usuario y si existe si es administrador o no,
para redirigir a una pagina u otra, hasta aqui todo bien.

tengo abiertas sesiones y me llegan bien los valores, el problema es que si voy a otra pagina php para relaizar unos procesos si desde esa otra pagina quiero volver a inicio.php con un enlace pues no me recoge correctamente los datos, y me reenvia a un else que tengo puesto en inicio.php que es para notificar que el usuasrio es incorrecto.

Tambien me pasa lo mismo , si una vez logueado, accedo directamente a inicio.php.

Os dejo el codigo gracias de antemano.

Este es el codigo del php que recibe los datos del formulario
Código:
<?php

session_start();

$conexion=  mysql_connect("localhost","root","root");
       if (!$conexion) {
       ('No pudo conectarse: ' . mysql_error());
       }
    ;



       
        if(!mysql_select_db("eac2", $conexion))
exit("Error al conectar base de datos". mysql_error());
        
 $consulta = sprintf('select * from usuaris where nom="%s" and contrasenya = "%s"', $_POST["Usuario"], md5($_POST["Password"]));
 $resultado =mysql_query($consulta,$conexion);
 
 
if( mysql_num_rows($resultado) > 0){
  $_SESSION['usuario']=$_POST['Usuario'];
  if(isset($_SESSION['usuario'])){
  echo '<img src= "header.png" align="center"/><br>';
        echo "Usuario: ".$_POST['Usuario'] ."<br>";
   $row = mysql_fetch_array($resultado);
   if ($row['admin']=='1'){
       $_SESSION['administrador']="si";
       
       
        
         echo '<A HREF="io.html">Afegir ordinador</A><br><br>';
         echo '<A HREF="co.php">Consultar ordinador</A><br><br>';
         echo '<A HREF="mo.php">Modificar ordinador</A><br><br>';
         echo '<A HREF="eo.php">Eliminar ordinador</A><br><br>';
         echo '<A HREF="index.html">Sortir</A>';
             
   }  else{
   $_SESSION['admin']='no';}
       
  }   
       
       
   
 
       
}else {echo "El usuario o contraseña no es correcta";}
 
    
     
        ?>
  #2 (permalink)  
Antiguo 24/03/2015, 01:35
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: volver pagina principal despues de loguin

En tu código estás asumiendo que siempre se pasa por POST el usuario y la contraseña, por eso al acceder a la página siempre se realiza la consulta MySQL para comprobar si el usuario es correcto. Cuando accedes a ella sin proceder de la página de login las variables $_POST["Usuario"] y $_POST["Password"] están vacías, por lo que al hacer la consulta obtienes que el usuario es incorrecto.

Prueba a condicionar la consulta en caso de que se pasen las variables. Algo como:

Código PHP:
Ver original
  1. if ( isset($_POST["Usuario"]) && isset($_POST["Password"])   )
  2. {
  3.     // Aquí haces la consulta MySQL para ver si el usuario es correcto o no y todo lo que necesites en caso de que sí se intente hacer login.
  4. }
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #3 (permalink)  
Antiguo 24/03/2015, 12:36
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años
Puntos: 0
Respuesta: volver pagina principal despues de loguin

Gracias por el aporte, pero no he conseguido que me funcione. si solo englobo las consultas tengo problemas con la inicializacion de variables y si englobo todo el contenido que necesito se muestre no funciona.

Esta es la modificacion que he hecho
Código:
 if(isset($_POST['Usuario'])&& isset($_POST['Password']))  {
 $consulta = sprintf('select * from usuaris where nom="%s" and contrasenya = "%s"', $_POST["Usuario"], md5($_POST["Password"]));
   $resultado =mysql_query($consulta,$conexion);
 
 
if( mysql_num_rows($resultado) > 0){
$_SESSION['usuario']=$_POST['Usuario'];


  
  echo '<img src= "header.png" align="center"/><br>';
        echo "Usuario: ".$_POST['Usuario'] ."<br>";
   $row = mysql_fetch_array($resultado);
  if ($row['admin']=='1'){
       $_SESSION['administrador']="si";
       
       
        
         echo '<A HREF="io.html">Afegir ordinador</A><br><br>';
         echo '<A HREF="co.php">Consultar ordinador</A><br><br>';
         echo '<A HREF="mo.php">Modificar ordinador</A><br><br>';
         echo '<A HREF="eo.php">Eliminar ordinador</A><br><br>';
         echo '<A HREF="index.html">Sortir</A>';
             
   }  else{
   $_SESSION['admin']='no';}
       
     
       
       
   
 
       
} }else {echo "El usuario o contraseña no es correcta";}
 
    
     
        ?>
  #4 (permalink)  
Antiguo 24/03/2015, 15:24
 
Fecha de Ingreso: marzo-2015
Mensajes: 4
Antigüedad: 9 años
Puntos: 0
Respuesta: volver pagina principal despues de loguin

Prueba así:

Código:
 if(isset($_POST['Usuario'])&& isset($_POST['Password']))  {
$usuario = $_POST["Usuario"];
$password = md5($_POST["Password]);


 $consulta = "select * from usuaris where nom='$usuario' and contrasenya ='$password'";
   $resultado =mysql_query($consulta,$conexion);
 
 
if( mysql_num_rows($resultado) > 0){
$_SESSION['usuario']=$usuario;


  
  echo '<img src= "header.png" align="center"/><br>';
        echo "Usuario: ".$_POST['Usuario'] ."<br>";
   $row = mysql_fetch_array($resultado);
  if ($row['admin']=='1'){
       $_SESSION['administrador']="si";
       
       
        
         echo '<A HREF="io.html">Afegir ordinador</A><br><br>';
         echo '<A HREF="co.php">Consultar ordinador</A><br><br>';
         echo '<A HREF="mo.php">Modificar ordinador</A><br><br>';
         echo '<A HREF="eo.php">Eliminar ordinador</A><br><br>';
         echo '<A HREF="index.html">Sortir</A>';
             
   }  else{
   $_SESSION['admin']='no';}
       
     
       
       
   
 
       
} }else {echo "El usuario o contraseña no es correcta";}
 
    
     
        ?>
  #5 (permalink)  
Antiguo 24/03/2015, 16:06
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años
Puntos: 0
Respuesta: volver pagina principal despues de loguin

Tambien lo he probado , pero no funciona sigue cogiendo valores vacios y me redirecciona al else.

No le veo una solucion clara por mas vueltas que le doy.
  #6 (permalink)  
Antiguo 24/03/2015, 16:23
 
Fecha de Ingreso: marzo-2015
Mensajes: 4
Antigüedad: 9 años
Puntos: 0
Respuesta: volver pagina principal despues de loguin

Enviame el form tambien, a ver. :) Saludos.

Etiquetas: formulario, html, mysql, principal, select, sql, volver
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 13:14.