Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: pepinilloproga en 15 de Agosto 2016, 19:28
-
Buen día a tod@s, espero me puedan ayudar con un problema que tengo al momento de enviar datos desde un formulario html y php, el problema que tengo es que no envía los datos obtenidos del documento html al php y del php al mysql, pero si conecta con la base de datos espero me puedan ayudar y de antemano gracias... (adjunto los documentos)
Este es el de la conexion:
<?php
$conexion = mysqli_connect("localhost","root","1234","db_escuela");
if(!$conexion){
echo 'Error al conectar a la base de datos';
}
else{
echo 'Conectado a la base de datos';
}
aqui esta el formulario:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Formulario de registro</title>
<link rel="stylesheet" href="css/estilos.css">
<script src="validar.js"></script>
</head>
<body>
<h1>Formulario de Registro</h1>
<form action="registrar.php" method="POST" class="form-register" NAME="form" onsubmit="return validar();">
<h2 class="form__titulo">CREAR CUENTA</h2>
<div class="contenedor-inputs">
<input type="text" id="nombre" name="nombre" placeholder="Nombre" class="input-48">
<input type="text" id="apaterno" name="apaterno" placeholder="Apellido Paterno" class="input-48">
<input type="text" id="amaterno" name="amaterno" placeholder="Apellido Materno" class="input-48">
<input type="text" id="matricula" name="matricula" placeholder="Matricula" class="input-100">
<input type="text" id="telefono1" name="telefono1" placeholder="Telefono de casa" class="input-100">
<input type="text" id="telefono2" name="telefono2" placeholder="Telefono movil" class="input-100">
<input type="text" id="carrera" name="carrera" placeholder="Carrera" class="input-100">
<input type="email" id="correo" name="correo" placeholder="Correo" class="input-100">
<input type="text" id="usuario" name="usuario" placeholder="Usuario" class="input-100">
<input type="password" id="clave" name="clave" placeholder="Contraseña" class="input-48">
<input type="submit" value="Registrar" class="btn-enviar">
<p class="form__link">¿Ya tienes una cuenta? <a href="login.html">Ingresa aquí</a></p>
</div>
</form>
</body>
</html>
aqui el php de envio y obtencion de datos a mysql:
<?php
include 'cn.php';
//resivir los datos y almacenarlos en variables
$nombre = $_POST['nombre'];
$apaterno = $_POST['apaterno'];
$amaterno = $_POST['amaterno'];
$matricula = $_POST['matricula'];
$telefono1 = $_POST['telefono1'];
$telefono2 = $_POST['telefono2'];
$carrera = $_POST['carrera'];
$correo = $_POST['correo'];
$usuario = $_POST['usuario'];
$clave = $_POST['clave'];
//consulta para insertar
$insertar = "INSERT INTO alumnos VALUES('$nombre','$apaterno','$amaterno','$matricula','$telefono1','$telefono2','$carrera','$correo','$usuario','$clave')";
$verificar_usuario = mysqli_query($conexion, "SELECT * FROM alumnos WHERE usuario = '$usuario'");
if (mysqli_num_rows($verificar_usuario) > 0) {
echo '<script>
alert("El usuario ya esta registrado");
window.history.go(-1);
</script>';
exit;
}
$verificar_correo = mysqli_query($conexion, "SELECT * FROM alumnos WHERE usuario = '$correo'");
if (mysqli_num_rows($verificar_correo) > 0) {
echo '<script>
alert("Este correo ya esta registrado");
window.history.go(-1);
</script>';
exit;
}
$verificar_matricula = mysqli_query($conexion, "SELECT * FROM alumnos WHERE usuario = '$matricula'");
if (mysqli_num_rows($verificar_matricula) > 0) {
echo '<script>
alert("Esta matricula ya esta registrada");
window.history.go(-1);
</script>';
exit;
}
//Ejecutar consulta
$resultado=mysqli_query($conexion,$insertar);
if(!$resultado){
echo'Error al enviar los datos';
}else{
echo'Datos enviados correctamente';
}
//cerrar conexion
mysqli_close($conexion);
este es el de login:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Formulario de Login</title>
<meta charset="utf-8">
<meta name="viewport" content="width-device-widht, user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1">
<link rel="stylesheet" href="css/formu.css">
</head>
<body>
<form action="validar.php" method="post">
<h2>Formulario de Login</h2>
<input type="text" placeholder=" 🔐 Usuario" name="usuario">
<input type="password" placeholder="🔐 Contraseña" name="clave">
<input type="submit" value="Ingresar">
</form>
</body>
</html>
funcion para validar login:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Formulario de Login</title>
<meta charset="utf-8">
<meta name="viewport" content="width-device-widht, user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1">
<link rel="stylesheet" href="css/formu.css">
</head>
<body>
<form action="validar.php" method="post">
<h2>Formulario de Login</h2>
<input type="text" placeholder=" 🔐 Usuario" name="usuario">
<input type="password" placeholder="🔐 Contraseña" name="clave">
<input type="submit" value="Ingresar">
</form>
</body>
</html>
validacion en php para login y formulario:
<?php
$usuario=$_POST['usuario'];
$clave=$_POST['clave'];
//conectar a la base de datos
$conexion=mysqli_connect("localhost", "root","","bd_escuela");
$consulta="SELECT * FROM alumnos WHERE usuario='$usuario'and clave='$clave'";
$resultado=mysqli_query($conexion,$consulta);
$filas=mysqli_num_rows($resultado);
if ($filas>0) {
header("location:bienvenido.html");
}
else {
echo "ERROR EN LA AUTENTIFICACION";
}
mysqli_free_result($resultado);
mysqli_close($conexion);
espero me puedan ayudar y gracias...
-
Buenas pepinilloproga
Para escribir en los foros y pegar código debes leer https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 ahí se explica cómo pegar código en los foros y otras cosas.
En el archivo php que recibe los datos deberías hacer una comprobación básica
Tienes por ejemplo $nombre = $_POST['nombre'];
Introduce una línea
echo 'El nombre recibido es '.$nombre;
Así comprobarás si estás recibiendo o no los datos. Si no los recibes tendrás que revisar por qué no se reciben. Si se reciben, ver en qué proceso te está fallando.
Revisa también las explicaciones en el curso de HTML y de PHP disponibles en https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86
Salu2