Ir para conteúdo

Arquivado

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

Thiago Duarte

Meu sistema de cadastro e login não ta funcionando

Recommended Posts

Vou postar aqui mesmo

 

     if(@$_POST['registrar'] == 'Registrar'){
  if(empty($_POST['dominio_site']) || empty($_POST['email']) || empty($_POST['senha']))
    $erro[] = "*Preencha todos os campos de informações pessoais.";
if(empty($_POST['email']) || empty($_POST['senha']))
    $erro[] = "*Preencha os campos de usuario e/ou senha";
else{
    $query = "SELECT * FROM usuario where email = '".$_POST['email']."'";
    $resultado = mysqli_query($db, $query) or die(mysqli_error());
    $n_res = mysqli_num_rows($resultado);
    if($n_res != 0)
      $erro[] = "*Usuario ja cadastrado, tente outro.";
  if(!preg_match('/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/i',$_POST['email']))
      $erro[] = "*Email invalido. Formato de email incorreto.";
  else{
      $query = "SELECT * FROM usuario where dominio_site = '".$_POST['dominio_site']."'";
      $resultado = mysqli_query($db, $query) or die(mysqli_error());
      $n_res = mysqli_num_rows($resultado);
      if($n_res != 0)
        $erro[] = "*Dominio ja cadastrado, tente outro.";
}
}


if(@$_POST['registrar'] == 'Registrar' && count(@$erro) == 0){


    if($_POST['registrar'] == 'Registrar'){
        $query = "insert into usuario values ('NULL', '".$_POST['dominio_site']."', '".$_POST['email']."', '".$_POST['senha']."', '0')";


        mysqli_query($db, $query) or die(mysqli_error());
        header("Location: dashboard.php");
        }
    }
}

HTML

<form id="registrar" name="registrar" method="post" action="">
 <input type="text" name="dominio_site" class="form-control" id="appendedInput" placeholder="exemplo">
 <input type="text" name="email" class="form-control">
  <input type="password" name="senha" class="form-control">
 <input type="submit" class="btn btn-primary" value="Registrar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, to desconfiado que deve ser algo no meu banco de dados que ta dando problema na hora inserir

CREATE TABLE IF NOT EXISTS `usuario` (
  `id_cliente` int(2) NOT NULL AUTO_INCREMENT,
  `dominio_site` varchar(40) DEFAULT NULL,
  `email` varchar(40) NOT NULL,
  `senha` varchar(40) NOT NULL,
  `plano` varchar(40) DEFAULT NULL,
  `nome_completo` varchar(40) DEFAULT NULL,
  `telefone` varchar(40) DEFAULT NULL,
  `celular` varchar(40) DEFAULT NULL,
  `template` text,
  PRIMARY KEY (`id_cliente`),
  UNIQUE KEY `id` (`id_cliente`),
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `nomesite` (`dominio_site`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago vamos acaba logo com a duvida sua vamos do começo

 

Conexão

 

<?php


$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'start';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());

SELECT

 

<?php


// conectando ao banco
$mysqli = new mysqli('localhost', 'root', '', 'start');
// Executa uma consulta que pega cinco notícias
$sql = "SELECT id, titulo FROM noticias LIMIT 5";
$query = $mysqli->query($sql);
while ($dados = $query->mysqli_fetch_array()) {
echo 'ID: ' . $dados['id'] . '';
echo 'Título: ' . $dados['titulo'] . '';
}
echo 'Registros encontrados: ' . $query->num_rows;

DELETE

<?php
//  conecta ao banco
$mysqli = new mysqli('localhost', 'root', '', 'start');

// Executa uma consulta que deleta uma notícia
$sql = "DELETE FROM FROM noticias WHERE id = 2";
$query = $mysqli->query($sql);
echo 'Registros afetados: ' . $query->affected_rows;

INSERT

<?php
$mysqli = new mysqli('localhost', 'root', '', 'mydb');
$sql = "INSERT INTO noticias (titulo) VALUES ('Imasters')";
if ($result = $mysqli->query($sql)) {
   echo 'ID da noticia cadastrada: '.$result->insert_id;
}

Mais deixa eu te fala você ta usando duas conexoes? pq no seu codigo ai você ta usando mysql e mysqli não entedir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua tabela possui 3 campos definido como UNICO. Isso significa que a tabela não aceitará valores que já estejam gravados em um desses 3 campos. Entendeu ? não tente cadastrar dois emails iguais, ou dois ids, ou dois nomes que não vai, você tem que fazer uma validação para isso, pra avisar que o nome ou email ou id já existe na base.

 

Você "TEM QUE RETIRAR" todos os arrobas de seu código para fazer uma depuração, veja se os POSTS estão chegando, coloque no início ali antes do post:

var_dump($_POST);

Você precisa verificar a existência da variável $_POST['Registrar'] antes de compará-la ficando assim:

if(isset($_POST['Registrar']) and $_POST['Registrar']=='Registrar')

Lembre-se de que você está utilizando MySQLi orientado a objetos.

 

Sua query e sua verificação devem ficar assim:

$resultado = $mysqli->query($query) or die($mysqli->error);
    
    if($resultado->num_rows != 0)

Preste atenção nessa rotina acima, mude as demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você prestou atenção no meu post cima ? estudou direitinho ? entendeu o que eu disse ? Está tudo errado aí amigo... decida, se você utiliza mysql_ ou mysqli_, você insiste em deixar os arrobas nas funções, você insiste em utilizar o mysqli de forma incorreta... aí fica difícil, volte ao meu post e leia com atenção, impossível não entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você prestou atenção no meu post cima ? estudou direitinho ? entendeu o que eu disse ? Está tudo errado aí amigo... decida, se você utiliza mysql_ ou mysqli_, você insiste em deixar os arrobas nas funções, você insiste em utilizar o mysqli de forma incorreta... aí fica difícil, volte ao meu post e leia com atenção, impossível não entender.

qual o certo então ? mysql ou mysqli ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, eu resolvi fazer de uma forma diferente mas engraçado no exemplo que vi tava funcionando e só troquei os campos e comigo não funcionou.

 

o codigo ta aqui: http://pastebin.com/cax6i6eu

 

Talvez tenha algum campo que eu também possa ta dando mole e cadastrando erro então melhor eu enviar o print do meu banco de dados.

 

Print: https://goo.gl/kuLAoy

Compartilhar este post


Link para o post
Compartilhar em outros sites

Detesto gente teimosa, explicam, explicam, explicam, e sempre fazem a mesma coisa, e ainda querem resultados diferentes.

 

 

O Alaerte resumiu tudo no post #24, e cara ainda insiste em fazer tudo igual, não lê, não aplica oque foi passado, posta código em link externo, sendo que aqui tem a mesma função para add os codes, se leu até aqui, releia o post #24 e corrigia este código tosco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago Duarte, depois de várias tentativas de ajudá-lo sem sucesso, por membros do fórum e pela equipe, visando que você NÃO LÊ as explicações e não COMPREENDE o que foi passado, sugiro você ir ao fórum de negócios, aqui do iMasters, na tentativa de contratar um profissional para desenvolver sua aplicação. Ainda na oportunidade, indico você estudar o básico de php e mysql, faça cursos, sugiro você este blog: -> http://rberaldo.com.br/

 

-> http://forum.imasters.com.br/forum/87-empregos-curriculos-parcerias-e-negocios/

 

;)

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.