Comunidad de diseño web y desarrollo en internet online

Problema con formulario de registro

Citar            
MensajeEscrito el 12 Jul 2011 06:38 am
Hola a todos! Tengo un formulario de registro el cual debe informar al usuario al momento de registrarse si el nombre de usuario elegido ya está en uso, pero esto no sucede, por lo que si se elige un usuario existente en la base de datos no se podrá registrar sin poder saber el motivo. Quisiera ver como solucionarlo.
Dejo el código:

Código PHP :

<?
require_once("conn.php");
require_once("includes.php");


if(isset($_POST[NewUsername]))
{
$MyExp = mktime(0,0,0,date(m) + 1, date(d), date(Y));

$q1 = "insert into re_agents set
username = '$_POST[NewUsername]',
password = '$_POST[p1]',
FirstName = '$_POST[FirstName]',
LastName = '$_POST[LastName]',
resume = '$_POST[resume]',
phone = '$_POST[phone]',
email = '$_POST[email]',
RegDate = '$t',
ExpDate = '$MyExp',
AccountStatus = 'active',
offers = '10' ";

mysql_query($q1);

if(ereg("key 2", mysql_error()))
{
$error = "<font face=verdana size=2 color=red><b>EL nombre de usuario <font color=black>$_POST[NewUsername]</font> ya está en uso!<br>Elija otro nombre, por favor!</b></font>";

unset($_POST[NewUsername]);
}
elseif(ereg("key 3", mysql_error()))
{
$error = "<font face=verdana size=2 color=red><b>Ya estás registrado!<br>Actualiza tu cuenta, por favor!</b></font>";

unset($_POST);
}
else
{
$last = mysql_insert_id();
$_SESSION[NewAgent] = $last;

//send an email
$to = $_POST[email];
$subject = "Tu registro a $_SERVER[HTTP_HOST]";
$message = "Hola $_POST[FirstName] $_POST[LastName]!\nEsta es tu información de acceso a $_SERVER[HTTP_HOST]\n\nUsuario: $_POST[NewUsername]\nContraseña: $_POST[p1]\n\nYa puedes publicar tu propiedad de manera gratuita. Para ingresar, haz click en el siguiente enlace. \nhttp://$_SERVER[HTTP_HOST]/login.php\n\nGracias por tu registro!";

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";
$headers .= "X-Priority: 1\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "X-Mailer: PHP/" . phpversion()."\n";

mail($to, $subject, $message, $headers);

if($aset[Sitefee]=="1")
{
header("location:login.php");
exit();
}
else
{
header("location:prices.php");
exit();
}
}

}

//get the templates
require_once("templates/HeaderTemplate.php");
require_once("templates/RegistrationTemplate.php");
require_once("templates/FooterTemplate.php");

?>


Muchas gracias!!!

Por Matias-78

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jul 2011 12:11 pm
Pues antes de hacer el insert intenta leer un registro con ese nombre de usuario.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Jul 2011 06:47 am
Haz la comprobación en el formulario de registro. Una vez rellenen el campo "usuario", haz la comprobación y muestrale un mensaje diciendo si está libre o no.
Otra opción es que hagas el registro mirando el email y no el user.

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.