Comunidad de diseño web y desarrollo en internet online

Problema con registro de usuarios flash php mysql

Ir a página Anterior  1, 2

Foros de discusión > Flash

Citar            
MensajeEscrito el 28 Mar 2009 08:48 am
Fijate bien como se usa el INSERT INTO

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 12 Abr 2009 08:17 am
Hola de nuevo!!
Buf, cuanto tiempo desconectado del proyecto...

Bueno amigo, sigo intentando mirar porque me sale lo de direccion de email incorrecta, y no encuentro error por ningun lado, al menos en cuanto a sintaxis...
a ver si me puedes echar una mano... he provado a cambiar el &estatus=nomail& por un &estatus=ok&, para que aun estando mal la direccion de mail, meta los datos en la base de datos. esto no me da error, yme sale registro con exito, pero no mete los datos en la BD.

aqui pongo de nuevo mi registrar.php :

Código :

<?php
include('conexion.php'); //conectamos con la base de datos
$link = Conectarse();

function quitar($mensaje) //elimina símbolos indeseados
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
//comprobamos con esta función que la dirección de email escrita es correcta
function comprobar_email($email){
$mail_correcto = 0;
//Hacemos una primera comprobación
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") &&
(substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) &&
(!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}}}}}
if ($mail_correcto)
return 1; //mail correcto
else
return 0; //mail incorrecto
}
$comp_email = quitar($_POST["mailL"]);
$i = comprobar_email($comp_email); //llamamos a la función
if ($i != 0) //si la dirección de email es correcta...
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($_POST["usuL"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "&estatus=ocupado&"; //nick ocupado
}
else
{
//insertamos los datos en nuestra base de datos
$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES (";
$sql .= "'".quitar($_POST["usuL"])."'";
$sql .= ",'".quitar($_POST["passL"])."'";
$sql .= ",'".quitar($_POST["mailL"])."'";
$sql .= ",'".quitar($_POST["nombreL"])."'";
$sql .= ",'".quitar($_POST["ciudadL"])."'";
$sql .= ",'".quitar($_POST["edadL"])."'";
$sql .= ")";
mysql_query($sql);
echo "&estatus=ok&"; //registro exitoso
}
mysql_free_result($result);
mysql_close();
}
else
{
echo "&estatus=nomail&"; //mail incorrecto
}
?>

Por socderafel

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Abr 2009 07:54 am
bueno, pues como no encontraba el error, me he creado un nuevo registrar.php que no compruebe nada, solo que meta los datos.
El problema es que este tampoco los introduce, aunque cuando lo ejecuto en el navegador no me da ningun error...

Código :

<?php
include('conexion.php'); //conectamos con la base de datos


$link = Conectarse();
$sql = "INSERT INTO `usuarios` (`nick`,`password`,`email`,`nombre`,`ciudad`,`edad`) VALUES (
'". $_POST['usuL'] ."',
'". $_POST['passL'] ."',
'". $_POST['mailL'] ."',
'". $_POST['nombreL'] ."',
'". $_POST['ciudadL'] ."',
'". $_POST['edadL'] ."' )";  

mysql_query($sql);
echo "&estatus=ok&"; //registro exitoso


mysql_close();

?>

Por socderafel

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Abr 2009 08:59 pm
mmm igual si quietamos las comillas, estas seguro que los campos estan correctos?
[sql]'INSERT INTO usuarios (nick,password,email,nombre,ciudad,edad`) VALUES [/sql]

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 16 Abr 2009 03:41 pm
creo que los campos si que estan correctos.
Quitando las comillas me queda así:

Código :

<?php
include('conexion.php'); //conectamos con la base de datos


$link = Conectarse();

$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES (";
$sql .= "'".$_POST["usuL"]."'";
$sql .= ",'".$_POST["passL"]."'";
$sql .= ",'".$_POST["mailL"]."'";
$sql .= ",'".$_POST["nombreL"]."'";
$sql .= ",'".$_POST["ciudadL"]."'";
$sql .= ",'".$_POST["edadL"]."'";
$sql .= ")";
mysql_query($sql);
echo "&estatus=ok&"; //registro exitoso


mysql_close();

?>


y me da el siguiente "error" en el navegador...


Notice: Undefined index: usuL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 8

Notice: Undefined index: passL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 9

Notice: Undefined index: mailL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 10

Notice: Undefined index: nombreL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 11

Notice: Undefined index: ciudadL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 12

Notice: Undefined index: edadL in C:\Archivos de programa\EasyPHP 2.0b1\www\registrar2.php on line 13
&estatus=ok&

aunque cuando ejecuto la aplicación me dice registrado con exito, sigue sin introducir nada en la base de datos...

Por socderafel

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Abr 2009 04:41 pm
esas noticias te las da porque no se ha enviado nada por POST, que tal si envias una querry de prueba con datos que no sean tomados del post, sino mas bien, escritos directamente, aver si te los toma validos


$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES ('uno','uno','[email protected]','memo','alguna','20')";

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 16 Abr 2009 08:36 pm
asi si que me funciona...
pues algo hemos avanzado... ya se que por lo menos funciona algo y hay un haz de esperanza...jejeje
ahora falta saber porque falla el POST...

Por socderafel

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 07:18 am
y si pruebo a guardar lo que se envia por POST en una variable y despues meter esa variable en la consulta?

x ejemplo:
$usuario = $_POST['usuL'];

y asi con todos...
y luego...

$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES ('','$usuario',...)";

de todas formas probare a hacerlo y que me saque por pantalla los valores de las variables a ver si realmente le llegan o no...

esta noche cuando llegue del trabajo lo pruebo...
si al final me gustara esto...

Por socderafel

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Abr 2009 09:20 am
bueno, mete los datos tomados via post, en variables y has al querry asi:

Código PHP :

$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES ('$nick','$password','$email','$nombre','$ciudad','$edad')";


notaras que no coloco el sibolo de $ dentro de la cadena, bueno, pues php lo reconoce como una variable y no toma el valor tal cual, sino, el valor de la variable, eso es quivalente a esto:

Código PHP :

,'" . $nombre . "','" . $ciudad . "','" . $edad . "')" ;


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 20 Abr 2011 12:50 am
tengo el mismo problema que que el mail es incorrecto, pero socderafael modifico el codigo php me pueden ayudar con el codigo

Por zoneclick

19 de clabLevel



 

chrome
Ir a página Anterior  1, 2
Foros de discusión > Flash

 

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