Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Sistema de Cadastro em PHP/MySQL

Recommended Posts

galeraa é o seguinte... eu to começando agora mexer com isso e tal

vai ser a primeira vez q vou usar banco de dados assim na web

e ta acontecendo o seguinte

qdo eu clico em "Cadastrar Usuarios"

ou "Listar Usuarios"

da a msg.. "Usuario ou senha invalido"

andei vendo este topico e fala q tem q alterar.. o config.php

mas tpw... como eu crio as tabelas do banco de dados?

onde eu vou pra fazer isso?

nao achei essas opçoes no phpmyadmin

e eu uso o AppServ..

alguem da uma luz ae =/

valeu galeraaaa

abraçoooooos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal to dando continuidade nos tutoriais para iniciantes e esse aqui é para quem ja leu:

 

http://forum.imasters.com.br/index.php?showtopic=191441

 

Esse tutorial é para usuarios iniciantes que estao começando agora e querem aprender a mecher com PHP e banco de dados, sei que é dificil achar um tutorial bem mastigado assim, e falta exemplos completos no manual do php, e as vezes a pessoa acaba pegando um script pronto mas nao entende muito e o pior a maioria das vezes o sistema esta mal feito assim o usuario acaba aprendendo errado pensando que é o certo.

 

esse tutorial é bem basico, e criei como exemplo 2 tabelas uma para usuario e outra para estados

e é mais para você aprender mesmo , acabei criando varias funções que ficaram mais para aprendizado do que funcional, mas a ideia é você entender como as coisas funcionam

 

com esse sistema você vai aprender:

 

* Listar os dados de um banco de dados

* Salvar dados do formulario para banco de dados

* Excluir dados do banco

* Editar dados do banco

* Carregar um combobox(select do html) com dados vindos do banco de dados

* Validações especiais para deixar o php funcionando 100% sem erros

* Varios macetes e dicas de uso em sistemas com o uso de um arquivo de verificações basicas o init.php

 

OBS Esse sistema esta puro em PHP nao me preocupei com nenhuma validação em javascript

para isso voce pode acessar o forum de javascript e tirar as duvidas sobre validações de formulario

e tambem nao me preocupei com validações de dados vindos do formulario, pois eu estou planejando fazer um tutorial só para isso, para validações em php com filtros e segurança de dados

tabela.sql

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>

