Ir ao conteúdo
  • Cadastre-se

Portugol validaçã0 de mesmo nome em um form em php


Posts recomendados

Boa noite pessoal,estou fazendo um crud e nao estou conseguindo fazer com que quando um nome ja inserido no bd nao possa ser inserido novamente.Nao estou conseguindo fazer essa validação.Me deem um help

OBs:Eestou fazendo em php

 

arquivo -- Veri_usuario.php

 

 

 

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>



        <?php
        
 $nome="1";
$consulta = mysqli_query ($con,"select * from cadastrar_cliente where nome = 'nome_cliente' ") or die ("nao deu $consulta");

if (mysqli_num_rows($consulta) === $_POST['nome_cliente'])  {

    echo "$consulta .EXIIISTEE";

}       
        ?>
    </body>
</html>

arquivo proce_cliente.php

<!DOCTYPE html>

<?php
include_once ("Conexao.php");

 include_once "Veri_usuario.php";



$cpf = filter_input(INPUT_POST, 'cpf_usuario');
$nome = filter_input(INPUT_POST, 'nome_cliente');
$cel = filter_input(INPUT_POST, 'cel_cliente');

/* echo "Nome:$nome <br>";
  echo "cpf:$cpf <br>";
  /*echo "cel:$cel <br>"; */






$result_usuario = "INSERT INTO cadastrar_cliente(cpf,nome,cel) VALUES ('$cpf','$nome','$cel')";
$resultado_usuario = mysqli_query($con, $result_usuario);


unset($cpf,$nome,$cel);




    if (!empty($_POST)) {

// Verifica se a variável $_POST['nome'] existe
        if (isset($_POST['nome_cliente'])) {

// Verifica se o usuário digitou o seu nome
            if (!empty($_POST['nome_cliente'])) {

                $nome = $_POST['nome_cliente'];

                echo 'Seja bem-vindo(a) ' . $nome . '!';
            } else {

                echo "Por favor, preencha o seu nome";
            }
        } else {

            echo "O campo 'nome_cliente' não existe na variável $_POST";
        }
  
}
 
 
        
        
?>
     

index.php

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->

<?php
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $request = md5(implode($_POST));

    if (isset($_SESSION['last_request']) && $_SESSION['last_request'] == $request) {
        echo 'refresh';
    } else {
        $_SESSION['last_request'] = $request;
        echo 'post';
    }
}
?>





<html>
    <head>
        <title> Cadastro do Cliente</title>
    </head>
    <body>


        <form method="POST" action="proce_cliente.php">
            Cpf: <input type="text" name="cpf_usuario"  pattern="\d{3}\.\d{3}\.\d{3}-\d{2}" placeholder="___.___.___-__" title="Formato correto: xxx.xxx.xxx-xx"><br><br>
            Nome: <input type="text" name="nome_cliente" placeholder="Digite seu nome completo"><br><br>
            Cel: <input type="tel" name="cel_cliente" placeholder="Ex.: (00) 0000-0000"><br><br>
            <input type="submit" value="Cadastrar">
        </form>
    </body>
</html>

conexao.php

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        
      $servidor="localhost";
      $usuario="root";
      $senha="";
      $dbname="cadastro";
      
      $con= mysqli_connect("localhost","root","","cadastro");
      


        ?>
    </body>
</html>

 

Link para o comentário
Compartilhar em outros sites

mysqli_num_rows($query) sempre retornará um inteiro contando quantas entradas foram encontradas no banco de dados para $query. já $_POST['nome_cliente'], eu presumo, que seja o campo onde o usuário irá preencher seu nome. isso é uma string. voce pode entender melhor o que estou dizendo colocando var_dump() no escopo apropriado do seu codigo:

var_dump(mysqli_num_rows($consulta));
var_dump($_POST['nome_cliente']);

uma boa prática é, ao invés de comparar a string do nome, comparar o email do usuario ou até mesmo o cpf, no seu caso.. geralmente o campo de email deve ser bem tratado, para evitar email incorreto e tambem validado para testar se o email é de fato do usuario. outra dica é construir uma coluna na tabela para armazenar uma id unica de usuário, com auto incremento.. dessa forma ficará mais fácil fazer operações de alteração de conta, envio de email, enfim quaisquer manipulações na conta do usuário sem correr risco de erros 

Link para o comentário
Compartilhar em outros sites

@LFCSSP ah entendi cara,entao eu estava passando uma string,mas meu resultado de consulta a partir do comando  que estava retornava um inteiro,mas no caso eu queria que ele retornava uma string .Entendi!!!

E relacionado ao id que você falou minha tabela tem sim um id e um auto increment,pensei em pegar ele pra usar mas como era inicio achei melhor usar o nome.

E sim, vou mudar para o cpf a validaçao de para nao existir dois cadastros,obrigado pelo dica !#

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!