MySQL - Ayuda con Login PHP

 
Vista:
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 06/01/2017 22:47:04
Buenas tardes, quisiera pedirles ayuda con un tema.

Estoy empezando en el tema de MySQL y PHP y pensé en hacer un login en el cual pueda registrar usuarios desde la misma web.
Bien, sucede que tengo bien el login y el register, pero volví a olvidar cómo eran unas cosas.

En el register.php tengo un formulario en el cual se añaden los siguientes datos:
Username
Email
Password
Confirm_password

Todo bien hasta ahí, pero al añadir una nueva columna en la base de datos no se guarda lo llenado en el formulario en la opción Security
Pienso que el error es en el PHP, porque la base de datos tiene la columna «Security» añadida, pero no guarda los datos que añado al registrarme en register.php.

¿Alguien sabe cuál es el código PHP que debo usar para añadir otro dato en el formulario del register pero que se guarde en la base de datos?

NOTA: EL RESTO DE LOS DATOS SÍ SE GUARDAN, Y ME LOGGEO BIEN, PERO MA COLUMNA «SECURITY» ES LA DEL PROBLEMA
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
sin imagen de perfil
Val: 4
Ha aumentado su posición en 22 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con Login PHP

Publicado por Eloy (1 intervención) el 06/01/2017 23:38:56
Buenas, Puedes crear tantas columnas dentro de tu tabla en la base de datos y crear tantos campos (inputs) dentro del formulario pero recuerda que para insertarlos en la base de datos primero debes capturar el dato que deseas.

Por favor, coloca el formulario acá y que tipo de datos deseas incluir.

Además, es importante saber el tipo de dato a insertar en tu columna Security, porque no puedes insertar texto en una columna tipo integer...

Un Cordial Saludo
Eloy Gonzalez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 07/01/2017 00:20:54
Hola, amigo. Muchas gracias por tu respuesta.

El dato que quisiera insertar efectivamente es texto.
El dato se refiere a una palabra de seguridad, tipo las preguntas y respuestas de seguridad de las cuentas de correo electrónico.
La columna es varchar y aún así no se almacena el dato a la base de datos.

Este es el form que utilizo
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
<form role="form" name="registro" action="php/registro.php" method="post">
  <div class="form-group">
    <label for="username">Nombre de Usuario</label>
    <input type="text" class="form-control" id="username" name="username" placeholder="Nombre de Usuario">
  </div>
  <div class="form-group">
    <label for="fullname">Nombre Completo</label>
    <input type="text" class="form-control" id="fullname" name="fullname" placeholder="Nombre Completo">
  </div>
  <div class="form-group">
    <label for="email">Correo Electronico</label>
    <input type="email" class="form-control" id="email" name="email" placeholder="Correo Electronico">
  </div>
  <div class="form-group">
    <label for="password">Contrase&ntilde;a</label>
    <input type="password" class="form-control" id="password" name="password" placeholder="Contrase&ntilde;a">
  </div>
  <div class="form-group">
    <label for="confirm_password">Confirmar Contrase&ntilde;a</label>
    <input type="password" class="form-control" id="confirm_password" name="confirm_password" placeholder="Confirmar Contrase&ntilde;a">
  </div>
  <div class="form-group">
    <label for="Security">Security Word</label>
    <input type="text" class="form-control" id="Security" name="Security" placeholder="Security Word">
  </div>
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con Login PHP

Publicado por xve (1151 intervenciones) el 07/01/2017 08:55:59
Hola César, puedes mostrar como haces el INSERT en la base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 07/01/2017 18:06:47
Creo te refieres a esto, no estoy seguro, no se mucho de esto:

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
<?php
 
