16-01-2009, 06:23 PM
|
#2 (permalink)
|
|
Amigo SE
Registrado em: Dec 2008
Posts: 110
Agradecido 255 Vezes em 66 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
|
Faça um teste com este formulário que eu criei (uma adaptação do seu código). Faça as modificações que achar necessárias. As mensagens de erro aparecem em uma caixa de alerta. Não sendo necessária uma outra página.
Citação:
<form name="l2regjohnx" method="post" action="">
Login: <input type="text" name="login" size="30"><br /><br />
Senha: <input type="password" name="senha" size="30"><br /><br />
Repita a senha: <input type="password" name="resenha" size="30"><br /><br />
<input type="submit" value="Enviar Cadastro" name="l2regjohnx">
</form>
<?php
if(isset($_POST['l2regjohnx'])) {
//set host, username and password for MySQL
$dbhost = "localhost";
$dbuser = "lalalalala";
$dbpass = "lalalalala";
//connect to MySQL or return an error
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass")
or die('Could not connect: ' . mysql_error());
//set database name
$dbname = "l2jmk";
//select database or return an error
$dbselect = mysql_select_db("$dbname")
or die ('Could not select database');
//get username and password info from the form, protecting against SQL injection
$pass = mysql_real_escape_string($_POST["senha"]);
$confirm = mysql_real_escape_string($_POST["resenha"]);
$user = mysql_real_escape_string($_POST["login"]);
//validate user input
if(!preg_match('/^[a-zA-Z0-9]{5,20}$/',$user)) {
die ('<script>alert("Sua conta deve conter no mínimo 5 e máximo de 20 caracteres.");location=javascript:history.go(0);</script>');
}
if(!preg_match('/^[a-zA-Z0-9]{5,20}$/',$pass)) {
die ('<script>alert("Sua senha deve conter no mínimo 5 e máximo de 20 caracteres.");location=javascript:history.go(0);</script>');
}
if($pass != $confirm) {
die ('<script>alert("Sua senha não confere");location=javascript:history.go(0);</script>');
}
//make sure user doesn't already exist and if it doesn't, add new record to the database
$result = mysql_query("SELECT login FROM accounts WHERE login='$user'");
if(mysql_num_rows($result)>0) {
die ('<script>alert("Esta conta já existe.");location=javascript:history.go(0);</script>');
}else{
mysql_query("INSERT INTO accounts (login, password, accesslevel) VALUES ('".$_POST['name']."', '".base64_encode(pack('H*', sha1($_POST['pass'])))."', 0)")
or die ('Erro' . mysql_error());
}
//report successful registration
echo "<script>alert('Conta criada com sucesso.');location=index.php</script>";
//close MySQL connection
mysql_close($conn);
}
?>
|
Espero que isso lhe ajude.
|
|
|