CREATE TABLE usuarios (

id_usuario SMALLINT ( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

nome VARCHAR ( 45 ) NOT NULL,

email VARCHAR ( 64 ) NOT NULL UNIQUE,

data_nascimento DATE NOT NULL,

sexo ENUM ( 'M', 'F' ) NOT NULL,

preferencias SET ( 'R', 'S', 'P', 'F' ) NOT NULL COMMENT 'R=Romance;S=Suspense;P=Policial;F=Ficção',

salario DECIMAL ( 10,2 ) NOT NULL,

endereco VARCHAR ( 30 ) NOT NULL,

bairro VARCHAR ( 20 ) NOT NULL,

cidade VARCHAR ( 45 ) NOT NULL,

fk_estado SMALLINT ( 5 ) UNSIGNED NOT NULL,

login VARCHAR ( 40 ) NOT NULL,

senha CHAR ( 32 ) NOT NULL

);

 

CREATE TABLE estados (

id_estado SMALLINT ( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

uf CHAR ( 2 ) NOT NULL,

estado VARCHAR ( 19 ) NOT NULL UNIQUE

);

 

INSERT INTO estados VALUES ( NULL , "AC", "Acre");

INSERT INTO estados VALUES ( NULL , "AL", "Alagoas");

INSERT INTO estados VALUES ( NULL , "AP", "Amapá");

INSERT INTO estados VALUES ( NULL , "AM", "Amazonas");

INSERT INTO estados VALUES ( NULL , "BA", "Bahia");

INSERT INTO estados VALUES ( NULL , "CE", "Ceará");

INSERT INTO estados VALUES ( NULL , "DF", "Distrito Federal");

INSERT INTO estados VALUES ( NULL , "ES", "Espirito Santo");

INSERT INTO estados VALUES ( NULL , "GO", "Goiás");

INSERT INTO estados VALUES ( NULL , "MA", "Maranhão");

INSERT INTO estados VALUES ( NULL , "MT", "Mato Grosso");

INSERT INTO estados VALUES ( NULL , "MS", "Mato Grosso do Sul");

INSERT INTO estados VALUES ( NULL , "MG", "Minas Gerais");

INSERT INTO estados VALUES ( NULL , "PA", "Pará");

INSERT INTO estados VALUES ( NULL , "PB", "Paraíba");

INSERT INTO estados VALUES ( NULL , "PR", "Paraná");

INSERT INTO estados VALUES ( NULL , "PE", "Pernambuco");

INSERT INTO estados VALUES ( NULL , "PI", "Piauí");

INSERT INTO estados VALUES ( NULL , "RN", "Rio Grande do Norte");

INSERT INTO estados VALUES ( NULL , "RS", "Rio Grande do Sul");

INSERT INTO estados VALUES ( NULL , "RJ", "Rio de Janeiro");

INSERT INTO estados VALUES ( NULL , "RO", "Rondônia");

INSERT INTO estados VALUES ( NULL , "RR", "Roraima");

INSERT INTO estados VALUES ( NULL , "SC", "Santa Catarina");

INSERT INTO estados VALUES ( NULL , "SP", "São Paulo");

INSERT INTO estados VALUES ( NULL , "SE", "Sergipe");

INSERT INTO estados VALUES ( NULL , "TO", "Tocantins"); </div>

 

como podem ver é uma tabela apenas para podermos usar no sistema, sao coisas ficticias que usei apenas para passar exemplos uteis de varios campos no banco de dados, talves o unico campo que você nao saiba para que serve nessa tabela é o "preferencias", esse preferencia é para o usuario escolher qual tipo de filme ele gosta, usei esse exemplo para você entender como usar o campo SET() do mysql

 

pessoal eu nao faço codigos html fora do padrao, e todos meus codigos sao valido pelo W3C, mas eu nao me preocupei em deixar os codigos validos pois a ideia é passar mais informação sobre o sistema de cadastro, e se eu for me preoculpar com tudo isso eu nunca iria postar esse tutorial, pois meu tempo anda curto demais.

 

index.html:

<a href="cadastro.php">Cadastrar Usuarios</a><br />
<a href="listar.php">Listar Usuarios</a>

cadastro.php

 

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php

//Verifico se o arquivo existe

if(file_exists("init.php")) {

require "init.php";

} else {

echo "Arquivo init.php nao foi encontrado";

exit;

}

//verifico se a função que eu criei existe, vai que alguem pegou meu script e apagou ela = )

if(!function_exists("Abre_Conexao")) {

echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";

exit;

}

 

Abre_Conexao();

$re = mysql_query("select * from estados order by estado");

//verifico se nao deu erro de mysql

if(mysql_errno() != 0) {

//verifico se a $errros existe, mesma coisa vai que alguem meche no script e apagou ela

if(!isset($erros)) {

echo "Erro o arquivo init.php foi auterado, nao existe \$erros";

exit;

}

echo $erros[mysql_errno()];

exit;

}

?>

<!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>Cadastro</title>

<style>

<!--

.textBox { border:1px solid gray; width:200px;}

-->

</style>

</head>

 

<body>

<form id="form1" name="form1" method="post" action="salvar.php">

<table width="400" border="0" align="center">

<tr>

<td width="145">Nome</td>

<td width="245"><input name="nome" type="text" id="nome" maxlength="45" class="textBox" /></td>

</tr>

<tr>

<td>Email</td>

<td><input name="email" type="text" id="email" maxlength="64" class="textBox" /></td>

</tr>

<tr>

<td>Data Nascimento</td>

<td>

<?php

/*aqui eu criei uma função para montar o combo para mim, na propria função a seguir eu explico como ela funciona*/

echo monta_select("dia", 1, 31);

echo monta_select("mes", 1, 12);

echo monta_select("ano", 1940, 1988);

?>

</td>

</tr>

<tr>

<td>Sexo</td>

<td><input name="sexo" type="radio" value="M" checked="checked" /><label>Masculino</label>

<input name="sexo" type="radio" value="F" /> <label>Feminino</label></td>

</tr>

<tr>

<td>Preferencias de Filmes </td>

<td><select name="preferencias[]" class="textBox" multiple="multiple" id="preferencias">

<option value="R">Romance</option>

<option value="S">Suspense</option>

<option value="P">Policial</option>

<option value="F">Ficção</option>

</select>

</td>

</tr>

<tr>

<td>Salario</td>

<td><input name="salario" type="text" id="salario" maxlength="5" class="textBox" /></td>

</tr>

<tr>

<td>Endereco</td>

<td><input name="endereco" type="text" id="endereco" maxlength="30" class="textBox" /></td>

</tr>

<tr>

<td>Bairro</td>

<td><input name="bairro" type="text" id="bairro" maxlength="20" class="textBox" /></td>

</tr>

<tr>

<td>Cidade</td>

<td><input name="cidade" type="text" id="cidade" maxlength="45" class="textBox" /></td>

</tr>

<tr>

<td>Estado</td>

<td><select name="estados" id="estados" class="textBox" >

<?php

//pego os dados do banco para montar o combo do estados

while($l = mysql_fetch_array($re)) {

$id = $l["id_estado"];

$estado = $l["estado"];

$uf = $l["uf"];

echo "<option value=\"$id\">$uf - $estado</option>\n";

}

//fecho a conexao com o banco

@mysql_close();

 

?>

</select> </td>

</tr>

<tr>

<td>Login</td>

<td><input name="login" type="text" id="login" maxlength="40" class="textBox" /></td>

</tr>

<tr>

<td>Senha</td>

<td><input name="senha" type="password" id="senha" maxlength="10" class="textBox" /></td>

</tr>

<tr>

<td> </td>

<td><input type="submit" name="Submit" value="Salvar" style="cursor:pointer;" /></td>

</tr>

</table>

</form>

</body>

</html></div>

 

salvar.php

 

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php

/*verifico se os dados estao vindos do formulario, porque se uma pessoa acessar essa pagina diretamente

poderia dar erro, entao eu testo antes*/

if($_SERVER["REQUEST_METHOD"] == "POST") {

$nome = $_POST["nome"];

$email = $_POST["email"];

$data = "{$_POST["ano"]}-{$_POST["mes"]}-{$_POST["dia"]}";

$sexo = $_POST["sexo"];

//if e else simplificado, verifico se foi escolhido alguma preferencia e crio um array

$preferencias = isset($_POST["preferencias"]) ? implode(",", $_POST["preferencias"]) : "";

$salario = $_POST["salario"];

$endereco = $_POST["endereco"];

$bairro = $_POST["bairro"];

$cidade = $_POST["cidade"];

$estados = $_POST["estados"];

$login = $_POST["login"];

$senha = $_POST["senha"];

 

//aqui ja expliquei, mas denovo: ele verifica se o arquivo existe

if(file_exists("init.php")) {

require "init.php";

} else {

echo "Arquivo init.php nao foi encontrado";

exit;

}

//ja expliquei, mas ultima vez: verifica se a função que eu vou usar existe

if(!function_exists("Abre_Conexao")) {

echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";

exit;

}

 

Abre_Conexao();

if(@mysql_query("INSERT INTO usuarios VALUES ( NULL , '$nome', '$email', '$data' , '$sexo',

'$preferencias', '$salario', '$endereco', '$bairro', '$cidade', '$estados', '$login', MD5( '$senha' ) )")) {

//verifiquei acima se deu certo o comando e aqui verifico se foi mesmo gravado o dado no banco

if(mysql_affected_rows() == 1){

echo "Registro efetuado com sucesso<br />";

}

 

} else {

//verifico se nao estao tentando gravar um dado que ja existe, pois usei UNIQUE na tabela

if(mysql_errno() == 1062) {

echo $erros[mysql_errno()];

exit;

} else {

echo "Erro nao foi possivel efetuar o cadastro";

exit;

}

@mysql_close();

}

 

}

?>

<a href="index.html">Voltar</a></div>

 

listar.php

 

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><a href="index.html">Voltar</a>

<?php

if(file_exists("init.php")) {

require "init.php";

} else {

echo "Arquivo init.php nao foi encontrado";

exit;

}

 

if(!function_exists("Abre_Conexao")) {

echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";

exit;

}

 

Abre_Conexao();

$re = mysql_query("SELECT * FROM usuarios INNER JOIN estados ON usuarios.fk_estado = estados.id_estado ORDER BY usuarios.nome;");

if(mysql_errno() != 0) {

if(!isset($erros)) {

echo "Erro o arquivo init.php foi auterado, nao existe $erros";

exit;

}

echo $erros[mysql_errno()];

exit;

}

?>

 

<table width="100%" border="1">

<tr>

<td>Ações</td>

<td>Nome</td>

<td>Email</td>

<td>Data Nasc.</td>

<td>Sexo</td>

<td>Preferencias</td>

<td>salario</td>

<td>Endereço</td>

<td>Bairro</td>

<td>Cidade</td>

<td>Estado</td>

<td>Login</td>

</tr>

<?php

while($l = mysql_fetch_array($re)) {

$id = $l["id_usuario"];

$nome = $l["nome"];

$email = $l["email"];

$data = implode("/", array_reverse(explode("-", $l["data_nascimento"])));

$sexo = $l["sexo"] == "M" ? "Masculino" : "Feminino";

$preferencia = Pega_Preferencia($l["preferencias"]);

$salario = $l["salario"];

$endereco = $l["endereco"];

$bairro = $l["bairro"];

$cidade = $l["cidade"];

$estado = $l["estado"];

$login = $l["login"];

 

echo "

<tr>

<td><a href=\"editar.php?id=$id\">[Editar]</a> <a href=\"excluir.php?id=$id\">[Excluir]</a></td>

<td> $nome</td>

<td> $email</td>

<td> $data</td>

<td> $sexo</td>

<td> ". monta_combo($preferencia). "</td>

<td> ". number_format($salario, 2, ",", "."). "</td>

<td> $endereco</td>

<td> $bairro</td>

<td> $cidade</td>

<td> $estado</td>

<td> $login</td>

</tr>\n";

}

@mysql_close();

?>

</table></div>

 

editar.php

 

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php

if(file_exists("init.php")) {

require "init.php";

} else {

echo "Arquivo init.php nao foi encontrado";

exit;

}

 

if(!function_exists("Abre_Conexao")) {

echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";

exit;

}

$id = $_GET["id"];

 

Abre_Conexao();

$re = mysql_query("select count(*) as total from usuarios where id_usuario = $id");

$total = mysql_result($re, 0, "total");

 

if($total == 1) {

$re = mysql_query("select * from usuarios, estados where estados.id_estado = usuarios.fk_estado and usuarios.id_usuario = $id");

$dados = mysql_fetch_array($re);

}

?>

<!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>Cadastro</title>

<style>

<!--

.textBox { border:1px solid gray; width:200px;}

-->

</style>

</head>

 

<body>

<form id="form1" name="form1" method="post" action="salvar_edicao.php">

<input type="hidden" name="id" value="<?php echo $id; ?>" />

<table width="400" border="0" align="center">

<tr>

<td width="145">Nome</td>

<td width="245"><input name="nome" type="text" id="nome" maxlength="45" class="textBox" value="<?php echo $dados["nome"]; ?>" /></td>

</tr>

<tr>

<td>Email</td>

<td><input name="email" type="text" id="email" maxlength="64" class="textBox" value="<?php echo $dados["email"]; ?>" /></td>

</tr>

<tr>

<td>Data Nascimento</td>

<td>

<?php

$arr = explode("-", $dados["data_nascimento"]);

 

echo Seleciona_Item($arr[2], monta_select("dia", 1, 31));

echo Seleciona_Item($arr[1], monta_select("mes", 1, 12));

echo Seleciona_Item($arr[0], monta_select("ano", 1940, 1988));

?>

</td>

</tr>

<tr>

<td>Sexo</td>

<td><input name="sexo" type="radio" value="M" <?php echo $dados["sexo"] == "M" ? "checked=\"checked\"" : ""; ?> /><label>Masculino</label>

<input name="sexo" type="radio" value="F" <?php echo $dados["sexo"] == "F" ? "checked=\"checked\"" : ""; ?> /> <label>Feminino</label></td>

</tr>

<tr>

<td>Preferencias de Filmes </td>

<td><select name="preferencias[]" class="textBox" multiple="multiple" id="preferencias">

<?php

$combo = "<option value=\"R\">Romance</option>

<option value=\"S\">Suspense</option>

<option value=\"P\">Policial</option>

<option value=\"F\">Ficção</option>";

 

$arr = explode(",", $dados["preferencias"]);

for($i = 0; $i < count($arr); $i++) {

$combo = preg_replace("#<option value=\"{$arr[$i]}\">#is", "<option value=\"{$arr[$i]}\" selected=\"selected\">", $combo);

}

echo $combo;

?>

 

</select>

</td>

</tr>

<tr>

<td>Salario</td>

<td><input name="salario" type="text" id="salario" maxlength="5" class="textBox" /></td>

</tr>

<tr>

<td>Endereco</td>

<td><input name="endereco" type="text" id="endereco" maxlength="30" class="textBox" /></td>

</tr>

<tr>

<td>Bairro</td>

<td><input name="bairro" type="text" id="bairro" maxlength="20" class="textBox" /></td>

</tr>

<tr>

<td>Cidade</td>

<td><input name="cidade" type="text" id="cidade" maxlength="45" class="textBox" /></td>

</tr>

<tr>

<td>Estado</td>

<td><select name="estados" id="estados" class="textBox" >

<option value="0">Selecione</option>

<?php

$re = mysql_query("select * from estados order by estado");

if(mysql_errno() != 0) {

if(!isset($erros)) {

echo "Erro o arquivo init.php foi auterado, nao existe $erros";

exit;

}

echo $erros[mysql_errno()];

exit;

}

while($l = mysql_fetch_array($re)) {

$id = $l["id_estado"];

$estado = $l["estado"];

$uf = $l["uf"];

echo Seleciona_Item($dados["id_estado"], "<option value=\"$id\">$uf - $estado</option>");

 

}

@mysql_close();

 

?>

</select> </td>

</tr>

<tr>

<td>Login</td>

<td><input name="login" type="text" id="login" maxlength="40" class="textBox" /></td>

</tr>

<tr>

<td>Senha</td>

<td><input name="senha" type="password" id="senha" maxlength="10" class="textBox" /></td>

</tr>

<tr>

<td> </td>

<td><input type="submit" name="Submit" value="Salvar" style="cursor:pointer;" /></td>

</tr>

</table>

</form>

</body>

</html></div>

 

excluir.php

 

<?php
if($_SERVER["REQUEST_METHOD"] == "GET") {
if(file_exists("init.php")) {
	require "init.php";		
} else {
	echo "Arquivo init.php nao foi encontrado";
	exit;
}

if(!function_exists("Abre_Conexao")) {
	echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";
	exit;
}
$id = $_GET["id"];

Abre_Conexao();
if(mysql_query("delete from usuarios where id_usuario = $id")) {
	if(mysql_affected_rows() == 1){
		echo "Registro deletado com sucesso<br />";
	}	
}	
}

?>
<a href="listar.php">Voltar</a>

salvar_edicao.php

 

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php

if($_SERVER["REQUEST_METHOD"] == "POST") {

$id = $_POST["id"];

$nome = $_POST["nome"];

$email = $_POST["email"];

$data = "{$_POST["ano"]}-{$_POST["mes"]}-{$_POST["dia"]}";

$sexo = $_POST["sexo"];

$preferencias = isset($_POST["preferencias"]) ? implode(",", $_POST["preferencias"]) : "";

$salario = $_POST["salario"];

$endereco = $_POST["endereco"];

$bairro = $_POST["bairro"];

$cidade = $_POST["cidade"];

$estados = $_POST["estados"];

$login = $_POST["login"];

$senha = $_POST["senha"];

 

if(file_exists("init.php")) {

require "init.php";

} else {

echo "Arquivo init.php nao foi encontrado";

exit;

}

 

if(!function_exists("Abre_Conexao")) {

echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao";

exit;

}

 

Abre_Conexao();

if(@mysql_query("UPDATE usuarios SET nome = '$nome',

email = '$email',

sexo = '$sexo',

preferencias = '$preferencias',

salario = '$salario',

endereco = '$endereco',

bairro = '$bairro',

cidade = '$cidade',

fk_estado = '$estados',

login = '$login',

senha = MD5( '$senha' ) WHERE id_usuario = $id")) {

 

if(mysql_affected_rows() == 1){

echo "Registro atualizado com sucesso";

}

 

} else {

if(mysql_errno() == 1062) {

echo $erros[mysql_errno()];

exit;

} else {

echo "Erro nao foi possivel efetuar a edição";

exit;

}

@mysql_close();

}

 

}

?>

<a href="listar.php">Voltar</a></div>

 

 

arquivos completos para download: Cadastro.zip

Pessoal qualquer duvida quanto os sistema ou alguma duvida só postar no forum mesmo que responderemos

 

bom espero que esse exemplo seja util

 

versao do sistema de cadastro mais simples

http://forum.imasters.com.br/index.php?showtopic=201046

 

abraços

 

" NAO TEM COMO você MANDAR TAMBEM O CODIGO DO INIT.PHP COM AS FUNÇÕES QUE você CRIOU NAO? POIS TO PERDIDINHO. HEHEHEH. VLW"

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Fabyo, vi uma postagem sua e gostei , tenho que fazer um trabalho de php que é o seguinte:

seria um portal de uma biblioteca, pois este é o tema de minha monografia de projeto final, então tenho o template, e fiz os menus funcionar, tenho que agora implementar cadastro de obras(livros, revistas), listar, buscar. pois achei uma mas eu queria saber onde posso implementar seu código no meu.

 

Se puder me auxiliar serei grata

até maissss... http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Adriana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal, primeiramente agradeço ao Fabyo pelo topico. Rodei o cadastramento aqui e funcionou beleza, porém gostaria de saber como eu faço pra logar com esse usario e senha que eu crio usando esse sistema do Fabyo, no caso logando numa pagina de teste... agradeço, valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fabyo, como o combinado irei postar a pagina de login e as duvidas...

 

documento php de cadastramento, chamado de cadastro.php:

<?
//conexão com o db
include ("conectar.php");
//variaveis enviadas pelo método post
$nome = $_POST['nome'];
$senha = $_POST['senha'];
//insere os valores no db
$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error());
if($insere)
echo "Cadastro realizado com sucesso!";
else
echo "Não foi possível fazer o seu cadastramento!";
?>

 

 

 

 

login.php

 

<?
//conecta com o db
include ("conectar.php");
$nome= $_POST['nome'];
$senha = $_POST['senha'];
//faz a confirmação de nome e senha no db
$logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar");
/*aqui depois de verificado redirecionamos a pagina secreta(caso nome e senha estarem corretos) ou senha
e apelido não conferem caso tais estiverem errados. Repare que há uma rotina para o valor inserido em senha não seja nulo.
obs: Aonde esta escrito paginasecreta.php é aonde você deve colocar a página para onde o script ira redirecionar*/
if (strlen($senha)< 1)
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
elseif (mysql_num_rows($logar)>0 ){
header("location:paginasecreta.php");
} else {
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
}
?>

 

 

bom, minha duvida é: como criar o arquivo de conexão e as tabelas do banco de dados...

pra usar nesse mesmo sistema que voce fez...

exemplo, eu cadastro um usuario naquele seu sitema lah ai quando eu abrir a pagina de login e senha se eu digitar login e senha que eu cadastrei ele entra numa pagina secreta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo após instalar o seu cadastro apareceu para mimo seguinte erro:

Notice: Undefined offset: 1044 in /home/f46095/public_html/cadastro01/init.php on line 44

A mais de meses estou embusca deste cadastro pois tento resolver um problema de cadastro de usuarios no site, se puderes me ajudar serei grato!

Obrigado.

 

Heduard

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta seu init.php

Aqui está Fábio, gostaria de agradecer a atenção amigo fico muito grato!

 

<?php

error_reporting(E_ALL);

@ini_set('display_errors', '1');

@ini_set('register_globals', '0');

if (version_compare(phpversion(), "4", ">")) {

if (!extension_loaded('mysql')) {

echo( "Nao esta habilitada a dll Mysql" );

exit;

}

}

 

if(file_exists("funcoes.php")) {

include "funcoes.php";

} else {

echo "Arquivo funcoes.php nao encontrado";

exit;

}

 

if(file_exists("config.php")) {

include "config.php";

 

if (!defined("SERVIDOR") or !defined("USUARIO") or !defined("SENHA") or !defined("BANCO")){

echo "Variaveis de conexao nao definidas, configure corretamente o arquivo config.php";

exit;

}

}

 

$erros[2005] = "Esse servidor nao existe";

$erros[2003] = "Servidor Mysql desligado";

$erros[1045] = "Usuario ou senha invalido";

$erros[1049] = "Banco de dados nao encontrado";

$erros[1146] = "Erro de sql a tabela nao existe";

$erros[1062] = "Erro campo unico na tabela, nao pode cadastrar pois ele ja existe";

 

function Abre_Conexao() {

global $erros;

@mysql_connect(SERVIDOR, USUARIO, SENHA);

if(mysql_errno() != 0) {

echo $erros[mysql_errno()];

exit;

}

@mysql_select_db(BANCO);

if(mysql_errno() != 0) {

echo $erros[mysql_errno()];

exit;

}

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

atualize seu init.php para esse:

 

<?php
error_reporting(E_ALL);
@ini_set('display_errors', '1');
@ini_set('register_globals', '0');
if (version_compare(phpversion(), "4", ">")) {
if (!extension_loaded('mysql')) {
echo( "Nao esta habilitada a dll Mysql" );
exit;
}
}

if(file_exists("funcoes.php")) {
include "funcoes.php";
} else {
echo "Arquivo funcoes.php nao encontrado";
exit;
}

if(file_exists("config.php")) {
include "config.php";

if (!defined("SERVIDOR") or !defined("USUARIO") or !defined("SENHA") or !defined("BANCO")){
echo "Variaveis de conexao nao definidas, configure corretamente o arquivo config.php";
exit;
}
}

$erros[2005] = "Esse servidor nao existe";
$erros[2003] = "Servidor Mysql desligado";
$erros[1045] = "Usuario ou senha invalido";
$erros[1049] = "Banco de dados nao encontrado";
$erros[1146] = "Erro de sql a tabela nao existe";
$erros[1062] = "Erro campo unico na tabela, nao pode cadastrar pois ele ja existe";

function Abre_Conexao() {
global $erros;
@mysql_connect(SERVIDOR, USUARIO, SENHA);
if(mysql_errno() != 0) {
echo $erros[mysql_errno()];
exit;
}
@mysql_select_db(BANCO);
if(mysql_errno() != 0) {
if(isset($erros[mysql_errno()])){
echo $erros[mysql_errno()];
} else {
echo mysql_errno();
}	
exit;
}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

acrescente essa função:

else {

echo mysql_errno();

echo mysql_error();

}

 

mas verifique os seus dados de conexao novamente

 

http://dev.mysql.com/doc/refman/4.1/pt/access-denied.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Fábio, que coisa heheh não me dei com esse código mesmo estou apanhando muito agora ele me informa err denit como se o banco não estivece conectado, não sei tb se não é coisa desse prevedor insite... Bom valeu a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é com certeza tem algum problema com seu dominio, pode ser configuração deles ou algo do tipo, mas o script em si ta funcionando normal

Com certeza Fábio já testei agoramesmo em um outro site e beleza rodo tranquilo é essa m... do insite com essa extenção obrigatoria antes do banco mesmo!!

Muito obrigado cara e parabéns pelo script tah show.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fabyo, como o combinado irei postar a pagina de login e as duvidas...

 

documento php de cadastramento, chamado de cadastro.php:

<?
//conexão com o db
include ("conectar.php");
//variaveis enviadas pelo método post
$nome = $_POST['nome'];
$senha = $_POST['senha'];
//insere os valores no db
$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error());
if($insere)
echo "Cadastro realizado com sucesso!";
else
echo "Não foi possível fazer o seu cadastramento!";
?>

 

login.php

<?
//conecta com o db
include ("conectar.php");
$nome= $_POST['nome'];
$senha = $_POST['senha'];
//faz a confirmação de nome e senha no db
$logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar");
/*aqui depois de verificado redirecionamos a pagina secreta(caso nome e senha estarem corretos) ou senha
e apelido não conferem caso tais estiverem errados. Repare que há uma rotina para o valor inserido em senha não seja nulo.
obs: Aonde esta escrito paginasecreta.php é aonde você deve colocar a página para onde o script ira redirecionar*/
if (strlen($senha)< 1)
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
elseif (mysql_num_rows($logar)>0 ){
header("location:paginasecreta.php");
} else {
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
}
?>

bom, minha duvida é: como criar o arquivo de conexão e as tabelas do banco de dados...

pra usar nesse mesmo sistema que voce fez...

exemplo, eu cadastro um usuario naquele seu sitema lah ai quando eu abrir a pagina de login e senha se eu digitar login e senha que eu cadastrei ele entra numa pagina secreta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns fabyo...excelente sistema!

 

Além de funfar belezinha ele é ótimo para quem ta iniciando.

 

Caiu como uma luva no meu projeto...vlws!!!

 

Vou dar uma humilde contribuição de segurança pro seu post:

uma funçãozinha anti sql q peguei na net...pra mim funfa belezinha...hehe

 

<?php
# Função Anti MySQL Injection - Proteja suas aplicações!
# Por Alexandro G. Correa - Porto Alegre - RS
# alex.linux (at) gmail.com
# 13/03/2009

function anti_injection($sql){
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|destroy|INFORMATION SCHEMA| like|COLUMNS|VALUES|alter|#|\*|--|\\\\)/"), "" ,$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql);
return $sql;
}

/* INSTRUÇÕES DE USO:

$nome = anti_injection($_POST["variavel"]);

*/
?>

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.