if(!empty($_POST)){
	if(isset($_POST["username"]) &&isset($_POST["fullname"]) &&isset($_POST["email"]) &&isset($_POST["password"]) &&isset($_POST["confirm_password"])){
		if($_POST["username"]!=""&& $_POST["fullname"]!=""&&$_POST["email"]!=""&&$_POST["password"]!=""&&$_POST["password"]==$_POST["confirm_password"]){
			include "conexion.php";
 
			$found=false;
			$sql1= "select * from user where username=\"$_POST[username]\" or email=\"$_POST[email]\"";
			$query = $con->query($sql1);
			while ($r=$query->fetch_array()) {
				$found=true;
				break;
			}
			if($found){
				print "<script>alert(\"Nombre de usuario o email ya estan registrados.\");window.location='../registro.php';</script>";
			}
			$sql = "insert into user(username,fullname,email,password,created_at,secure) value (\"$_POST[username]\",\"$_POST[fullname]\",\"$_POST[email]\",\"$_POST[password]\",NOW())";
			$query = $con->query($sql);
			if($query!=null){
				print "<script>alert(\"Registro exitoso. Proceda a logearse\");window.location='../login.php';</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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con Login PHP

Publicado por xve (1151 intervenciones) el 08/01/2017 11:00:58
Hola César, el problema esta en que no añades el campo security en el INSERT... tendria que ser algo así:
1
$sql = "insert into user(username,fullname,email,password,created_at,secure) value (\"$_POST[username]\",\"$_POST[fullname]\",\"$_POST[email]\",\"$_POST[password]\",NOW(),\"$_POST[Security]\")";

De todas maneras, yo el INSERT lo haría así:
1
$sql = "insert into user(username,fullname,email,password,created_at,secure) value ('".$_POST["username"]."', '".$_POST["fullname"]."', '".$_POST["email"]."', '".$_POST["password"]."', NOW(), '".$_POST["Security"]."')";

Espero que te sirva.
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
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 08/01/2017 21:22:51
Nada, bro.

Intenté hasta con este tipo de INSERT y nada
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
<?php
 
	$realname=$_POST['realname'];
	$mail=$_POST['nick'];
	$pass= $_POST['pass'];
	$rpass=$_POST['rpass'];
	$Security=$_POST['Security'];
 
	require("connect_db.php");
//la variable  $mysqli viene de connect_db que lo traigo con el require("connect_db.php");
	$checkemail=mysqli_query($mysqli,"SELECT * FROM login WHERE email='$mail'");
	$check_mail=mysqli_num_rows($checkemail);
	if($pass==$rpass){
		if($check_mail>0){
			echo ' <script language="javascript">alert("Atencion, ya existe el mail designado para un usuario, verifique sus datos");</script> ';
		}else{
 
			//require("connect_db.php");
//la variable  $mysqli viene de connect_db que lo traigo con el require("connect_db.php");
			mysqli_query($mysqli,"INSERT INTO login VALUES('','$realname','$pass','$mail','$Security','','2')");
			//echo 'Se ha registrado con exito';
			echo ' <script language="javascript">alert("Usuario registrado con éxito");</script> ';
 
		}
 
	}else{
		echo 'Las contraseñas son incorrectas';
	}
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con Login PHP

Publicado por xve (1151 intervenciones) el 09/01/2017 07:47:41
Hola César, de la manera que nos lo muestras, deberiamos de saber la estructura de la tabla "login" para poder ayudarte.

Prueba así para ver que error te da:
1
2
$query="INSERT INTO login VALUES('','$realname','$pass','$mail','$Security','','2')";
$r=mysqli_query($mysqli,$query) or die(mysqli_error($mysqli)." Q=".$query);
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
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 09/01/2017 22:44:18
Hola, xve. Logré solucionarlo, era acá:

1
2
3
4
5
6
7
<?php
 
	$realname=$_POST['realname'];
	$mail=$_POST['nick'];
	$pass= $_POST['pass'];
	$rpass=$_POST['rpass'];
	$secure=$_POST['secure'];

El INSERT me lo habías dado bien, pero arriba no añadía el «secure».
Pero, ¿puedo pedirte ayuda con otro problema o debo abrir otro tema?
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
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 09/01/2017 22:47:01
Es sobre un formulario de reset password. Tampoco logro hacer el script para que al responder unas preguntas se redirija a una página de reset password.
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con Login PHP

Publicado por xve (1151 intervenciones) el 09/01/2017 23:41:47
Es mejor que abras un nuevo post... muestra el código con el que tienes el problema, es mas sencillo de poder ayudarte
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
sin imagen de perfil

Ayuda con Login PHP

Publicado por César (7 intervenciones) el 09/01/2017 23:50:37
Muchas gracias, abriré otro tema.
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