Estou com um problema! Estou criando um sistema simples da seguinte forma (resumidamente):
O usuário acessa com um login (index.php) e a página restrita(administra.php) tem uma opçao de cadastrar um novo usuario(cadastrar.php) para acessar esse mesmo painel.
Todas as páginas depois da index.php, tem um <? include "verifica.php" ?> no inicio do código. Caso alguém tente colar no navegador, por exemplo: www.meusite.com/cadastrar.php , aparece um Alert e a página volta para index.php (login). Só que NESSE MEIO TEMPO, a página cadastrar.php APARECE e se o cara dar um stop no navegador e o pior!!! ele consegue cadastrar um novo usuário!!!! hahah
OQUE FAZER?
verifica.php
<?
session_start();
include "config.php";
if(isset($_SESSION["login_usuario"]) AND isset($_SESSION['senha_usuario'])){
$login_usuario = $_SESSION["login_usuario"];
$senha_usuario = $_SESSION["senha_usuario"];
$sql = mysql_query("SELECT * FROM adm WHERE login = '$login_usuario'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
$senha_db = $linha['senha'];
}
if($cont == 0){
unset($_SESSION["login_usuario"]);
unset($_SESSION["senha_usuario"]);
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"O nome de usuario não corresponde.\");
</script>";
}
if($senha_db != $senha_usuario){//confere senha
unset($_SESSION["login_usuario"]);
unset($_SESSION["senha_usuario"]);
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"A senha não corresponde.\");
</script>";
}
}else{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
<script type=\"text/javascript\">
alert(\"O usuario e senha não correspondem.\");
</script>";
}
?>
cadastrar.php
<? include "verifica.php"; ?> <!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=utf-8" /> <link href="css/administra.css" rel="stylesheet" type="text/css" /> <title>Cadastro de Administrador</title> </head> <? include "config.php"; ?> <body> <? include "painel-topo.php"; ?> <div id="newadmin"> <p style="font: bold 19px tahoma; color: #333; margin:0 auto; padding:0;">Cadastro de Administradores</p> <center><div style="height:20px;"></div><form name="form2" id="form2" method="post" action="cadastrar_admin.php"> <table width="298" border="0" cellspacing="5" cellpadding="5"> <tr> <td width="95"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></td> <td width="229"><input name="nome" type="text" id="nome" maxlength="75"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td> <td><input name="login" type="text" id="login" maxlength="30"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td> <td><input name="senha" type="password" id="senha" maxlength="30"></td> </tr> <tr> <td colspan="2"><div align="center"> <input name="enviar" type="submit" id="enviar" value="Cadastrar"> </div></td> </tr> </table> </form></center> </div> </body> </html>
cadastrar_admin.php
<?
include "verifica.php"
?>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Erro ao conectar: ' . mysql_error());
}
mysql_select_db("meubanco", $con);
$nome = $_POST['nome'];
$login = $_POST['login'];
$senha = $_POST['senha'];
if(empty($_POST['nome']) && empty($_POST['login']) && empty($_POST['senha'])){
echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
<center><h1>Preencha os campos corretamente!</h1></center><br />
<center>Você será redirecionado em alguns segundos.</center>";
}
$sql1 = mysql_query("SELECT * FROM adm WHERE login='$login'");
if (mysql_num_rows($sql1)>1) {
echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
<center><h1>O login digitado já existe!</h1></center><br />
<center>Você será redirecionado em alguns segundos.</center>";
}else{
$sql = mysql_query("INSERT INTO adm (nome, login, senha) VALUES ('$nome','$login','$senha')");
if ($sql) {
die('Error: ' . mysql_error());
}
echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
<center><h1>Usuário cadastrado com sucesso!</h1><br />
Você será redirecionado em alguns segundos.</center>";
}
mysql_close($con)
?>
O que tem de errado?
Aguardo ajuda, obrigado!










