Estoy haciendo un formulario para que recoja los datos que lleguen a él a una base de datos local.
El formulario se muestra, hasta ahí bien. Pero al querer enviar los datos, me da un error, y no sé qué está pasando. He revisado todos los documentos una y otra vez y no encuentro el fallo. A ver si me pueden ayudar.
index.html
<!DOCTYPE html>
<html>
<head>
<title>Formulario</title>
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
<div class="form">
<form action="guardar.php" method="POST">
<p>Nombre</p>
<label for="nombre">Su nombre</label>
<br>
<input type="text" name="nombre" placeholder="Nombre" required>
<p>Correo</p>
<label for="correo">Direccion De Correo</label>
<br>
<input type="email" name="correo" placeholder="[email protected]" required>
<p>Mensaje</p>
<label for="mensaje">Su Mensaje</label>
<br>
<textarea name="mensaje" placeholder="Mensaje" required></textarea>
<br>
<br>
<input type="submit" value="Enviar">
</form>
</div>
</body>
</html>
guardar.php
<?php
//conectamos Con el servidor
$host="localhost";
$user="root";
$pass="";
$db="prueba";
$con = mysqli_connect($host,$user,$pass,$db) or die ("Problemas al conectar");
mysqli_select_db($con,$db) or die ("Problemas al conectar con la base de datos");
//recuperar las variables
$nombre=$_POST['nombre'];
$correo=$_POST['correo'];
$mensaje=$_POST['mensaje'];
//Hacer secuencia sql
$sql="INSERT INTO datos VALUES ('$nombre','$correo','$mensaje'";
//ejecutamos la sentencia de sql
$ejecutar=mysqli_query($con,$sql);
//verificamos la ejecucion
if(!$ejecutar){
echo"Hubo Algun Error";
}else{
echo"Datos Guardados Correctamente<br><a href='index.html'>Volver</a>";
}
?>
mostrar.php
<?php
//hacemos la conexion para la base de datos:
$con= mysqli_connect($host,$user,$pass);
//verificamos la conexion
if(!$con){
echo"No Se Encontro El Servidor";
}else{
$bd= mysqli_select_db('prueba'); //nombre bbdd
//verificamos la base de datos
if(!$baseDedatos){
echo"No Se Encontro La Base De Datos";
}
}
//Se Hace la sentencia sql:
$sql="SELECT * FROM datos"; //nombre tabla
//ejecutamos la sentencia de slq:
$ejecutar=mysqli_query($sql);
//traemos todos los valores en un array:
$datos=mysqli_fetch_array($ejecutar);
//imprimimos los datos de manera dinamica
echo "<table border='1'>";
echo"<tr>";
echo "<th align='center'><b>Nombre</th>";
echo "<th align='center'><b>Correo</th>";
echo "<th align='center'><b>Mensaje</th>";
echo"</tr>";
for($i=0; $i<$datos; $i++){
echo"<tr><td>$datos[0]</td>";
echo"<td>$datos[1]</td>";
echo"<td>$datos[2]</td>";
echo"</tr>";
$datos=mysqli_fetch_array($ejecutar);
}
echo"</table>";
?>
La base de datos se llama "prueba", la tabla "datos", y tienen las mismas variables.
Cuando voy a guardar los datos, me sale una pantalla en blanco con "hubo algun error".