Foros del Web » Programando para Internet » PHP »

problemas apache

Estas en el tema de problemas apache en el foro de PHP en Foros del Web. Muy buenas tengo un problema con apache, bueno mejor dicho problemon estaba trabajando en la gestion de usuarios mediante sesiones, lo consegui y cual es ...
  #1 (permalink)  
Antiguo 04/06/2007, 11:54
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
problemas apache

Muy buenas
tengo un problema con apache, bueno mejor dicho problemon
estaba trabajando en la gestion de usuarios mediante sesiones, lo consegui y cual es mi sorpresa que al dia siguiente despues de haber estado funcionando perfectamente ala hora de loguearme antesd e acceder al archivo de comprobacion de users sale el error:
Apache http server ha detectado un problema y debe cerrarse.

Reinstalo appserv, reinicio los servicios y todo sigue igual
necesito ayuda pls
un saludo
  #2 (permalink)  
Antiguo 04/06/2007, 12:01
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

Si no pones el código con el que estuviste trabajando no hay nada que podamos adivinar.

Espero tu respuesta
Saludos
  #3 (permalink)  
Antiguo 04/06/2007, 12:27
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

Gracias por responder
haber yo creo q no es problema del codigo por q si no no hubiera funcionado antes
bueno t pongo el cofigo del form y del comprueba user

ademas puedes probarlo aqui
cristofer.dyndns.org/joomla/tienda/index.php
intenta loguearte con ola/ola

cuelgo una imagen ya q m dice q no puedo meter codigo

img529.imageshack.us/img529/3027/problemaswm2.jpg
  #4 (permalink)  
Antiguo 04/06/2007, 12:41
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

En tu imagen veo el mysql_query($ssql,$conn);

Pero donde definiste la cadena de sentencia SQL $ssql? No la veo.
Además siempre despues de usar myql_query al menos mientras programes agrélae la muestra de posibles errores así

$var = mysql_query() or die(mysql_error());

Espero tu respuesta
Saludos
  #5 (permalink)  
Antiguo 04/06/2007, 12:56
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

srr m e equivocado de imagen
esta es
ya le e añadido el codigo
img337.imageshack.us/img337/329/controloz3.jpg
  #6 (permalink)  
Antiguo 04/06/2007, 12:58
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

Cita:
Iniciado por Nightmarecris Ver Mensaje
srr m e equivocado de imagen
esta es
ya le e añadido el codigo y m da error en esa misma linea

img337.imageshack.us/img337/329/controloz3.jpg
  #7 (permalink)  
Antiguo 04/06/2007, 12:59
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

srr m e equivocado de imagen
esta es
ya le e añadido el codigo y m da error en esa misma linea
Warning: Wrong parameter count for mysql_query() in D:\AppServ\www\joomla\tienda\controldos.php on line 10

img337.imageshack.us/img337/329/controloz3.jpg

vayaa srr por publicar 3 xD

Última edición por Nightmarecris; 04/06/2007 a las 13:05
  #8 (permalink)  
Antiguo 04/06/2007, 13:07
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

No amigo entendiste mal.
El código que yo te puse fue ilustrativo no para que lo implementaras así:
Código:
$var = mysql_query() or die(mysql_error());
Quitale ese código y reemplaza este:

Código PHP:
$rs mysql_query($ssql,$conn); 

por este

Código PHP:
$rs mysql_query($ssql,$conn) or die(mysql_error()); 
Además la cconsulta SQL correcta sería así:
Código PHP:
"SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."; 
A ver que error te tira ahora si.
Saludos
  #9 (permalink)  
Antiguo 04/06/2007, 13:15
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

Parse error: parse error, unexpected $end in D:\AppServ\www\joomla\tienda\controldos.php on line 22

no puede ser esa linea es el cierre de php
?>
gracias por la aclaracion


Código:
<?
$conn = mysql_connect("localhost","root","admin");
mysql_select_db("usuario",$conn);
$ssql = "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena'].'";  
$rs = mysql_query($ssql,$conn) or die(mysql_error());



