deathseeker25
02-04-2007, 01:14 AM
I've been writing some functions for an admin panel i want to have in my website, but i guess i'm not doing things right. In this script i will show here, you can see some admin options to add, modify or delete news of my website. But this isn't working and i don't know how can i put it working:
<?php
error_reporting(E_ALL);
session_start();
ob_start();
if (isset($_SESSION["username"]) AND isset($_SESSION["password"]) AND isset($_SESSION["permissao"]))
{
$username = $_SESSION["username"];
$password = $_SESSION["password"];
$permissao = $_SESSION["permissao"];
$_SESSION["data"] = date("d/m/Y g:i a");
$script_base = dirname($_SERVER['SCRIPT_FILENAME']); //define o root do ficheiro...
define('SCRIPT_BASE', $script_base);
include SCRIPT_BASE.'/includes/mysql.class.php';
include 'config.php'; //inclui o ficheiro de instalacao
$error = array(); //array que vai armazenar os erros...
function select_action($action)
{
if(!isset($action))
{
$action = $_GET["select_action"];
}
else
{
switch($action)
{
case "addNoticia":
$html ='<div id="form">
<form method = "POST" id = "addNoticia" value = "addNoticia" action="'modNoticia();'">
<div id = "Titulo">
<input type = "text" name = "titulo" id = "titulo">Titulo:
</div>
<div id = "texto">Texto:
<input type = "text" name = "texto" id = "texto">
</div>
</form>
</div>';
$titulo = $_POST["titulo"];
$texto = $_POST["texto"];
$utilizador = $_SESSION["username"];
$data = date("Y-m-d");
break;
case "modNoticia":
$html = '<div id = "lista">';
$BD = new MySQL_DB_CONNECTOR;
$conn = $BD->connect($host, $username, $password);
mysql_select_db($database) or die("Erro ao ligar à base de dados: ".mysql_error());
$query = 'SELECT * FROM noticias';
$resultado = mysql_query($query);
$num_resultados = mysql_num_rows($resultado);
if($num_resultados != 0)
{
$html .= '<form method="post" id="escolhe_registo" name="escolhe_registo" action="'modNoticia();'">';
for($i=1; $i<=$num_resultados; $i++)
{
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
$html .= '<div id="noticia'.$arr["id"]'">
<a href="../noticias.php?modNoticia&id='.$arr["id"].'>'.$arr["id"].'</a>
</div>
<div id="titulo'.$arr["id"]'">'.$arr["titulo"].'</div>
<div id="data'.$arr["data"]'">'.$arr["data"].'</div>';
$html .= '<br />';
}
$html .= '</form></div>';
}
else
{
$error[] = "A consulta não devolveu resultados ...";
return $error;
}
break;
case "delNoticia":
$html = '<div id = "lista">';
$BD = new MySQL_DB_CONNECTOR;
$conn = $BD->connect($host, $username, $password);
mysql_select_db($database) or die("Erro ao ligar à base de dados: ".mysql_error());
$query = 'SELECT * FROM noticias';
$resultado = mysql_query($query);
$num_resultados = mysql_num_rows($resultado);
if($num_resultados != 0)
{
$html .= '<form method="post" id="escolhe_registo" name="escolhe_registo" action="'delNoticia();'">';
for($i=1; $i<=$num_resultados; $i++)
{
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
$html .= '<div id="noticia'.$arr["id"]'">
<a href="../noticias.php?modNoticia&id='.$arr["id"].'>'.$arr["id"].'</a>
</div>
<div id="titulo'.$arr["id"]'">'.$arr["titulo"].'</div>
<div id="data'.$arr["data"]'">'.$arr["data"].'</div>';
$html .= '<br />';
}
$html .= '</form></div>';
}
else
{
$error[] = "A consulta não devolveu resultados ...";
return $error;
}
break;
}
}
}
function addNoticia()
{
$query = "INSERT INTO noticias(titulo, texto, utilizador, data) VALUES('$titulo', '$texto', '$utilizador', '$data')";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host,$username,$password);
if(!mysql_select_db($database,$conn))
{
$error[] = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
mysql_query($query,$conn);
print "Registo inserido com sucesso !<br />";
}
}
function modNoticia()
{
$id = $_POST["id"];
$query = "SELECT * FROM noticias WHERE id='$id'";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host, $username, $password);
if(!mysql_select_db($database, $conn))
{
$error = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
$resultado = mysql_query($query, $conn);
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
printf("<div id=\"form\">
<div id = \"Titulo\">
<form name=\"alterar\" id = \"alterar\" method = \"POST\" action = \""altera();"\">
<input type = \"text\" name = \"titulo\" id = \"titulo\" value=\"".$arr["titulo"]."\">Titulo:
</div>
<div id = \"texto\">Texto:
<input type = \"text\" name = \"texto\" id = \"texto\" value =\"".$arr["texto"]."\">
</div>
<div id=\"Update\">
<input type = \"submit\" name = \"alterar\" value = \"Alterar\">
</div>
</form>
</div>");
}
}
function altera()
{
$titulo = $_POST["titulo"];
$texto = $_POST["texto"];
$utilizador = $_SESSION["username"];
$data = date("Y-m-d");
$query = "UPDATE noticias SET titulo = '$titulo', texto = '$texto', utilizador = '$utilizador', data = '$data' WHERE id='".$arr["id"]."'";
if(!mysql_select_db($database, $conn))
{
$error = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
$resultado = mysql_query($query, $conn);
if($resultado)
{
print "Registo alterado com sucesso !<br />";
}
else
{
$error[] = "Não foi possível alterar o registo. Contacte o administrador ou verifique as configurações. <br />";
return $error;
}
}
}
function delNoticia()
{
$id = $_POST["id"];
$query = "DELETE * FROM noticias WHERE id='$id'";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host, $username, $password);
if(!mysql_select_db($database, $conn))
{
$error[] = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
mysql_query($query);
print "Registo apagado com sucesso !<br />";
}
}
?>
<!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>Untitled Document</title>
<style type="text/css">
<!--
body {
margin: 0;
background-color :
}
#header {
background-color: #CCCCCC;
height: 125px;
}
#left {
position: absolute;
left: 10px;
top: 145px;
width: 180px;
background-color: #CCCCCC;
}
#center {
margin: 20px 205px 0 205px;
background-color: #CCCCCC;
}
#right {
position: absolute;
right: 10px;
top: 145px;
width: 180px;
background-color: #CCCCCC;
}
div.nav-box {
border: 1px solid #000000;
padding: 5px;
background-color: #FFFFFF;
}
div.nav-header {
background-color: #CCCCCC;
height: 22px;
padding: 3px 0 0 5px;
}
div.nav-body {
margin-top: 5px;
background-color: #F2F2F2;
text-align: center;
}
div.nav-body-login {
margin-top: 5px;
background-color: #F2F2F2;
text-align: left;
}
div.center-body {
padding: 10px;
background-color: #F2F2F2;
}
div.nav-menu {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: normal;
font-weight: bolder;
color: #333333;
font-size: 14px;
text-align: center;
}
div.admin-title {
font-size: 16px;
color: #333333;
background-color: #CCCCCC;
letter-spacing: normal;
word-spacing: normal;
white-space: normal;
font-size: 14px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
if($permissao == 1)
{
?>
<div id="header"></div>
<div id="left">
<div class="nav-box">
<div class="nav-header">Admin Panel</div>
<div class="nav-menu"><a href="../admin/noticias.php">Notícias</a></div>
<div class="nav-menu"><a href="../admin/users.php">Utilizadores</a></div>
<div class="nav-menu"><a href="../admin/torneios.php">Torneios</a></div>
<div class="nav-menu"><a href="../admin/concursos.php">Concursos</a></div>
<div class="nav-menu"><a href="../admin/sugestoes.php">Sugestões</a></div>
</div>
</div>
<div class="admin-title" id="center">Admin Panel
<div class="center-body">
<form action="<?php select_action(); ?>" id="select_action" name="select_action" method="GET">
<a href="?addNoticia"><img src="/images/adicionar_noticia.png" width="75" height="70" value="addNoticia"></a>
<a href="?modNoticia"><img src="/images/modificar_noticia.png" width="75" height="70" value="modNoticia"></a>
<a href="?delNoticia"><img src="/images/apagar_noticia.png" width="75" height="70" value="delNoticia"></a>
</form>
</div>
</div>
<div id="right">
<div class="nav-box">
<div class="nav-header">Sessão</div>
<div class="nav-body-login">
Bem-vindo, <?php $username ?>! <br />
</div>
</div>
</div>
</div>
<?php
}
if($permissao == 2)
{
?>
<script language="javascript">
window.location = "../index.php";
</script>
<?php
}
else
{
$permissao == 2;
}
}
}
else //se nao estiverem definidas as sessoes...
{
?>
<script language="javascript">
window.location = "../index.php";
</script>
<?php
}
?>
</body>
</html>
I would appreciate some help.
<?php
error_reporting(E_ALL);
session_start();
ob_start();
if (isset($_SESSION["username"]) AND isset($_SESSION["password"]) AND isset($_SESSION["permissao"]))
{
$username = $_SESSION["username"];
$password = $_SESSION["password"];
$permissao = $_SESSION["permissao"];
$_SESSION["data"] = date("d/m/Y g:i a");
$script_base = dirname($_SERVER['SCRIPT_FILENAME']); //define o root do ficheiro...
define('SCRIPT_BASE', $script_base);
include SCRIPT_BASE.'/includes/mysql.class.php';
include 'config.php'; //inclui o ficheiro de instalacao
$error = array(); //array que vai armazenar os erros...
function select_action($action)
{
if(!isset($action))
{
$action = $_GET["select_action"];
}
else
{
switch($action)
{
case "addNoticia":
$html ='<div id="form">
<form method = "POST" id = "addNoticia" value = "addNoticia" action="'modNoticia();'">
<div id = "Titulo">
<input type = "text" name = "titulo" id = "titulo">Titulo:
</div>
<div id = "texto">Texto:
<input type = "text" name = "texto" id = "texto">
</div>
</form>
</div>';
$titulo = $_POST["titulo"];
$texto = $_POST["texto"];
$utilizador = $_SESSION["username"];
$data = date("Y-m-d");
break;
case "modNoticia":
$html = '<div id = "lista">';
$BD = new MySQL_DB_CONNECTOR;
$conn = $BD->connect($host, $username, $password);
mysql_select_db($database) or die("Erro ao ligar à base de dados: ".mysql_error());
$query = 'SELECT * FROM noticias';
$resultado = mysql_query($query);
$num_resultados = mysql_num_rows($resultado);
if($num_resultados != 0)
{
$html .= '<form method="post" id="escolhe_registo" name="escolhe_registo" action="'modNoticia();'">';
for($i=1; $i<=$num_resultados; $i++)
{
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
$html .= '<div id="noticia'.$arr["id"]'">
<a href="../noticias.php?modNoticia&id='.$arr["id"].'>'.$arr["id"].'</a>
</div>
<div id="titulo'.$arr["id"]'">'.$arr["titulo"].'</div>
<div id="data'.$arr["data"]'">'.$arr["data"].'</div>';
$html .= '<br />';
}
$html .= '</form></div>';
}
else
{
$error[] = "A consulta não devolveu resultados ...";
return $error;
}
break;
case "delNoticia":
$html = '<div id = "lista">';
$BD = new MySQL_DB_CONNECTOR;
$conn = $BD->connect($host, $username, $password);
mysql_select_db($database) or die("Erro ao ligar à base de dados: ".mysql_error());
$query = 'SELECT * FROM noticias';
$resultado = mysql_query($query);
$num_resultados = mysql_num_rows($resultado);
if($num_resultados != 0)
{
$html .= '<form method="post" id="escolhe_registo" name="escolhe_registo" action="'delNoticia();'">';
for($i=1; $i<=$num_resultados; $i++)
{
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
$html .= '<div id="noticia'.$arr["id"]'">
<a href="../noticias.php?modNoticia&id='.$arr["id"].'>'.$arr["id"].'</a>
</div>
<div id="titulo'.$arr["id"]'">'.$arr["titulo"].'</div>
<div id="data'.$arr["data"]'">'.$arr["data"].'</div>';
$html .= '<br />';
}
$html .= '</form></div>';
}
else
{
$error[] = "A consulta não devolveu resultados ...";
return $error;
}
break;
}
}
}
function addNoticia()
{
$query = "INSERT INTO noticias(titulo, texto, utilizador, data) VALUES('$titulo', '$texto', '$utilizador', '$data')";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host,$username,$password);
if(!mysql_select_db($database,$conn))
{
$error[] = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
mysql_query($query,$conn);
print "Registo inserido com sucesso !<br />";
}
}
function modNoticia()
{
$id = $_POST["id"];
$query = "SELECT * FROM noticias WHERE id='$id'";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host, $username, $password);
if(!mysql_select_db($database, $conn))
{
$error = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
$resultado = mysql_query($query, $conn);
$arr = mysql_fetch_array($resultado, MYSQL_ASSOC);
printf("<div id=\"form\">
<div id = \"Titulo\">
<form name=\"alterar\" id = \"alterar\" method = \"POST\" action = \""altera();"\">
<input type = \"text\" name = \"titulo\" id = \"titulo\" value=\"".$arr["titulo"]."\">Titulo:
</div>
<div id = \"texto\">Texto:
<input type = \"text\" name = \"texto\" id = \"texto\" value =\"".$arr["texto"]."\">
</div>
<div id=\"Update\">
<input type = \"submit\" name = \"alterar\" value = \"Alterar\">
</div>
</form>
</div>");
}
}
function altera()
{
$titulo = $_POST["titulo"];
$texto = $_POST["texto"];
$utilizador = $_SESSION["username"];
$data = date("Y-m-d");
$query = "UPDATE noticias SET titulo = '$titulo', texto = '$texto', utilizador = '$utilizador', data = '$data' WHERE id='".$arr["id"]."'";
if(!mysql_select_db($database, $conn))
{
$error = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
$resultado = mysql_query($query, $conn);
if($resultado)
{
print "Registo alterado com sucesso !<br />";
}
else
{
$error[] = "Não foi possível alterar o registo. Contacte o administrador ou verifique as configurações. <br />";
return $error;
}
}
}
function delNoticia()
{
$id = $_POST["id"];
$query = "DELETE * FROM noticias WHERE id='$id'";
$ligacao = new MySQL_DB_CONNECTOR;
$conn = $ligacao->connect($host, $username, $password);
if(!mysql_select_db($database, $conn))
{
$error[] = "Impossivel ligar à base de dados. Erro: ".mysql_error();
return $error;
}
else
{
mysql_query($query);
print "Registo apagado com sucesso !<br />";
}
}
?>
<!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>Untitled Document</title>
<style type="text/css">
<!--
body {
margin: 0;
background-color :
}
#header {
background-color: #CCCCCC;
height: 125px;
}
#left {
position: absolute;
left: 10px;
top: 145px;
width: 180px;
background-color: #CCCCCC;
}
#center {
margin: 20px 205px 0 205px;
background-color: #CCCCCC;
}
#right {
position: absolute;
right: 10px;
top: 145px;
width: 180px;
background-color: #CCCCCC;
}
div.nav-box {
border: 1px solid #000000;
padding: 5px;
background-color: #FFFFFF;
}
div.nav-header {
background-color: #CCCCCC;
height: 22px;
padding: 3px 0 0 5px;
}
div.nav-body {
margin-top: 5px;
background-color: #F2F2F2;
text-align: center;
}
div.nav-body-login {
margin-top: 5px;
background-color: #F2F2F2;
text-align: left;
}
div.center-body {
padding: 10px;
background-color: #F2F2F2;
}
div.nav-menu {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: normal;
font-weight: bolder;
color: #333333;
font-size: 14px;
text-align: center;
}
div.admin-title {
font-size: 16px;
color: #333333;
background-color: #CCCCCC;
letter-spacing: normal;
word-spacing: normal;
white-space: normal;
font-size: 14px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
if($permissao == 1)
{
?>
<div id="header"></div>
<div id="left">
<div class="nav-box">
<div class="nav-header">Admin Panel</div>
<div class="nav-menu"><a href="../admin/noticias.php">Notícias</a></div>
<div class="nav-menu"><a href="../admin/users.php">Utilizadores</a></div>
<div class="nav-menu"><a href="../admin/torneios.php">Torneios</a></div>
<div class="nav-menu"><a href="../admin/concursos.php">Concursos</a></div>
<div class="nav-menu"><a href="../admin/sugestoes.php">Sugestões</a></div>
</div>
</div>
<div class="admin-title" id="center">Admin Panel
<div class="center-body">
<form action="<?php select_action(); ?>" id="select_action" name="select_action" method="GET">
<a href="?addNoticia"><img src="/images/adicionar_noticia.png" width="75" height="70" value="addNoticia"></a>
<a href="?modNoticia"><img src="/images/modificar_noticia.png" width="75" height="70" value="modNoticia"></a>
<a href="?delNoticia"><img src="/images/apagar_noticia.png" width="75" height="70" value="delNoticia"></a>
</form>
</div>
</div>
<div id="right">
<div class="nav-box">
<div class="nav-header">Sessão</div>
<div class="nav-body-login">
Bem-vindo, <?php $username ?>! <br />
</div>
</div>
</div>
</div>
<?php
}
if($permissao == 2)
{
?>
<script language="javascript">
window.location = "../index.php";
</script>
<?php
}
else
{
$permissao == 2;
}
}
}
else //se nao estiverem definidas as sessoes...
{
?>
<script language="javascript">
window.location = "../index.php";
</script>
<?php
}
?>
</body>
</html>
I would appreciate some help.