Necesito ayuda en mi código de PHP quiero hacer un sistema de activación basico

Iniciado por Yuce, 16 Marzo 2017, 00:38 AM

0 Miembros y 1 Visitante están viendo este tema.

Yuce

Quiero hacer un sistema de activación básico sin email ni nada solamente quiero yo mismo entrar a la base de datos modificar ejemplo el numero 1 y ponerle 0 y que así tengan acceso a entrar a la web.


Mi código de registro es este.

//CODIGO DE REGISTRO Con esto hago que me registre los datos y una llave con el valor de 1 yo quiero que si el usuario intenta entrar y la llave tiene el valor 1 no pueda entrar pero cuando yo lo modifique y ponga el valor 0 en la base de datos puedan entrar osea yo activaria a los usuarios por mi propia cuenta sin emails !
Código (php) [Seleccionar]
<?php
include 'cn.php';
//Recibir los datos y almacenarlos en variables
$nombre $_POST["nombre"];
$apellidos $_POST["apellidos"];
$correo $_POST["correo"];
$usuario $_POST["usuario"];
$clave $_POST["clave"];
$telefono $_POST["telefono"];
$llave 1;
// Consulta para insertar
$insertar "INSERT INTO usuarios(nombre, apellidos, correo, usuario, clave, telefono, llave) VALUES ('$nombre', '$apellidos', '$correo', '$usuario', '$clave', '$telefono','$llave')";

$verificar_usuario mysqli_query($conexion"SELECT * FROM usuarios WHERE usuario = '$usuario'");
if (
mysqli_num_rows($verificar_usuario) > 0){
echo '<script>
   alert("El usuario ya está registrado!");
   window.history.go(-1);
   </script>'
;
exit;
}

$verificar_correo mysqli_query($conexion"SELECT * FROM usuarios WHERE correo = '$correo'");
if (
mysqli_num_rows($verificar_correo) > 0){
echo 'El correo ya esta siendo utilizado!';
exit;
}
$verificar_telefono mysqli_query($conexion"SELECT * FROM usuarios WHERE telefono = '$telefono'");
if (
mysqli_num_rows($verificar_telefono) > 0){
echo 'El numero ya esta siendo utilizado!';
exit;
}

$activacion "INSERT INTO usuarios(llave) VALUES (1)";

//Ejecutar consulta
$resultado mysqli_query($conexion$insertar);
if (!
$resultado) {
echo 'Error al registrarse';
}else {
echo 'Usuario registrado exitosamente';
}
//Cerrar conexion
mysqli_close($conexion);


//CODIGO DE VALIDACION DE LOGIN aqui esta mi problema nose tomar un valor de la base de datos y compararlo osea quiero que si es = a 1 no pueda entrar a la pagina web y le muestre un mensaje que diga tu cuenta no ha sido validad aun ! pero si es = 0 pueda entrar !
<?php
$usuario
=$_POST['usuario'];
$clave=$_POST['clave'];

//conectar a la base de datos :V !
$conexion=mysqli_connect("localhost""root""""bd_prueba");
$consulta2=
$consulta="SELECT * FROM usuarios WHERE usuario='$usuario' and clave='$clave' and llave";
$resultado=mysqli_query($conexion$consulta);

$filas=mysqli_num_rows($resultado);

if (
$filas>&& $llave 0) {
header("location:bienvenidos.php");
}
else {
echo "Error en la autentificación";
}
mysqli_free_result($resultado);
mysqli_close($conexion);
?>



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

integeroverflow


podes agarrar el resultado del select con mysqli_fetch_assoc para que te lo meta en un array asociativo, y ahi comparas el valor de la llave desde el array. por ejemplo:


//CODIGO DE VALIDACION DE LOGIN aqui esta mi problema nose tomar un valor de la base de datos y compararlo osea quiero que si es = a 1 no pueda entrar a la pagina web y le muestre un mensaje que diga tu cuenta no ha sido validad aun ! pero si es = 0 pueda entrar !
<?php
$usuario
=$_POST['usuario'];
$clave=$_POST['clave'];
 
//conectar a la base de datos :V !
$conexion=mysqli_connect("localhost""root""""bd_prueba");
$consulta2=
$consulta="SELECT * FROM usuarios WHERE usuario='$usuario' and clave='$clave' and llave";
$resultado=mysqli_query($conexion$consulta);
$array mysqli_fetch_assoc($resultado);

$llave $array['el_nombre_de_la_llave_en_tu_base_de_datos']; 

$filas=mysqli_num_rows($resultado);
 
if (
$filas>&& $llave 0) {
header("location:bienvenidos.php");
}
else {
echo "Error en la autentificación";
}
mysqli_free_result($resultado);
mysqli_close($conexion);
?>


Yuce

Gracias lo probare haber que tal me va. Si pudieras agregarme a Skype si no es mucha molestia para otras dudas que tengas es que me gusta preguntas a las personas con mas conocimientos que yo así aprendo mas :D.