Nueva pregunta

Pregunta:

Fecha: 09-10-2017 08:44:40 (En Español)

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>";
}

?>
Etiquetas: 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
 
frjcbbae garagebible.com