Foros del Web » Programando para Internet » PHP »

PHP OO Logeo en php

Estas en el tema de Logeo en php en el foro de PHP en Foros del Web. Bueno mi problema es que no puedo iniciar sesión a menos que primero le de en boton salir(logout, para cerrar sesión), ya le di vueltas ...
  #1 (permalink)  
Antiguo 22/12/2015, 12:30
 
Fecha de Ingreso: diciembre-2015
Ubicación: Veracruz
Mensajes: 7
Antigüedad: 9 años
Puntos: 0
Logeo en php

Bueno mi problema es que no puedo iniciar sesión a menos que primero le de en boton salir(logout, para cerrar sesión), ya le di vueltas a todo el código pero no encuentro el problema. ayuda por favor ya llevo dias con esto

<!doctype html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0">
<title>Inicio</title>
<!-- Estilos CSS vinculados -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/estilos.css" rel="stylesheet">
</head>

<body>
<div class="container">
<div class="page-header">
<div class="row">
<div class="col-md-11"><h1>Sistema <small> </small></h1></div>
<div class="col-md-1"><a href="logout.php">Salir</a></div>
</div>
</div>

<?php

session_start();
include_once"abrir_conexion.php";

function verificar_login($user,$password,&$result) {
$sql = "SELECT usuario FROM usuarios WHERE usuario = '$user' and password = '$password'";
$rec = mysql_query($sql);

if(mysql_num_rows($rec)>0)
{

$row = mysql_fetch_object($rec);
return true;
}
else
{
return false;
}
}

if(!isset($_SESSION['userid']))
{
if(isset($_POST['login']))
{
if(verificar_login($_POST['user'],$_POST['password'],$result) )
{

echo $_SESSION['userid']=$_POST['user'];

echo $_SESSION['recinto']=$_POST['recinto'];
echo '<meta http-equiv="refresh" content="0;url=menu.php" />';
}
else
{
echo '<div class="error">Su usuario es incorrecto, intente nuevamente.</div>';
}
}
?>

<style type="text/css">
*{
font-size: 14px;
}
body{
background:#aaa;
}
form.login {
background: none repeat scroll 0 0 #F1F1F1;
border: 1px solid #DDDDDD;
font-family: sans-serif;
margin: 0 auto;
padding: 10px;
width: 328px;
box-shadow:0px 0px 30px black;
border-radius:10px;
}

.error{
color: red;
font-weight: bold;
margin: 10px;
text-align: center;
}
</style>

<form action="" method="post" class="login form-horizontal">
<div class="form-group input-sm" id="grupo_usuario ">
<label class="control-label col-md-4 ">Usuario </label>
<div class="col-md-8">
<input name="user" type="text" class="form-control input-sm" required>
</div>
</div>
<div class="form-group input-sm" id="grupo_contraseña">
<label class="control-label col-md-4">contraseña</label>
<div class="col-md-8">
<input name="password" type="password" class="form-control input-sm" required>
</div>
</div>
<div class="form-group input-sm" id="grupo_recinto">
<label class="control-label col-md-4">Recinto</label>
<div class="col-md-8">
<select name="recinto" type="text" id="inputrecinto" class="form-control input-sm" >
<option></option>
<option value="01"><b>01 </b></option>
<option value="02"><b>02</b></option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-9 col-md-3">
<input name="login" type="submit" value="Entrar">
</div>
</div>
</form>
<?php
}else{
echo "B i e n ven ido, " .$_SESSION["userid"]; ?> <br><br>
<!-- Js vinculados -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/responsive.js"></script>
<script src="js/bootstrap.min.js"></script>
<?php
}
?>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 22/12/2015, 12:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Logeo en php

El error más grave es tener mucho HTML antes de usar session_start() ¿por qué no lees el manual al respecto?

No es correcto hacer eso, y precisamente eso esconde muchos otros problemas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/12/2015, 16:49
 
Fecha de Ingreso: diciembre-2015
Ubicación: Veracruz
Mensajes: 7
Antigüedad: 9 años
Puntos: 0
Respuesta: Logeo en php

Cita:
Iniciado por pateketrueke Ver Mensaje
El error más grave es tener mucho HTML antes de usar session_start() ¿por qué no lees el manual al respecto?

No es correcto hacer eso, y precisamente eso esconde muchos otros problemas.

Te agradezco infinitamente tu ayuda, no sabes ya me encontraba yo bloqueado.
La verdad es que soy un novato en esto pero estoy haciendo mi lucha. Podrían hacerme algunas sugerencias para que pueda mejorar mi codigo, digo al menos los detalles mas malos que puedan ver. O tal vez me puedas atudar diciendome porque este código solo me funciona con:
<meta http-equiv="refresh" content="0;url=index.php" /> y no con el header.

