Hola a todos. Soy bastante Noob en esto, así que no entiendo el porqué de este error, ni mucho mennos cómo solucionarlo, así que agradecería me ayudaran.
Estoy creando un "sistema de login" con PHP y MySQL que, desde un formulario HTML y un script PHP "se supone" que inserta los datos de "usuario", "contraseña" y "e-mail".
Tengo una base de datos en 000webhost.com, con 4 casillas: "ID","userID","pass" y "email". En ID tengo como atributos: "UNSIGNED", y en extra tengo "AUTO_INCREMENT".
Bueno, no sé de SQL así que no sé si está bien la base de datos... pasemos al código.
Primero, tengo 2 scripts PHP: connect.php y register.php.
En connect.php tengo este código, el cual inicia el host, nombre y pass de la base de datos:
Código:
<?php
$HOST = "*****.000webhost.com";
$DB_NAME = "*****_users";
$DB_USER = "******_users";
$DB_PASS = "******";
?>
Pongo los (*) por seguridad, y he comprobado cien mil veces que están bien.
Luego, tengo el register.php:
Código:
<?php
include('connect.php');
$user = $_POST['user'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
$email = $_POST['email'];
$conection = mysql_connect($HOST,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME,$conection);
if ($pass == $pass2)
{
if ((!empty($user)) && (!empty($pass)) )
{
$end = mysql_query("INSERT INTO Users (userID,pass,email) VALUES ($user,$pass,$email)",$conection);
if ($end == true)
echo "Registrado correctamente";
else
echo("Error al registrar:<br>".mysql_error());
}
}
else
{
echo '<font color="#FF0000">Las contraseñas no coinciden</font><br>
<a href="index.html"><button>Regresar</button></a> ';
}
?>
Y por último tengo el index.html:
<html>
<head>
<title>Inicio</title>
</head>
<body>
<form action="register.php" method="post" name="form">
Usuario:<input type="text" name="user"/><br>
Correo electrónico<input type="email" name="email"/><br>
contraseña<input type="password" name="pass"/><br>
Repetir contraseña<input type="password" name="pass2"/><br>
<input type="submit" value="Registrarse"/>
</form>
</body>
</html>
Cuando envio los archivos a mi hosting por FTP, y ejecuto el index.html todo va bien, pero al momento de enviar el formulario (gracias a que puse que en caso de error con la base de datos, se escribiera el error), se escribe en pantalla:
Cita: Error al registrar:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com)' at line 1
Agradecería que me ayudaran :D