Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, criei um sistema de cadastro que só é permitido o acesso para adicionar as informações no banco de dados se a pessoa tiver um número chave que é restrito para cada cliente.
Gostaria de saber qual seria a sequência dos comandos para formar um sistema que some +1 (uma unidade) na chave daquele que acabou de se cadastrar, para impedir que ela possa fazer outro cadastro com o mesmo número novamente.
As informações do registro são adicionadas na mesma linha da chave no banco de dados com o comando 'update', poderia aí da mesma forma, substituir a chave do cliente porém modificando ela, como por exemplo, apenas o último número?
A chave do cliente está no campo nivel:
<?php
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_POST['nivel'])) {
$nivel=$_POST['nivel'];
$nome=$_POST['nome'];
$email=$_POST['email'];
$telefone=$_POST['telefone'];
$login=$_POST['login'];
$MM_redirectLoginSuccess = "index.php";
$MM_redirectLoginFailed = "erro.htm";
mysql_select_db($database_conexao, $conexao);
$insertSQL = sprintf("UPDATE `sistema_de_login` SET `nome`='".addslashes($nome)."', `email`='".addslashes($email)."',
`telefone`='".addslashes($telefone)."', `login`='".addslashes($login)."' WHERE `nivel`='".addslashes($nivel)."'");
$Result1 = mysql_query($insertSQL, $conexao) or die (mysql_error());
if ($Result1){
header("Location:$MM_redirectLoginSuccess");
}else{
header("Location:$MM_redirectLoginFailed");
}
}
?>
Essa sua chave seria o id do cliente certo... Então para evitar que esse "id" seja repetido isso é na hora de criar a tabela que se faz isso... exemplo:
CREATE TABLE
clientes(idINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , //Faz com que cada id gerado seja único e que o próprio MySQL registre ele automáticamentenomeVARCHAR( 50 ) NOT NULL ,senhaVARCHAR( 50 ) NOT NULL ,PRIMARY KEY (
id), // Faz com que o campo ID (que lá encima foi configurado para que cada id gerado seja único e que o próprio MySQL registre ele automático) seja gerado automaticamente em forma crescente (EX: primeiro cliente pega o ID 1, o quinto cliente pega o ID 5 etc...)UNIQUE (nome) // Faz com que não se repita o nome do cliente (opcional dependendo do seu caso)
Ou se tiver usando phpMyAdmin (etc) para criar a tabela, é mais ou menos assim:
http://i.imgur.com/X4Aue.png
Se eu tiver errado alguém me corrija