Foros del Web » Programando para Internet » PHP »

error en sistema de usuarios con sessions

Estas en el tema de error en sistema de usuarios con sessions en el foro de PHP en Foros del Web. Hola amigos del foro, estoy haciendo un sistema de usuarios y ya lo he hecho y me ha salido bien pero a la hora de ...
  #1 (permalink)  
Antiguo 28/03/2012, 15:47
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 3 meses
Puntos: 14
error en sistema de usuarios con sessions

Hola amigos del foro, estoy haciendo un sistema de usuarios y ya lo he hecho y me ha salido bien pero a la hora de querer implementar sesiones con cookies han llegado los problemas...


EDITO: Me da el siguiente error: Parse error: syntax error, unexpected ',' in comprueba.php line 26...

Os dejo los codigos la comprobacion del login y la funcion de proteger las paginas con session.

comprobar el login:
Código PHP:
<html>
<head>
</head>
<body>


<?php



$conexion
mysql_connect("fdb2.awardspace.com","995851_newco","password") or die("Error al conectar"); 
mysql_select_db("995851_newco",$conexion) or die ("Error la seleccionar la base de  datos "); 
 
// mis variables a recibir 
 
$correo=$_POST['correo']; 
$password=$_POST['password']; 

 
if(!empty(
$correo) && !empty($password))  

 
$comprobacion mysql_query("SELECT correo, password FROM registrados WHERE correo='$correo' AND password='$password'",$conexion) or die ("Query Fallo".mysql_error());
      if(
mysql_num_rows($comprobacion) == 1) { 
           
setcookie("session"$correo.$password), time()+0);
           echo 
"Estas Registrado! Bienvenido ".$correo." ";
           
header('Location: perfil.php');
           
$_SESSION['correo']=$_POST['correo']; 
           
$_SESSION['password']=$_POST['password'];  
         

           
          
          
      }
      else { 
           echo 
"Error de Usuario Y/o Contraseña"
      } 

}

?>
</body>
</html>

Este es el codigo que tiene la funcion para proteger las otras paginas de la web.
Código PHP:
<?php
include ("comprueba.php");
function 
proteger() {
$conexionmysql_connect("fdb2.awardspace.com","995851_newco","password") or die("Error al conectar"); 
mysql_select_db("995851_newco",$conexion) or die ("Error la seleccionar la base de  datos "); 
if(
$_COOKIE['session']){
$buscar=mysql_query("SELECT correo FROM registrados WHERE correo = '$correo'"$conexion) or die ("Query fallo".mysql_error());
if(
mysql_num_rows($buscar) != 0) {
while(
$bucle=mysql_fetch_array($buscar)) {
if(
".$correo.".".$password.") == $_COOKIE['session'] {
return = 
true;
}
}
}
}
}
?>
La verdad que no se en que fallo, no soy experto asi que si me pudierais ayudar, os estaria muy agradecido!
  #2 (permalink)  
Antiguo 28/03/2012, 16:12
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: error en sistema de usuarios con sessions

de verdad que no ves el error??
Cita:
setcookie("session", $correo.$password), time()+0);
setcookie
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 28/03/2012, 16:24
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 3 meses
Puntos: 14
Respuesta: error en sistema de usuarios con sessions

Cita:
Iniciado por IsaBelM Ver Mensaje
de verdad que no ves el error??

[URL="http://php.net/manual/es/function.setcookie.php"]setcookie[/URL]
Gracias, ya he visto el error, estaba en un paréntesis que sobraba.

Pero ahora me surge otro error y sé que es en esta línea del script : proteger.php

if(".$correo.".".$password.") == $_COOKIE['session'] {

El problema es que no sé como escribir correctamente esa línea y me da un error. Agradezco mucho vuestra paciencia y tiempo en leer el código y ayudarme, supongo que debe ser algo pesado ayudar a tanta gente.
  #4 (permalink)  
Antiguo 28/03/2012, 16:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: error en sistema de usuarios con sessions

así
Cita:
if($correo.".".$password == $_COOKIE['session'])
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 28/03/2012, 16:53
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 3 meses
Puntos: 14
Respuesta: error en sistema de usuarios con sessions

Cita:
Iniciado por IsaBelM Ver Mensaje
así
Muchisimas gracias por toda la ayuda, ahora me funciona pero parcialmente porque creo que no he implementado bien la sesion porque he escrito un script que muestra unos datos solo si el usuario tiene una session y no funciona, este es el codigo del script de la prueba de sesiones:

Código PHP:
<html>
<head>
<?php
include ("proteger.php");
if(
proteger()){
?>
</head>

<body>

Hola este contenido es privado

<?php
}
?>

</body>
</html>
Lo siento si soy un poco pesado, es que hay cosas que se me escapan...
  #6 (permalink)  
Antiguo 28/03/2012, 17:47
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: error en sistema de usuarios con sessions

experimenta con esto
Cita:
<html>
<head>
</head>
<body>
<?php
function fnc() {
return strcmp('yo', 'yo');
}

if(fnc() == 0) {
?>
Hola este contenido es pública
<?php
} else {
?>
Hola este contenido es privado
<?php
}
?>
</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 30/03/2012, 14:08
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 3 meses
Puntos: 14
Respuesta: error en sistema de usuarios con sessions

Perdón por contestar tan tarde, pero el código sigue sin funcionarme, en la página siempre me aparece la parte de contenido público es decir, el privado no sale.
Eso despues de hacer un logeo correcto.
Gracias por contestar.
  #8 (permalink)  
Antiguo 30/03/2012, 15:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: error en sistema de usuarios con sessions

si se ha logeado correctamente, ha de imprimir "público", no??

puedes usar strcmp o el operador de comparación (===)

inclusion.inc.php
Cita:
<?php
function fnc() {
//return ('yo' === 'yo') ? true : false; // pública
//return ('yo' === 'Yo') ? 1 : 0; // privada

$a = 'y'; $b = 'y.o'; $x = 'o';
//return ($a.'.'.$x === $b) ? true : false; // pública
$c = 'yo'; $d = 'Yo';
//return ($c === $d) ? 1 : 0; // privada
}
?>
Cita:
<html>
<head>
</head>
<body>
<?php
include ("inclusion.inc.php");
if(fnc()) {
?>
Hola este contenido es pública
<?php
} else {
?>
Hola este contenido es privado
<?php
}
?>
</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #9 (permalink)  
Antiguo 31/03/2012, 07:43
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 3 meses
Puntos: 14
Respuesta: error en sistema de usuarios con sessions

Me sigue apareciendo siempre esto : Este contenido es privado, tanto si inicio sesión como si escribo en la url el nombre del script.

Etiquetas: html, mysql, sessions, sistema, sql, usuarios, variables
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 18:47.