Pregunta:
Fecha: 09-10-2017 08:44:40
(En Español)
index.html
<!DOCTYPE html>
<html>
<head>
<title>Formulario De Contacto</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="tumail@mail.com" 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
$conectar = @mysql_connect('localhost', 'root', '');
//verificamos la conexion
if (!$conectar) {
echo "No Se Pudo Conectar Con El Servidor";
} else {
$base = mysql_select_db('prueba');
if (!$base) {
echo "No Se Encontro La Base De Datos";
}
}
//recuperar las variables
$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$mensaje = $_POST['mensaje'];
//hacemos la sentencia de sql
$sql = "INSERT INTO datos VALUES('$nombre',
'$correo',
'$mensaje')";
//ejecutamos la sentencia de sql
$ejecutar = mysql_query($sql);
//verificamos la ejecucion
if (!$ejecutar) {
echo "Hubo Algun Error";
} else {
echo "Datos Guardados Correctamente<br><a href='index.html'>Volver</a>";
}
?> Votos: 0 - Respuestas: 2 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
pagina en blanco[Resuelta]
tengo un formulario para mandar datos a una base de datos relleno el formulario y cuando pongo enviar se pone la pagina en blanco y no me deriva a index.html y tampoco me lo guarda en la base de datos, acá esta el ejercicio:index.html
<!DOCTYPE html>
<html>
<head>
<title>Formulario De Contacto</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="tumail@mail.com" 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
$conectar = @mysql_connect('localhost', 'root', '');
//verificamos la conexion
if (!$conectar) {
echo "No Se Pudo Conectar Con El Servidor";
} else {
$base = mysql_select_db('prueba');
if (!$base) {
echo "No Se Encontro La Base De Datos";
}
}
//recuperar las variables
$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$mensaje = $_POST['mensaje'];
//hacemos la sentencia de sql
$sql = "INSERT INTO datos VALUES('$nombre',
'$correo',
'$mensaje')";
//ejecutamos la sentencia de sql
$ejecutar = mysql_query($sql);
//verificamos la ejecucion
if (!$ejecutar) {
echo "Hubo Algun Error";
} else {
echo "Datos Guardados Correctamente<br><a href='index.html'>Volver</a>";
}
?> Votos: 0 - Respuestas: 2 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 09-10-2017 19:36:39 En primer lugar la extensión msql ya está obsoleta, es más en php7 ya fue eliminada, por lo que no se debe usar, te recomiendo que uses la clase PDO.
Primero para conectarse a la base de datos nombras un archivo conexion.php y colocas este codigo:
<?php
try {
$con = new PDO("mysql:host=localhost;dbname=prueba", "root", "");
$con->query("SET NAMES 'utf-8'");
} catch (Exception $e) {
echo "No se ha podido conectar con la base de datos";
exit;
}
return $con;
?>
y en guardar.php al inicio lo referencia así: include("conexion.php");
finalmente para guardar los valores del formulario:
if (isset($_POST["nombre"])) {
$nombre = $_POST["nombre"];
}
if (isset($_POST["correo"])) {
$correo = $_POST["correo"];
$correo = utf8_decode($correo);
}
if (isset($_POST["mensaje"])) {
$mensaje = $_POST["mensaje"];
$mensaje = utf8_decode($mensaje);
}
$sql = "INSERT INTO prueba (nombre, correo,mensaje) VALUES (:nombre, :correo, :mensaje)";
$stmt = $con->prepare($sql);
$stmt->bindParam(':nombre', $nombre, PDO::PARAM_STR);
$stmt->bindParam(':correo', $correo, PDO::PARAM_STR);
$stmt->bindParam(':mensaje', $mensaje, PDO::PARAM_STR);
$stmt->execute(); Votos: 1 - Link respuesta -
Fecha: 12-10-2017 16:07:31 Corrigue esto
$base = mysql_select_db('prueba');
por esto
$base = mysql_select_db('prueba',$conectar);
nota :
Recuerda que cuando selecciona la bd tiens que pasarlo la variable de conexion
en tu caso no le pasas
saludos
Att.
Jose Quinto Ortega Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