Te agradezco mucho.

<?php
session_start();
include_once"apis/abrir_conexion.php";

function verificar_login($user,$password,&$result) {
$sql = "SELECT usuario FROM usuarios WHERE usuario = '$user' and password = '$password'";
$rec = mysql_query($sql);
if(mysql_num_rows($rec)>0)
{
$row = mysql_fetch_array($rec);
return true;
}
else
{
return false;
}
}

if(!isset($_SESSION['userid']))
{
if(isset($_POST['login']))
{
if(verificar_login($_POST['user'],$_POST['password'],$result) )
{

$_SESSION['userid']=$_POST['user'];
$_SESSION['recinto']=$_POST['recinto'];
echo '<meta http-equiv="refresh" content="0;url=index.php" />';
//header('Location: index.php');
}
else
{
echo '<div class="error">Su usuario es incorrecto, intente nuevamente.</div>';
}
}
?>

<style type="text/css">
*{
font-size: 14px;
}
body{
background:#aaa;
}
form.login {
background: none repeat scroll 0 0 #F1F1F1;
border: 1px solid #DDDDDD;
font-family: sans-serif;
margin: 0 auto;
padding: 10px;
width: 328px;
box-shadow:0px 0px 30px black;
border-radius:10px;
}

.error{
color: red;
font-weight: bold;
margin: 10px;
text-align: center;
}
</style>
<title>Login</title>
<meta charset="UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<form action="" method="post" class="login form-horizontal">
<div class="form-group input-sm" id="grupo_usuario ">
<label class="control-label col-md-4 ">Usuario </label>
<div class="col-md-8">
<input name="user" type="text" class="form-control input-sm" required>
</div>
</div>
<div class="form-group input-sm" id="grupo_contraseña">
<label class="control-label col-md-4">contraseña</label>
<div class="col-md-8">
<input name="password" type="password" class="form-control input-sm" required>
</div>
</div>
<div class="form-group input-sm" id="grupo_recinto">
<label class="control-label col-md-4">Recinto</label>
<div class="col-md-8">
<select name="recinto" type="text" id="inputrecinto" class="form-control input-sm" >
<option></option>
<option value="1"><b>01 - </b></option>
<option value="2"><b>02 - </b></option>
<option value="3"><b>03 - </b></option>
<option value="4"><b>04 - </b></option>
<option value="5"><b>05 - </b></option>
<option value="5"><b>06 - </b></option>
<option value="7 "><b>07 - </b></option>
<option value="8"><b>08 - </b></option>
<option value="9"><b>09 - </b></option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-9 col-md-3">
<input name="login" type="submit" value="Entrar">
</div>
</div>
</form>

<?php
}else{ ?>
<!doctype html>
<html lang="es">
<head>
<meta charset="UTF-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/estilos.css" rel="stylesheet">
<name="viewport" content="width=device-width; initial-scale=1.0">
<title>Inicio</title>
<!-- Estilos CSS vinculados -->

</head>
<div class="container">
<div class="page-header">
<div class="row">
<div class="col-md-11"><h1>Sistema de Inspección 2016 <small> FITOZOOSANITARIO</small></h1></div>
<div class="col-md-1"><a href="logout.php">Salir</a></div>
</div>
</div>
<?php
echo $_SESSION['userid']; ?> <br><br>
<div>
<a type="button" href="encuesta200.php" class="btn btn-primary btn-circle btn-md col-md-3">REVISIÓN DOCUMENTAL</a>
<a type="button" href="tablainspecciones.php" class="btn btn-primary btn-circle btn-warning btn-md col-md-3 col-md-offset-1">INSPECCIÓN FÍSICA</a>
<a type="button" href="tabla_tramites_inspeccionados.php" class="btn btn-success btn-md col-md-4 col-md-offset-1">CERTIFICACIÓN DE LA MERCANCÍA </a>
</div>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/responsive.js"></script>
<script src="js/bootstrap.min.js"></script>
<?php
}
?>
</div>
</body>
</html>
  #4 (permalink)  
Antiguo 22/12/2015, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Logeo en php

Cita:
<meta http-equiv="refresh" content="0;url=index.php" /> y no con el header.
La misma regla que aplica para session_start() aplica para header() y setcookie() entre otras funciones, te sugiero consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, logeo, mysql, select, sql, usuarios
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 02:20.