Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 56
Sexo: Masculino

Ajudar com BD de Cadastro de usuario

06-02-2012 12:01

Bom dia meu caro amigo, necessito tirar uma dúvida cruel com você.
Sistema de cadastro de usuário com sessão de mostrar usuário cadastrado e cadastro de usuário.

1 . Na página cadastra_user.php quando vou cadastrar usuário o mesmo deixa cadastra usuário com os campos limpos, gostaria de bloquear e cadastrar apenas se o campo estiver preenchido e também caso exista a possibilidade de não cadastrar usuários já cadastrado.

2. Quando coloco validação nas paginas validalogin.php || <?php
include("validalogin.php"); ?> ||. Apresenta erro e volta para a pagina login.php que é a principal

----------------------------------------------------------------------------------------------------
cadastra_user.php

<html>
<body>
<form action="cadastro.php" name="cadastro" method="post">
Nome: <input type="text" name="nome"><br>
Senha: <input type="text" name="senha"><br>

<input type="submit" value="enviar">
</form>
</body>
</html>
--------------------------------------------------------------------------------------------------

cadastro.php

<?php
$nome = $_POST['nome'];
$senha = $_POST['senha'];
$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error());
if($insere){
print "<script> alert('Dados salvo com sucesso, aguarde validar seu usuário!');
location.href='index.php';
</script>";
exit;
} else {
print "<script> alert('Não foi possível salvo dados!');
location.href='index.php';
</script>";
exit;
}
?>

-----------------------------------------------------------------------------------------------------------
login.php

<form action="validaLogin.php" method="post" id="form" name="form">
<label for="login">Login: <input type="text" name="login" id="login" /></label>
<label for="senha">Senha: <input type="password" name="senha" id="senha" /></label>
<button type="submit">LOGIN</button>
</form>
--------------------------------------------------------------------------------------------------------
home.php
<?php
//INICIO A SESSÃO
session_start();

//Verifico se o usuário está logado no sistema
if (!isset($_SESSION["logado"]) || $_SESSION["logado"] != TRUE) {
header("Location: login.php");
}
else {
echo "<h1>Seja bem-vindo, ".$_SESSION["user"]."</h1>";
}
?>



------------------------------------------------------------------------------------------------------------
validalogin.php

<?php
//INICIO A SESSÃO
session_start();

$login = array("katia.gomes", "user02", "user03", "user04", "user05");
$senha = array("7627", "senha02", "senha03", "senha04", "senha05");


//Calculo o tamanho do array $login
$tamArray = count($login);
//Crio uma variável auxiliar
$msg = FALSE;
//Uso um loop para percorrer o array
for ($i = 0; $i < $tamArray; $i++) {
if ($_POST["login"] == $login[$i] && $_POST["senha"] == $senha[$i]) {
$msg = TRUE;
break;
}
}
//Verifico se a variável auxiliar $msg saiu do loop com o valor TRUE (indicando login efetuado com sucesso)
if ($msg) {
//Armazeno duas informações na sessão do usuário: se ele está logado, e o login de acesso. A partir desse momento, qualquer página habilitada a trabalhar com variáveis de sessão, poderá resgatar essas variáveis, manipulá-las, sobreescrevê-las etc.
$_SESSION["logado"] = TRUE;
$_SESSION["user"] = $_POST["login"];
//Uso a função header() para fazer o redirecionamento para a página principal do site, uma vez que o login foi executado com sucesso
header ("Location: home.php");
}
else {
//Caso o login dê errado, devolvo o usuário para a página de login
header ("Location: login.php");
}
?>
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajudar com BD de Cadastro de usuario

06-02-2012 12:05

Para bloquear cadastros que venham com campos vazios, você tem que fazer algo assim:

if($campo1=="" OR $campo2=="") { echo "preencha os campos"; exit; } else { echo "cadastro"; }

Ai basta você substituir ai os campos que precisa.

O problema de voltar para página de login, você tem que se certificar que os valores do post estão vindo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 56
Sexo: Masculino

Ajudar com BD de Cadastro de usuario

06-02-2012 12:34

amigo,
feito o que vc me passou mesmo assm o cadstro está deixando passar sem preecher os campos

if($nome=="nome" OR $senha=="senha") {
echo "preencha os campos";
exit;
} else {
echo "cadastro";
}
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajudar com BD de Cadastro de usuario

06-02-2012 12:40

O if é para verificar se os campos do formulário estão vindo vazios.

Deve ser colocado após

$nome = $_POST['nome'];
$senha = $_POST['senha'];

if($nome=="nome" OR $senha=="senha") {

Não tem que ter nenhum valor ai, porque o if é para verificar se um dos campos do formulário veio vazio.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 56
Sexo: Masculino

Ajudar com BD de Cadastro de usuario

06-02-2012 13:45

Veja o código aparentemente está igual vc está me explicando, só não sei o pq não funciona.

<?php
$nome = $_POST['nome'];
$senha = $_POST['senha'];

$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error());

if($nome=="nome" OR $senha=="senha") {
echo "preencha os campos";
exit;
} else {
echo "cadastro";
}

?>
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajudar com BD de Cadastro de usuario

06-02-2012 14:04

Está quase certo, sendo que o if tem que ser antes do insert, até porque só deve inserir os dados quando preenchidos.

Ai o insert, vai dentro do if, no trecho cadastro, junto com uma mensagem informando que foi cadastrado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 56
Sexo: Masculino

Ajudar com BD de Cadastro de usuario

06-02-2012 16:17

Você diz que ficaria assim?

<?php
$nome = $_POST['nome'];
$senha = $_POST['senha'];


if($nome=="nome" OR $senha=="senha")
$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error());

{
echo "preencha os campos";
exit;
} else {
echo "cadastro";
}

?>
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajudar com BD de Cadastro de usuario

06-02-2012 16:21

Assim

<?php $nome = $_POST['nome']; $senha = $_POST['senha']; if($nome=="" OR $senha=="") { echo "preencha os campos"; exit; } else { $insere = mysql_query("INSERT INTO `login`( `nome`, `senha`) VALUES ('$nome','$senha')") or die(mysql_error()); echo "cadastro concluído"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 56
Sexo: Masculino

Ajudar com BD de Cadastro de usuario

07-02-2012 08:27

Obrigada pela ajudar amigo!
agradeço sempre seu bom humor e paciência.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajudar com BD de Cadastro de usuario

07-02-2012 08:49

;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado