Buenas!! aqui vuelvo a consultar otro de mis trasteos que me estan volviendo loco.
en el registro de usuarios, estoy intentando validar si el usuario/nombre existe ya en la base de datos, y esto lo consegui, pero no se como hacer para que tambien compruebe el email.
Aqui los codigos
en el registro de usuarios, estoy intentando validar si el usuario/nombre existe ya en la base de datos, y esto lo consegui, pero no se como hacer para que tambien compruebe el email.
Aqui los codigos
mysql_select_db($database_conexion, $conexion);
$query_datosregistro = sprintf ("SELECT nombre FROM usuarios WHERE nombre=%s",
GetSQLValueString($_POST['nombre'], "text"));
$datosregistro = mysql_query($query_datosregistro, $conexion) or die(mysql_error());
$row_datosregistrob = mysql_fetch_assoc($datosregistro);
$totalRows_datosregistro = mysql_num_rows($datosregistro);
if ($totalRows_datosregistro==0){
//AQUI ME HACE LA INSERCION DE DATOS SI EL USUARIO NO EXISTE
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO usuarios (nombre, password, email, rango) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString(md5($_POST['password']), "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString(1, "int"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
$para= $emailadmin;
$titulo = 'Nuevo Usuario en' .$nombreweb;
$mensaje = 'Hola!' .$_POST['nombre']. 'se acaba de registrar en '.$nombreweb;
$cabeceras = 'From: no_contestar@todoroma.info' . "\r\n" .
'Reply-To: no_contestar@todoroma.info' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($para, $titulo, $mensaje, $cabeceras);
$insertGoTo = "login.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
//AQUI ME MUESTRA EL ERROR COMO QUE ESTA REGISTRADO
else {
$mostrar = "ERROR! Este Usuario ya esta registrado" ;
}
Alguien sabe por donde puedo tirar?1
Puntos
Puntos
1382
Visitas
Visitas
5
Resp
Resp
Por zapikero hace 10 años
Developer
Respuesta #1
hola! mas o menos usando lo que ya tienes puedes consultar el otro campo y despues en la condición comprobar los dos, te dejo un ejemplo basandome en lo que tienes:
$validarnombre=0;
$validaremail=0;
mysql_select_db($database_conexion, $conexion);
$query_datosregistro = sprintf ("SELECT nombre FROM usuarios WHERE nombre=%s",
GetSQLValueString($_POST['nombre'], "text"));
$datosregistro = mysql_query($query_datosregistro, $conexion) or die(mysql_error());
$totalRows_datosregistro = mysql_num_rows($datosregistro);
if($totalRows_datosregistro!=0) $validarnombre=1; echo 'Nombre no disponible';
mysql_free_result($datosregistro);
mysql_select_db($database_conexion, $conexion);
$query_datosregistro2 = sprintf ("SELECT email FROM usuarios WHERE nombre=%s",
GetSQLValueString($_POST['email'], "text"));
$datosregistro2 = mysql_query($query_datosregistro2, $conexion) or die(mysql_error());
$totalRows_datosregistro2 = mysql_num_rows($datosregistro2);
if($totalRows_datosregistro2!=0) $validaremail=1; echo 'Email no disponible';
mysql_free_result($datosregistro2);
if($validarnombre==1 && $validaremail==1) {
//Insertar usuario en labase de datos
}1
Puntos
Puntos
Por alber hace 10 años
Admin
Respuesta #2
Funciona de 10!! pero segun entro al registro, me muesta los mensajes
Email no disponible
Usuario no disponible
0
Puntos
Puntos
Por zapikero hace 10 años
Developer
Respuesta #3
Vale, probando todo bien, no me hace el registro igualmente, este o no en la base de datos.
y lo dicho, segun entras sigue apareciendo lo de usuario y email no disponible
y lo dicho, segun entras sigue apareciendo lo de usuario y email no disponible
0
Puntos
Puntos
Por zapikero hace 10 años
Developer
Respuesta #4
al final te vamos a hacer el script completo zapi!! jaja...
<?php
$validarnombre=0;
$validaremail=0;
mysql_select_db($database_conexion, $conexion);
$query_datosregistro = sprintf ("SELECT nombre FROM usuarios WHERE nombre=%s",
GetSQLValueString($_POST['nombre'], "text"));
$datosregistro = mysql_query($query_datosregistro, $conexion) or die(mysql_error());
$totalRows_datosregistro = mysql_num_rows($datosregistro);
if($totalRows_datosregistro!=0) $validarnombre=1;
mysql_free_result($datosregistro);
mysql_select_db($database_conexion, $conexion);
$query_datosregistro2 = sprintf ("SELECT email FROM usuarios WHERE email=%s",
GetSQLValueString($_POST['email'], "text"));
$datosregistro2 = mysql_query($query_datosregistro2, $conexion) or die(mysql_error());
$totalRows_datosregistro2 = mysql_num_rows($datosregistro2);
if($totalRows_datosregistro2!=0) $validaremail=1;
mysql_free_result($datosregistro2);
if($validarnombre==1 && $validaremail==0) {
echo 'Nombre no disponible';
}
else if($validarnombre==0 && $validaremail==1) {
echo 'Email no disponible';
}
else if($validarnombre==1 && $validaremail==1) {
echo 'Nombre y email no disponible';
}
else {
//Insertar usuario
}
?>con eso deberías de sacarlo ;)1
Puntos
Puntos
Por alber hace 10 años
Admin
Respuesta #5
Perfecto! solucionado!! como siempre salio al rescate mi amigo alber!!
1
Puntos
Puntos
Por zapikero hace 10 años
Developer