Buenas a todos!
No se mucho de programación en general y todo lo que he aprendido ha sido por mi cuenta. Me he propuesto hacer un sistema de registro y estoy teniendo algunos problemas los cuales no se solucionar.
Esto esta sacado de varias partes de Internet, lo que he hecho es ir uniendo y adaptarlo para lo que yo lo quiero.
Lo extraño es que no se sale ningún error, pero tampoco ninguno de los avisos que tengo puesto con echo.
Ya he comprobado que tiene conexión a la base de datos e introduce los datos.
Espero que alguien pueda ayudarme, gracias
Lo conseguí resolver. Este seria el código final (también he añadido para cifrar la contraseña):
No se mucho de programación en general y todo lo que he aprendido ha sido por mi cuenta. Me he propuesto hacer un sistema de registro y estoy teniendo algunos problemas los cuales no se solucionar.
Esto esta sacado de varias partes de Internet, lo que he hecho es ir uniendo y adaptarlo para lo que yo lo quiero.
Código (php) [Seleccionar]
<?php
$user = $_POST['user'];
$mail = $_POST['mail'];
$pass = $_POST['pass'];
$repass = $_POST['repass'];
$connect = mysqli_connect("localhost", "root", "", "share");
if (isset($_POST["send"])) {
if ($user = "" or $mail = "" or $pass = "" or $repass = "") {
echo "Rellene los campos.";
}else {
$rec_user = mysqli_query($connect, "SELECT * FROM users");
$valid_user = 0;
while ($result = mysqli_fetch_object($rec_user)) {
if ($result -> user = $user) {
$valid_user = 1;
echo "Ya existe este usuario.";
}
}
if ($valid_user = 0) {
$rec_mail = mysqli_query($connect, "SELECT * FROM users");
$valid_mail = 0;
while ($result = mysqli_fetch_object($rec_mail)) {
if ($result -> mail = $mail) {
$valid_mail = 1;
echo "Ya está en uso este mail.";
}
}
if ($valid_mail = 0) {
if ($pass = $repass) {
mysqli_query($connect, "INSERT INTO users SET user='$user', pass='$pass', repass='$repass', mail='$mail'"));
echo "Registrado.";
}else {
echo "Las contraseñas no coinciden.";
}
}
}
}
}
?>
Lo extraño es que no se sale ningún error, pero tampoco ninguno de los avisos que tengo puesto con echo.
Ya he comprobado que tiene conexión a la base de datos e introduce los datos.
Espero que alguien pueda ayudarme, gracias
Lo conseguí resolver. Este seria el código final (también he añadido para cifrar la contraseña):
Código (php) [Seleccionar]
<?php
$user = $_POST['user'];
$mail = $_POST['mail'];
$pass = $_POST['pass'];
$repass = $_POST['repass'];
$connect = mysqli_connect("localhost", "root", "", "share");
if (isset($_POST["send"])) {
if (empty($user) or empty($mail) or empty($pass) or empty($repass)) {
echo "Rellene los campos.";
}else {
$rec_user = mysqli_query($connect, "SELECT * FROM users");
$valid_user = 0;
while ($result = mysqli_fetch_object($rec_user)) {
if ($result -> user == $user) {
$valid_user = 1;
echo "Ya existe este usuario.";
}
}
$rec_mail = mysqli_query($connect, "SELECT * FROM users");
$valid_mail = 0;
while ($result = mysqli_fetch_object($rec_mail)) {
if ($result -> mail == $mail) {
$valid_mail = 1;
echo "Ya está en uso este mail.";
}
}
if ($valid_user == 0 and $valid_mail == 0 ){
if ($pass == $repass) {
$pass= hash('sha512',$pass);
mysqli_query($connect, "INSERT INTO users (user, mail, pass) VALUES ('$user', '$mail', '$pass')");
echo "Registrado.";
}else {
echo "Las contraseñas no coinciden.";
}
}
}
}
?>