PHP - Problemas en registro con php

   
Vista:

Problemas en registro con php

Publicado por Jorge (8 intervenciones) el 14/08/2016 20:09:40
Al ejecutar este código, me sale error lo siguiente:
Se realizó la conexión
Error al registrase

Alguna ayuda de porque no me registra, soy novato y es para la univ


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
 
</head>
<body>
<?php
 
//conexion con la base de datos
include("conexion.php");
$con=conectar();
echo "Se realizó la conexión";
 
 
 
//valores del formulario
$emai= $_POST['EmailUsuario'];
$pass= $_POST['PassUsuario'];
$rpass= $_POST['rpassUsuario'];
$nombre= $_POST['NombreUsuario'];
$apellido= $_POST['Apellidousuario'];
$cedula= $_POST['CedulaUsuario'];
$tel= $_POST['Telusuario'];
$dia= $_POST['diau'];
$mes= $_POST['mesu'];
$año= $_POST['añou'];
$dire= $_POST['DireccionUsuario'];
$gene= $_POST['genero'];
 
//Se confirma la contraseña
if ($pass != $rpass) {
 
die ('Las contraseñas no coinciden <br><a href="index2.html"> Volver </a>');
}
 
 
// Insertar datos en la tabla
$insertar='INSERT INTO clientes(email,password,nombre,apellido,cedula,telefono,dia,mes,año,direccion,genero) values($_POST[$emai],$_POST[$pass],$_POST[$nombre],$_POST[$apellido],$_POST[$cedula],$_POST[$tel],$_POST[$dia],$_POST[$mes],$_POST[$año],$_POST[$dire],$_POST[$gene])';
 
 
 
$resultado = mysqli_query ($con, $insertar);
if ($resultado) {
echo "Cliente registrado exiitosamente" ;
 
 
}
else {
echo "Error al registrase";
}
 
 
 
mysqli_close($con);
 
 
?>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Problemas en registro con php

Publicado por kip (567 intervenciones) el 14/08/2016 22:10:03
Hola, creo que no te registra porque tienes un error en la query que intentas ejecutar, debes colocar los valores a ingresar entre comillas simples, ademas no deberias encerrar las variables ya definidas en $_POST, asi:

1
$insertar="INSERT INTO clientes(email,password) VALUES('$emai','$pass')";

Y asi con respecto a todas las variables que vayas a insertar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas en registro con php

Publicado por jorge (8 intervenciones) el 14/08/2016 22:21:10
Si me funciono muchas gracias, otra cosa me gustaria saber cual seria la sentencia para verificar si el email ya existe en la base de datos, estoy colocando esta pero me da error


1
2
3
4
sql = mysql_query("SELECT email FROM clientes WHERE email='".$emai."'");
if(mysql_num_rows($sql) > 0) {
    echo "<script> alert('Nombre de usuarioo ya esta en Uso'); javascript:history.back(); </script>";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Problemas en registro con php

Publicado por kip (567 intervenciones) el 14/08/2016 22:32:49
Que error te muestra?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas en registro con php

Publicado por Jorge (8 intervenciones) el 14/08/2016 22:37:50
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\proyecto\registro.php on line 47
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Problemas en registro con php

Publicado por kip (567 intervenciones) el 14/08/2016 23:19:22
El unico error que veo en el codigo que colocaste, es que la variabele $sql no tiene el $ delante, fijate:

1
sql = mysql_query("SELECT email FROM clientes WHERE email='".$emai."'");

No se si tal vez sea un error de copiar y pegar, de todas formas verifica y coloca el $ delante de la variable.

Por lo demas lo veo bien, aunque noto que en el anterior codigo usas mysqli y en este mysql, deberias usar mysqli para ejecutar la query y asi mismo para verificar las filas resultantes con la funcion mysqli_num_rows().

1
2
3
4
$sql = mysqli_query($con,"SELECT email FROM clientes WHERE email='".$emai."'");
if(mysqli_num_rows($sql) > 0) {
echo "<script> alert('Nombre de usuarioo ya esta en Uso'); javascript:history.back(); </script>";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar