Foros del Web » Programando para Internet » PHP »

Problema con sistema de noticias

Estas en el tema de Problema con sistema de noticias en el foro de PHP en Foros del Web. Hola gente, que tal... miren a ver si me pueden ayudar... Yo hice un sistema de noticias y para loguear, insertar noticias, etc... lo procesa ...
  #1 (permalink)  
Antiguo 15/12/2006, 08:55
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Problema con sistema de noticias

Hola gente, que tal... miren a ver si me pueden ayudar... Yo hice un sistema de noticias y para loguear, insertar noticias, etc... lo procesa desde un archivo llamado "procesador.php". Bueno, mi problema es que no me loguea

Quería ver si encuentran el fallo. Gracias, les dejo el codigo

Código PHP:
<?php
include("../config.php");
include(
"../funciones.php");
if(!
$_GET['op']) {
if(
$_COOKIE['admin']) {
$resp mysql_query("select pass from admin where nick='".$_COOKIE['admin']."'") or die (mysql_error());
if(
mysql_num_rows($resp) == 0) {
echo 
"No hacks";
exit;
} else {
$sql mysql_fetch_array($resp);
$pass $sql['pass'];
$pass md5($pass);
if(
$_COOKIE['passw'] !== $pass) {
echo 
"No hacks";
exit;
}
}
} else {
echo 
"No hacks";
exit;
}
}
ob_start();
switch(
$_GET['op']) {
case 
"login":
if((
$_GET['nick']) || ($_GET['pass'])) {
echo 
"Intento de hackeo..";
}
$user $_POST['nick'];
$passw $_POST['pass'];
$resp mysql_query("select pass from admin where nick='".$user."'") or die ("Error en query login:\n".mysql_error());
$total mysql_num_rows($resp);
if(
$total == 0) {
echo 
"No existe este administrador";
} else {
$sql mysql_fetch_array($resp);
if(
$passw !== $sql['pass']) {
echo 
"Te has equivocado";
} else {
$url "index.php";
$password md5($passw);
setcookie("admin",$user,time()+776000);
setcookie("passw",$password,time()+776000);
echo 
"<SCRIPT LANGUAGE=\"javascript\">location.href = \"".$url."\";</SCRIPT>";
exit;
}
}
break;
case 
"logout":
setcookie("admin");
setcookie("passw");
header("location:index.php");
break;
case 
"insertar_noticia":
$autor $_POST['autor']; $autor vaciar($autor);
$titulo $_POST['titulo']; $titulo vaciar($titulo);
$email $_POST['email']; $email vaciar($email);
$topic $_POST['topic']; $topic vaciar($topic);
$introduccion $_POST['introduccion'];
$extendida $_POST['extendida'];
$fecha time();
mysql_query("insert into noticias (fecha,autor,titulo,email,introduccion,noticia,topic) values ('".$fecha."','".$autor."','".$titulo."','".$email."','".$introduccion."','".$extendida."','".$topic."')") or die ("Error:\n".mysql_error());
header("location:index.php?op=mensajes&txt=insertada");
break;
case 
"editar_noticia":
$autor $_POST['autor']; $autor vaciar($autor);
$titulo $_POST['titulo']; $titulo vaciar($titulo);
$email $_POST['email']; $email vaciar($email);
$topic $_POST['topic']; $topic vaciar($topic);
$introduccion $_POST['introduccion'];
$extendida $_POST['extendida'];
$fecha time();
mysql_query("update noticias set autor='".$autor."',titulo='".$titulo."',fecha='".$fecha."',email='".$email."',topic='".$topic."',introduccion='".$introduccion."',noticia='".$extendida."' where id='".$_POST['id']."'") or die ("error:\n".mysql_error());
header("location:index.php?op=mensajes&txt=editada");
break;
case 
"borrar_noticia":
$id $_POST['borrar'];
$resp mysql_query("select id from comentarios where id_noticia='".$id."'") or die ("error:\n".mysql_error());
if(
mysql_num_rows($resp) !== 0) {
echo 
"Error, debes de borrar antes los comentarios de dicha noticia";
} else {
mysql_query("delete from noticias where id='".$id."'") or die ("error:\n".mysql_error());
header("location:index.php?op=mensajes&txt=borrada");
}
break;
case 
"agregar_admin":
$nick $_POST['admin'];
$pass $_POST['passw'];
$email $_POST['email'];
mysql_query("insert into admin (nick,pass,email) VALUES ('".$nick."','".$pass."','".$email."')") or die ("Error wn la consulta:\n".mysql_error());
header("location:index.php");
break;
case 
"borrar_admin":
$id $_POST['borrar'];
mysql_query("delete from admin where id='".$id."'") or die ("error:\n".mysql_error());
header("location:index.php");
break;
case 
"borrar_comentario":
$id $_POST['borrar'];
mysql_query("delete from comentarios where id='".$id."'") or die (mysql_error());
header("location:index.php");
break;
}
ob_end_flush();
?>
  #2 (permalink)  
Antiguo 15/12/2006, 10:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Problema con sistema de noticias

Por lo visto no te esta escribiendo la cookie. Te recomiendo hacer esto en un file aparte y ver el porque de esto, o mismo en el mismo file hacer una prueba para eliminar esta opción.

PD: Posibles problemas para que no escriba la cookie según tu código es, que ya hayas enviado contenido al browser y no tengas bien seteado los errores y por eso no te muestra el error, puede que no te reconozca el dominio (pueden ser los dns).
Hay una extensión para ff (Web Developer) que entre otras cosas te dice que cookies tenes guardadas del dominio/path).

PD: 2, tu sistema es bastante inseguro, ponele al menos un addslashes al meter la cookie en el query, lo mismo con el resto de los inputs.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 15/12/2006, 10:22
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Problema con sistema de noticias

a lo mejor te hackearon..
mala broma
yo de ti le saco la opcion querevice la coockie..
Nos comenta como te fue..
  #4 (permalink)  
Antiguo 15/12/2006, 12:21
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Problema con sistema de noticias

bueno gracias igual... no encontre errores... voy a ver que hacer.
  #5 (permalink)  
Antiguo 15/12/2006, 12:31
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Problema con sistema de noticias

Pero...te esta escribiendo la cookie o no?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 00:05.