Título: Como hago para recibir (correo_o_telefono y contraseña en mi base de datos. Aqui mi codigo
Publicado por: GuerrerOdeDios en 14 Febrero 2024, 23:40 pm
<?php $user = "root"; $pass = ""; $host = "localhost"; $database = "dbformulario"; if (!$connection) { } // Verificar si se enviaron datos mediante el método POST if ($_SERVER["REQUEST_METHOD"] == "POST") { // Verificar si se recibieron los datos del formulario if (isset($_POST["correo_o_telefono"], $_POST["contraseña"])) { $correo_o_telefono = $_POST["correo_o_telefono"]; $contraseña = $_POST["contraseña"]; // Verificar si el correo_o_telefono es un correo electrónico o un número de teléfono if (filter_var($correo_o_telefono, FILTER_VALIDATE_EMAIL )) { $where_clause = "correo=?"; } else { $where_clause = "telefono=?"; } // Consulta preparada $consulta = "SELECT * FROM tabla_form WHERE $where_clause"; $resultado = mysqli_stmt_get_result($stmt); // Verificar la contraseña utilizando password_verify if (password_verify($contraseña, $fila['contraseña'])) { $_SESSION['loggedin'] = true; $_SESSION['nombre_completo'] = $fila['nombre_completo']; // Otros datos que quieras guardar en la sesión // Redirigir a la página principal header('Location: welcome.html'); } else { echo "Contraseña incorrecta"; } } else { echo "Usuario no encontrado"; } } else { echo "Por favor, complete todos los campos del formulario"; } } ?>
Título: Re: Como hago para recibir (correo_o_telefono y contraseña en mi base de datos. Aqui mi codigo
Publicado por: vicram10 en 22 Febrero 2024, 17:43 pm
Como sería la pregunta?, podes explicar un poco mas?
Título: Re: Como hago para recibir (correo_o_telefono y contraseña en mi base de datos. Aqui mi codigo
Publicado por: Parado_larga_duracion_ESP en 23 Febrero 2024, 10:47 am
Vaya. ChatGPT me ha dado un código muy parecido. <?php // Establecer conexión PDO con MySQL $dsn = 'mysql:host=localhost;dbname=nombre_de_tu_base_de_datos'; $usuario_bd = 'tu_usuario'; $contrasena_bd = 'tu_contrasena'; try { $conexion = new PDO($dsn, $usuario_bd, $contrasena_bd); $conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Error al conectar con la base de datos: " . $e->getMessage()); } // Verificar si se han enviado datos de inicio de sesión if ($_SERVER["REQUEST_METHOD"] == "POST") { // Obtener los datos enviados $usuario = $_POST["usuario"]; $contrasena = $_POST["contrasena"]; // Consulta preparada para buscar el usuario en la base de datos $consulta = $conexion->prepare("SELECT * FROM usuarios WHERE nombre_usuario = ?"); $consulta->execute([$usuario]); $usuario_encontrado = $consulta->fetch(PDO::FETCH_ASSOC); if ($usuario_encontrado && password_verify($contrasena, $usuario_encontrado['contrasena'])) { // Inicio de sesión exitoso, redirigir al usuario a la página de inicio $_SESSION["usuario"] = $usuario; header("Location: inicio.php"); } else { // Credenciales incorrectas, mostrar mensaje de error echo "Usuario o contraseña incorrectos."; } } ?>
Solo cambia que usa la API de PDO. Porque se lo he pedido expresamente. Pues ya está, ya lo tienes, ¿no?
Título: Re: Como hago para recibir (correo_o_telefono y contraseña en mi base de datos. Aqui mi codigo
Publicado por: Danielㅤ en 23 Febrero 2024, 15:36 pm
Hola, los códigos de ChatGPT son códigos preestablecidos, es decir que algún programador los creó y lo introdujo en su gran base de datos. Por otro lado las contraseñas las tenes que guardar cifradas, nunca en texto plano.
Saludos
Título: Re: Como hago para recibir (correo_o_telefono y contraseña en mi base de datos. Aqui mi codigo
Publicado por: Parado_larga_duracion_ESP en 23 Febrero 2024, 15:59 pm
Sí, es cierto, es ilegal no cifrarlos.
|