if (mysql_num_rows($rs)!=0){
    //usuario y contraseña válidos
    //defino una sesion y guardo datos
    session_start();
    session_register("autentificado");
    $autentificado = "SI";
    header ("Location: habitaciones.php");
}else {
    //si no existe le mando otra vez a la portada
    header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
  #10 (permalink)  
Antiguo 04/06/2007, 13:25
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

Si, yo lo redacté mal cuando te lo pasé. Lo que pasa es que lo redacté al vuelo cuando estaba viendo la imagen en el web.

Reemplaza esto:
Código PHP:
$ssql "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."; 

POr esto:
Código PHP:
$ssql "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."'"
Probemos ahora...
  #11 (permalink)  
Antiguo 04/06/2007, 13:31
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

ahora hemos vuelto al principio el error de apache
yo creo q no es error en el codigo php
pero es q no encuentro solucion
ni reinstalar ni reiniciar servicios lo soluciona

gracias
  #12 (permalink)  
Antiguo 04/06/2007, 13:42
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

Prueba con este código

Código PHP:
<?
$conn 
mysql_connect("localhost","root","admin");
mysql_select_db("usuario",$conn);
$ssql "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."'";
$rs mysql_query($ssql,$conn) or die(mysql_error());
 
if (
mysql_num_rows($rs)!= 0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
    
session_start();
    
$_SESSION["autentificado"] = true;
    
header ("Location: habitaciones.php");
}else {
    
//si no existe le mando otra vez a la portada
    
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Si continua el error deberías postear el código de habitaciones.php.

PD: no estés tan seguro que sea apache el problema mas si lo has reinstalado. Otra forma de depurar es ir agregando echo "TEST"; exit; en diferentes lineas de código para ver hasta donde llega la lectura de PHP y tratar de determinar en qué line el sistema cae.
  #13 (permalink)  
Antiguo 04/06/2007, 14:10
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

POR FIN!!!
muchisimas gracias por tu ayuda!!
una cosilla mas para que me muestre en todas las paginas de contenido el usuario que esta conectado que deberia poner?? probé a poner estas lineas pero nada

Código:
<?
echo "<br>Has entrado con el nombre de usuario ";
echo $SESSION["login"]; 
?>
  #14 (permalink)  
Antiguo 04/06/2007, 14:41
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

Es que tienes que definir esa variable de sesión así:

$SESSION["login"] =

Código PHP:
<?
$conn 
mysql_connect("localhost","root","admin");
mysql_select_db("usuario",$conn);
$ssql "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."'";
$rs mysql_query($ssql,$conn) or die(mysql_error());
 
if (
mysql_num_rows($rs)!= 0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
    
session_start();
    
$_SESSION["autentificado"] = true;
    
$row mysql_fecth_array($rs);
    
$SESSION["login"] = $row['nombre'];
    
header ("Location: habitaciones.php");
}else {
    
//si no existe le mando otra vez a la portada
    
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Yo implemente $row['nombre']; porque no se como son los nombres de los campos en tu tabla. Reemplaza 'nombre' por el campo que deses registrar en las sesiones.

Luego no olvides en el encabezado de toda página inicias sesiones con
Código PHP:
<?
session_start
();

echo 
"<br>Has entrado con el nombre de usuario ";
echo 
$SESSION["login"]; 
?>
De todas formas deberías programar algo en el encabezado de las paginas protegidas para que verifique si el usuario esta logueado por si intenta ingresar directamente como por ejemplo

Código PHP:
<?
session_start
();
if (
$_SESSION["autentificado"] == true) {
echo 
"<br>Has entrado con el nombre de usuario ";
echo 
$SESSION["login"];
}
else {
//lo mandas a la pagina de logueo
}
?>
  #15 (permalink)  
Antiguo 04/06/2007, 15:13
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

las paginas las que solo pueden acceder los usuarios llevan este encabezado
Código:
<?include ("seguridad.php");?>
y es el earchivo seguridad.php el q se encarga de redireccionar si no t as logueado

Código:
<?
//Inicio la sesión
session_start();
echo $SESSION["login"];
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
	//si no existe, envio a la página de autentificacion
	header("Location: index.php");
	//ademas salgo de este script
	exit();
}	
?>
teniendo esto como puedo hacer lo que me has explicado antes??
  #16 (permalink)  
Antiguo 04/06/2007, 15:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

Ahora hazlo así:

Código PHP:
<?
//Inicio la sesión
session_start();
echo 
$SESSION["login"];
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != true) {
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>
Pregunta... por qué ese echo antes de ver si esta logueado o no???

Cita:
echo $SESSION["login"];
  #17 (permalink)  
Antiguo 04/06/2007, 15:56
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

el codigo que has puesto hace lo mismo que el que tenia yo
el campo de la tabla donde se almacena el usuario se llama 'login'

entonces incluyo el seguridad.php al principio de la pagina que quiero proteger

Código:
<?include ("seguridad.php");?> 
<?
y el de seguridad.php

Código:
<?
//Inicio la sesión
session_start();
$SESSION["login"];
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
	//si no existe, envio a la página de autentificacion
	header("Location: index.php");
	//ademas salgo de este script
	exit();
}	
?>
hasta ahora esto funciona perfectamente lo que no me termino de enterar es como puedo definir una variable para que me muestre en las paginas que estan protegidas el nombre de usuario, por ejemplo en habitaciones.php en la partte de abajo del menu tengo puesto lo que e dixo antes

Código:
<?
echo "<br>Has entrado con el nombre de usuario ";
echo "$SESSION[login]"; 
?>
he pensado en ponerlo asi directamente y no funciona, he de incluir algo mas en seguridad.php?? o en la pagina de contenido??

Código:
<?
echo "<br>Has entrado con el nombre de usuario ";
echo "$row[login]"; 
?>
PD:lo del echo pues la verda es q no tiene ninguna utilidad.
un saludo
  #18 (permalink)  
Antiguo 04/06/2007, 16:04
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

No me has contestado si definiste

$SESSION["login"] = $row['nombre'];

Y el código que yo te puse no es igual, si miras con detenimiento envez de "SI" el mio dice true.
  #19 (permalink)  
Antiguo 04/06/2007, 16:14
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

poniendo da este error
$SESSION["login"] = $row['nombre'];

Código:
Fatal error: Call to undefined function: mysql_fecth_array() in D:\AppServ\www\joomla\tienda\controldos.php on line 12
dejo el codigo

Código:
<?
$conn = mysql_connect("localhost","root","admin");
mysql_select_db("usuario",$conn);
$ssql = "SELECT * FROM usuarios WHERE login='".$_POST['usuario']."' and password='".$_POST['contrasena']."'";
$rs = mysql_query($ssql,$conn) or die(mysql_error());
 
if (mysql_num_rows($rs)!= 0){
    //usuario y contraseña válidos
    //defino una sesion y guardo datos
    session_start();
    $_SESSION["autentificado"] = true;
$row = mysql_fecth_array($rs);
    $SESSION["login"] = $row['login'];
 header ("Location: habitaciones.php");
}else {
    //si no existe le mando otra vez a la portada
    header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
un saludo
  #20 (permalink)  
Antiguo 04/06/2007, 16:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: problemas apache

SI! Escribí mal la función.... sorry

escríbela así mysql_fetch_array
  #21 (permalink)  
Antiguo 05/06/2007, 04:11
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problemas apache

pues nada sigue sin salirme
una duda:
al estar definido en seguridad.php
Código:
$row = mysql_fetch_array($rs);
    $SESSION["login"] = $row['login'];
realizara bien el enlace a la sesión, aun estando incluido en la cabecerra
Código:
<?include ("seguridad.php");?> 
<?
un saludo y gracias
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 11:11.