Secret Experience

Secret Experience (https://secretexperience.net/)
-   [L2J] Dúvidas (https://secretexperience.net/l2j-duvidas/)
-   -   [Interlude] WebSite Registro.. (https://secretexperience.net/l2j-duvidas/18404-website-registro.html)

Marley3 08-02-2010 04:45 AM

WebSite Registro..
 
Estou Com 1 Script Muito Otimo Aqui Só Que Quando Eu Registro Uma Conta , Se Exist ja a Conta ele nao avisa simplesmente Da Isso

Código PHP:

Duplicate entry 'marley' for key 'PRIMARY' 

Imagem 1:
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]


Script:
Código PHP:

<?php
session_start
();

$servidor 'localhost';
$usuario  'root';
$senha    'susenha';
$db       'suadb';

$con mysql_connect($servidor$usuario$senha) or die(mysql_error());
mysql_select_db($db$con) or die(mysql_error());

function 
cod($senha) {
    return 
base64_encode(pack('H*'sha1($senha)));
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Registro de Contas </title>
<style type="text/css">
<!--
body,td,th {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #C1C1A2;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: transparent;
}
.font1 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #FF3300;
}
.font2 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #FF0000;
}
.font3 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #FFCC00;
}
.font4 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #9F0;
}
.font5 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #0CF;
}
a {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #C1C1A2;
}
a:visited {
    color: #C00;
}
a:hover {
    color: #F30;
}
a:active {
    color: #F00;
}

-->
</style>
</head>

<body>

<div align="center">
  <?php

if($_POST) {
    
    
$login  trim(addslashes(htmlentities($_POST['login'])));
    
$senha  trim(addslashes(htmlentities($_POST['senha'])));
    
$senha2 trim(addslashes(htmlentities($_POST['senha2'])));
    
$email  trim(addslashes(htmlentities($_POST['email'])));
    
$codigo trim(addslashes(htmlentities(strtoupper($_POST['codigo']))));
    
    
$sql mysql_query("SELECT * FROM accounts WHERE email = '".$email."'") or die(mysql_error());
    
$c mysql_num_rows($sql);
    
    
$erro .= empty($login)  ? 'Digite seu login!\n'                     NULL;
    
$erro .= empty($senha)  ? 'Digite sua senha!\n'                     NULL;
    
$erro .= empty($email)  ? 'Digite seu email!\n'                     NULL;
    
$erro .= empty($senha2) ? 'Digite a confirmação de sua senha!\n' NULL;
    
$erro .= empty($codigo) ? 'Digite o código de segurança!\n'      NULL;
    
    
$erro .= ($senha != $senha2) && (!empty($senha) && !empty($senha2)) ? 'Senhas não coincidem!\n'          NULL;
    
$erro .= ($_SESSION['cod'] != $codigo) && (!empty($codigo))         ? 'Código de segurança incorreto!\n' NULL;
    
$erro .= (!empty($email)) && ($c 0) ? 'Email existente!\n' NULL;
    
    
$erro .= (!ereg("^([a-zA-Z0-9_-])*$"$login))  && (!empty($login))  ? 'Seu login contém caracteres inválidos!\n' NULL;
    
$erro .= (!ereg("^([a-zA-Z0-9_-])*$"$senha))  && (!empty($senha))  ? 'Sua senha contém caracteres inválidos!\n' NULL;
    
$erro .= (!ereg("^([a-zA-Z0-9_-])*$"$senha2)) && (!empty($senha2)) ? 'Sua confirmação contém caracteres inválidos!\n' NULL;
    
$erro .= (!ereg("^([a-zA-Z0-9_-])*$"$codigo)) && (!empty($codigo)) ? 'Código de segurança contém caracteres inválidos!\n' NULL;
    
    
$msg 'Ocorreram os seguintes erros:\n\n';

    if(empty(
$erro)) {
    
        
$sql "INSERT INTO accounts (login, password, email) VALUES ('".$login."', '".cod($senha)."', '".$email."')";
        
mysql_query($sql) or die(mysql_error());
        echo 
"<script>alert('Registro efetuado com sucesso!');</script>";
        echo 
"<script>window.location='registro.php';</script>";
        
        }else{
        
        echo 
"<script>alert('".$msg.$erro."');</script>";
        echo 
"<script>window.location='registro.php';</script>";
        
    }
}
?>
  <br />
</div>
<form method="post">
  <table width="100%" border="0" class="style2">
  <tr>
    <td width="49%" align="right" class="font2">Login:</td>
    <td width="1%">&nbsp;</td>
    <td colspan="2"><input name="login" type="text" class="style2" id="login" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Senha:</td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="senha" type="password" class="style2" id="senha" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Confirme sua senha: </td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="senha2" type="password" class="style2" id="senha2" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Email: </td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="email" type="text" class="style2" id="email" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">C&oacute;digo de Seguran&ccedil;a: </td>
    <td>&nbsp;</td>
    <td width="3%"><img src="img.php" /></td>
    <td width="47%"><input name="codigo" type="text" class="style2" id="codigo" size="10" maxlength="5" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="Submit" type="submit" class="font1" value="Cadastrar" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="4" align="center"><a href="troca.php">Trocar Senha </a> | <a href="destravar.php"> Destravar Char</a> </td>
    </tr>
</table>
</form>
</body>
</html>
<?php
mysql_close
($con);
?>


SaraxD 08-02-2010 12:27 PM

Teste Agora :

Código:

<?php
session_start();

