Buenas... llevo desde Septiembre sin tocar php,y cuando dejé de tocar aparte de que estaba en "APRENDIENDO" pues se me olvidaron algunas cosas,y quería preguntar si alguien sabe porqué un invitado en mi sistema de blogs puede borrar una entrada si él/ella quiere,el código para eliminar una entrada es:
Código PHP:
case 'delete':
$id = mysql_real_escape_string($_GET['id']);
$post_sql = "SELECT * FROM `miniblog` WHERE `post_id` = '{$id}'";
$result = mysql_query($post_sql);
if(mysql_num_rows($result) == 1)
{
$result = mysql_query("DELETE FROM `miniblog` WHERE `post_id` = '{$id}'");
if($result)
{
header("Location: admin.php?mode=list");
}
else
{
die(mysql_error());
}
}
else
{
header("Location: admin.php?mode=list");
}
break;
case 'login':
if(isset($_POST['SimplePoll_Login']))
{
if(md5($_POST['password']) == PASSWORD)
{
session_start();
$_SESSION['miniblog_Admin'] = true;
$_SESSION['miniblog_AdminPass'] = PASSWORD;
define('miniblog_ID', md5(time()));
header('Location: admin.php?mode=list');
}
else
{
$error_text = 'Incorrect password';
}
}
include('login.php');
break;
case 'password':
if(isset($_POST['miniblog_PostBack']))
{
if($_POST['current_password'] != '' && $_POST['new_password'] != '' && $_POST['confirm_password'] != '')
{
$current_password = md5($_POST['current_password']);
$new_password = md5($_POST['new_password']);
$confirm_password = md5($_POST['confirm_password']);
$real_current_pass = mysql_result(mysql_query("SELECT `config_value` FROM `miniblog_config` WHERE `config_name` = 'password'"), 0);
if($current_password == $real_current_pass)
{
if($new_password == $confirm_password)
{
$result = mysql_query("UPDATE `miniblog_config` SET `config_value` = '{$new_password}' WHERE `config_name` = 'password'");
if($result)
{
$response_text = 'Password updated';
}
else
{
$response_text = 'Could not update password';
}
}
else
{
$response_text = 'Both passwords must match';
}
}
else
{
$response_text = 'Current password incorrect';
}
}
else
{
$response_text = 'You must fill out all fields';
}
}
include('password.php');
break;
case 'logout':
$_SESSION['miniblog_Admin'] = false;
unset($_SESSION['miniblog_Admin']);
unset($_SESSION['miniblog_AdminPass']);
session_destroy();
header('Location: admin.php?mode=login');
break;
}
?>
(y en algunos hostines pongo la contraseña pero no entra al admin,pero en el actual no pasa nada)
la url para eliminar sería: mode=delete&id=1
siento las molestias causadas... pero me encantaría terminar esos fallos,ya que me quedé con algunos fallos en el script... tiene su googlecode incluido,de hecho el script era un prefabricado muy liviano,como no sabía muy bien como hacer uno desde 0,me animé con uno bastante Light que encontré,le arreglé algunos fallos y añadí cosas,pero esos fallos
se me resisten al completo.
gracias.
pd: si pueden examinen el código,y me dicen que anda mal,e buscado tropecientas cosas pero ni idea.