Foros del Web » Programando para Internet » PHP »

problema sesiones en php y servidor 000webhost

Estas en el tema de problema sesiones en php y servidor 000webhost en el foro de PHP en Foros del Web. hola a todos, tengo un problema que tengo que resolver con urgencia, resulta que he creado una pagina web con un login en el que ...
  #1 (permalink)  
Antiguo 19/11/2015, 14:39
Avatar de rodrigooses  
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Exclamación problema sesiones en php y servidor 000webhost

hola a todos, tengo un problema que tengo que resolver con urgencia, resulta que he creado una pagina web con un login en el que se supone que al no loguearce no se debe de ver el contenido de las otras paginas a las que direcciono. La cosa es que en modo local con localhost funciona de maravilla pero al subirlo al host gratuito de 000webhost no frunciona como deberia espero que puedan ayudarme y gracias
aqui estan los codigos utilizados:+

este es el de la pagina de logueo:
Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Autos y mas</title>

<link rel="stylesheet" href="es.css" type="text/css" />

<?php
session_start
();
include_once 
"connect.php"


function 
verificar_login($usuario,$contracena,&$result)
    {
        
$sql "SELECT * FROM usuario WHERE usuario = '$usuario' and contracena = '$contracena'";
        
$rec mysql_query($sql);
        
$count 0;
        while(
$row mysql_fetch_array($rec))
        {
            
$count++;
            
$result $row;
        }
        if(
$count == 1)
        {
            return 
1;
        }
        else
        {
            return 
0;
        }
    }



if(!isset(
$_SESSION['usuario'])) 
{
    if(isset(
$_POST['login'])) 
    {
        if(
verificar_login($_POST['usuario'],$_POST['contracena'],$result) == 1
        {
            
            
$_SESSION['usuario'] = $result->usuario;
            
header("location:expo1.php");
        }
        else
        {
            
$error[1]='<p class="error">Usuario o contrace&ntilde;a incorrectos, intente nuevamente.</p>'
        }
    }
?>
</head>
<body>
 <div id="cont">
  <div id="ti"><div><img id="logo" src="logotipo.png" alt="logo"/></div></div><!--titulo-->
  
  <div id="nav">
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="galeria.html">Galer&iacute;a</a></li>
<li><a href="registrate.html">Reg&iacute;strate</a></li>
<li><a href="quienes.html">Quienes Somos</a></li>
<li><a href="misionyvision.html">Vision y Misi&oacute;n</a></li>
<li><a href="faq.html">F.A.Q.</a></li>
<li><a href="loginc.php">Admin</a></li>

</ul>
</div><!--navegador-->
<div id="inf">

<div class="login">
<form action="?" method="post"  >
<br/>
<p class="p">Administrador:</p>
<input name="usuario" type="text"/>
<br/>
<p class="pp">Contrase&ntilde;a:</p>
<input name="contracena" type="password"/>
<?php echo @$error[1]; ?>
<input class="bu" name="login" type="submit" value="entrar"/>
</form>
</div>

</div><!--informacion o contenido-->
<div id="fin">
<div id="fff"><a href="faq.html" id="apro">¿Problemas con la visualizaci&oacute;n de la p&aacute;gina?</a>
</div><!--pie o fin pagina-->
</div> 
</div>
</body>
</html>
<?php
}else{
header("location:expo1.php");}
?>
y este es el de la pagina a la que quiero direccionar:


Código PHP:

<?php
$con
=mysql_connect("localhost","root","");
mysql_select_db("usuarios");
$consult=mysql_query("select * from expo1"$con);
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Autos y mas</title>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['modelo de auto', 'cantidad'],
       <?php while ($row=mysql_fetch_array($consult)){?>
       [ '<?php echo $row["modelo"];?>',<?php echo $row["cantidad"];?>],
       <?php ?>
        ]);

        var options = {
          title: 'vehiculos que estuvieron en la 1ra exposición',
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
        chart.draw(data, options);
      }
    </script>
