Ir para conteúdo

Arquivado

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

Mauro Denison

fazer um login usando o cpf ou cnpj

Recommended Posts

Boa tarde pessoal, este código eu fiz no dreamweaver e estou com uma tela de login, só que este código que esta ai é apenas para entrar com o cnpj, ja tenho um cadastro de pessoas físicas no banco. Agora quero entrar com os os dois (CNPJ e CPF). Ou seja, o cpf vai fazer parte do cnpj.

 

 

<?php

// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['cnpj'])) {
$loginUsername=$_POST['cnpj'];
$password=sha1($_POST['senha']);
$MM_fldUserAuthorization = "usu_nivel";
$MM_redirectLoginSuccess = "painel.php";
$MM_redirectLoginFailed = "erro.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_config, $config);

$LoginRS__query=sprintf("SELECT cnpj, senha, usu_nivel FROM users WHERE cnpj=%s AND senha=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'usu_nivel');
$loginStrGroup2 = mysql_result($LoginRS,0,'nivel_empresa');

if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
$_SESSION['nivel_empresa'] = $loginStrGroup2;


if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo alterar a tabela. Troque o nome do campo "cnpj" para algo como "documento". E adicione um campo indicando se o registro é de pessoa física ou jurídica. Depois basta manter o mesmo SELECT, apenas alterando os noms dos campos

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma Regex que limpa a formatação caso exista, e faça uma contagem dos números, com strlen

 

se for igual a 11 caracteres do tipo int é CPF, else CNPJ, ou faça a contagem do mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer.

Mostre o código alterado e diga onde teve dúvidas.

 

O fórum existe para orientar, não para dar respostas prontas :thumbsup:

 

O triste dessa galera é que querem tudo pronto, nem para tentar fazer sacanagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Pior parece que estão revivendo o Dinossauro DW, com geração destes códigos sujos e enormes, os Admins deveriam voltar o fórum de Dreamweaver para evitar estes tipos de códigos de baixa qualidade no fórum de PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo que comece estudando além das sintaxes do PHP, a Biblioteca PDO para manipulação de informações com o BD

 

https://goo.gl/p4o417

 

15 Boas Práticas

http://www.ultimatephp.com.br/guia/

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.