$servidor = 'localhost';
$usuario  = 'root';
$senha    = '';
$db      = 'l2jdb';

$con = mysql_connect($servidor, $usuario, $senha) or die(mysql_error());
mysql_select_db($db, $con) or die(mysql_error());

function cod($senha) {
    return base64_encode(pack('H*', sha1($senha)));
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Registro de Contas </title>
<style type="text/css">
<!--
body,td,th {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #C1C1A2;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: transparent;
}
.font1 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #FF3300;
}
.font2 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #FF0000;
}
.font3 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #FFCC00;
}
.font4 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #9F0;
}
.font5 {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #0CF;
}
a {
    font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #C1C1A2;
}
a:visited {
    color: #C00;
}
a:hover {
    color: #F30;
}
a:active {
    color: #F00;
}

-->
</style>
</head>

<body>

<div align="center">
  <?php

if($_POST) {
   
    $login  = trim(addslashes(htmlentities($_POST['login'])));
    $senha  = trim(addslashes(htmlentities($_POST['senha'])));
    $senha2 = trim(addslashes(htmlentities($_POST['senha2'])));
    $email  = trim(addslashes(htmlentities($_POST['email'])));
    $codigo = trim(addslashes(htmlentities(strtoupper($_POST['codigo']))));
   
    $sql = mysql_query("SELECT * FROM accounts WHERE email = '".$email."'") or die(mysql_error());
    $c = mysql_num_rows($sql);
   
    $erro .= empty($login)  ? 'Digite seu login!\n'                    : NULL;
    $erro .= empty($senha)  ? 'Digite sua senha!\n'                    : NULL;
    $erro .= empty($email)  ? 'Digite seu email!\n'                    : NULL;
    $erro .= empty($senha2) ? 'Digite a confirmação de sua senha!\n' : NULL;
    $erro .= empty($codigo) ? 'Digite o código de segurança!\n'      : NULL;
   
    $erro .= ($senha != $senha2) && (!empty($senha) && !empty($senha2)) ? 'Senhas não coincidem!\n'          : NULL;
    $erro .= ($_SESSION['cod'] != $codigo) && (!empty($codigo))        ? 'Código de segurança incorreto!\n' : NULL;
    $erro .= (!empty($email)) && ($c > 0) ? 'Email existente!\n' : NULL;
   
    $erro .= (!ereg("^([a-zA-Z0-9_-])*$", $login))  && (!empty($login))  ? 'Seu login contém caracteres inválidos!\n' : NULL;
    $erro .= (!ereg("^([a-zA-Z0-9_-])*$", $senha))  && (!empty($senha))  ? 'Sua senha contém caracteres inválidos!\n' : NULL;
    $erro .= (!ereg("^([a-zA-Z0-9_-])*$", $senha2)) && (!empty($senha2)) ? 'Sua confirmação contém caracteres inválidos!\n' : NULL;
    $erro .= (!ereg("^([a-zA-Z0-9_-])*$", $codigo)) && (!empty($codigo)) ? 'Código de segurança contém caracteres inválidos!\n' : NULL;
   
    $msg = 'Ocorreram os seguintes erros:\n\n';

    if(empty($erro)) {
   
        $check=mysql_query("select * from accounts where login='".$_POST['account']."'");
                $check1=mysql_num_rows($check);
                if($check1>0)
               
                {
                        echo '<center><b><font color="red">Conta Ja existente!</font></b></center>';
                }

               
                $sql = "INSERT INTO accounts (login, password, email) VALUES ('".$login."', '".cod($senha)."', '".$email."')";
        mysql_query($sql) or die(mysql_error());
        echo "<script>alert('Registro efetuado com sucesso!');</script>";
        echo "<script>window.location='registro.php';</script>";
       
        }else{
       
        echo "<script>alert('".$msg.$erro."');</script>";
        echo "<script>window.location='registro.php';</script>";
       
    }
}
?>
  <br />
</div>
<form method="post">
  <table width="100%" border="0" class="style2">
  <tr>
    <td width="49%" align="right" class="font2">Login:</td>
    <td width="1%">&nbsp;</td>
    <td colspan="2"><input name="login" type="text" class="style2" id="login" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Senha:</td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="senha" type="password" class="style2" id="senha" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Confirme sua senha: </td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="senha2" type="password" class="style2" id="senha2" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">Email: </td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="email" type="text" class="style2" id="email" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">C&oacute;digo de Seguran&ccedil;a: </td>
    <td>&nbsp;</td>
    <td width="3%"><img src="img.php" /></td>
    <td width="47%"><input name="codigo" type="text" class="style2" id="codigo" size="10" maxlength="5" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2"><input name="Submit" type="submit" class="font1" value="Cadastrar" /></td>
  </tr>
  <tr>
    <td align="right" class="font2">&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="4" align="center"><a href="troca.php">Trocar Senha </a> | <a href="destravar.php"> Destravar Char</a> </td>
    </tr>
</table>
</form>
</body>
</html>
<?php
mysql_close($con);
?>


Marley3 08-02-2010 02:18 PM

Sara Ainda Está Dando mesmo error ;/

Setokaiba 08-02-2010 07:27 PM

Duplicate entry
Significa entrada duplicada, sinal de que já existe este registro na tabela do banco de dados.

Marley3 09-02-2010 04:31 AM

Sim Seto , Mais eu queria que avisa-se , A Conta Ja Existe ,
Nao Duplicar e dar error no meu db ;/


Horários baseados na GMT -3. Agora são 10:33 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.