<script type="text/javascript">
function url(uri) {
location.href = uri;  }
</script>
<link rel="stylesheet" href="es.css" type="text/css" />
  </head>
  <body>
  
  <div id="cont">
  <div id="ti"><div><img id="logo" src="logotipo.png" alt="logo"/></div></div><!--titulo-->
  
  <div id="nav">
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="galeria.html">Galer&iacute;a</a></li>
<li><a href="registrate.html">Reg&iacute;strate</a></li>
<li><a href="quienes.html">Quienes Somos</a></li>
<li><a href="misionyvision.html">Vision y Misi&oacute;n</a></li>
<li><a href="faq.html">F.A.Q.</a></li>
<li><a href="logafue.php">Cerrar sesi&oacute;n</a></li>
</ul>
</div><!--navegador-->
<div id="inf">
<?php
@session_start();
if(!empty(
$_SESSION['usuario']))
{
?>
<div class="select"><!--div combobox-->
<select name="opciones" onchange="url(this.value);">
<option value="">Seleccione:</option>
<option value="expo1.php">exposici&oacute;n 1</option>
<option value="expo2.php">exposici&oacute;n 2</option>
<option value="expo3.php">exposici&oacute;n 3</option>
<option value="cantidad_personas.php">cantidad de personas por evento</option>
</select> 
</div>

<div id="piechart_3d" style="width:500pt; height: 425pt; margin-top: 5%; margin-left: 30%"></div>
<?php
}else
echo 
'<p class="errorp">¡Acceso denegado!</p>
      <p class="errorpp">solo para administradores.</p>'
;
?>

</div><!--informacion o contenido-->
<div id="fin">
<div id="fff"><a href="faq.html" id="apro">¿Problemas con la visualización de la página?</a>
</div><!--pie o fin pagina-->
</div>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 19/11/2015, 14:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema sesiones en php y servidor 000webhost

La llamada a session_start() debe hacerse antes de cualquier cosa, antes de imprimir, etc.

Viendo tu código no lo haces así: porque tienes HTML antes de iniciar sesión.

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2015, 14:52
Avatar de rodrigooses  
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: problema sesiones en php y servidor 000webhost

gracias por tu respuesta pateketrueke pero quieres decir ¿que el codigo php debe de estar antes que el html?
  #4 (permalink)  
Antiguo 19/11/2015, 14:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema sesiones en php y servidor 000webhost

Cita:
Iniciado por rodrigooses Ver Mensaje
gracias por tu respuesta pateketrueke pero quieres decir ¿que el codigo php debe de estar antes que el html?
Bueno, no todo el código.

Generalmente cuando usas session_start(), setcookie() o header() debes hacerlo antes de cualquier cosa.

¿Por qué no consultas el manual de dicha función para entender cómo funciona?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/11/2015, 15:03
Avatar de rodrigooses  
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: problema sesiones en php y servidor 000webhost

aún no funciona bien, me mada el mensaje de error en la pagina que quiero direccionar, quiero decir, el mensaje de ¡acceso denegado! solo para administradores
  #6 (permalink)  
Antiguo 19/11/2015, 15:19
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 1 mes
Puntos: 69
Respuesta: problema sesiones en php y servidor 000webhost

Cómo te quedó el código luego de hacer las modificaciones que te indicaron?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 08/12/2015, 13:50
Avatar de rodrigooses  
Fecha de Ingreso: junio-2015
Mensajes: 14
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: problema sesiones en php y servidor 000webhost

aun sigue presentado el mismo error, al parecer como me comentaron es que esa funcion de crear sesiones se compra y por tal razon en la vesion gratuita no te deja realizar esto
  #8 (permalink)  
Antiguo 08/12/2015, 14:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema sesiones en php y servidor 000webhost

Cita:
Iniciado por rodrigooses Ver Mensaje
aun sigue presentado el mismo error, al parecer como me comentaron es que esa funcion de crear sesiones se compra y por tal razon en la vesion gratuita no te deja realizar esto
¿Quién y dónde te comentaron eso?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: 000webhost, html, mysql, select, servidor, sesiones, 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 17:27.