Hola que tal, estoy desarollando una pagina web simple, soy novato en PHP. Crearla no fue problema, pero a la hora de pasar los datos de un formulario a la base de datos, no puedo hacerlo.
Cuando completo los espacios del formulario, y le doy aceptar, me manda a la pagina donde me debería decir que se ejecutó correctamente, pero lo que me sale, es el codigo PHP.
Esta es mi base de datos en phpMyAdmin
(https://s21.postimg.org/eogvblpkn/basedatos.png)
Pagina del formulario
(https://s12.postimg.org/mzxs02mot/enviar.png)
Pagina donde me salta el codigo php
(https://s17.postimg.org/999h34bcv/gfotoguardar.png)
Mis paginas PHP
(https://s17.postimg.org/eym5trrj3/carpeta.png)
Codigo del formulario
<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>
<input type="text" name="nombre" placeholder="Ingrese su nombre" required>
<p>Apellido</p>
<input type="text" name="apellido" placeholder="Ingrese su apellido" required>
<p>Email</p>
<input type="email" name="email" placeholder="ejemplo@gmail.com" required>
<p>Mensaje</p>
<textarea name="mensaje" placeholder="Mensaje" required></textarea>
<br>
<br>
<input type="submit" value="Enviar">
</form>
</div>
</body>
</html>
Codigo de la conexión
<?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('mamuol');
if(!$base){
echo"No Se Encontro La Base De Datos";
}
}
//recuperar las variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$dni=$_POST['dni'];
$mensaje=$_POST['mensaje'];
//hacemos la sentencia de sql
$sql="INSERT INTO datos VALUES('$nombre',
'$apellido',
'$dni'
'$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='contact.php'>Volver</a>";
}
?>
primero... php no compila, interpreta... segundo, veo
(http://i.imgur.com/TyBzq5m.png)
eso quiere decir que estás abriendo la pagina con doble click, en ese caso el navegador accederá el archivo directamente sin pasar por el apache... necesitas que pase por el apache, es decir http://localhost/tu_pagina_web
Cita de: engel lex en 28 Noviembre 2016, 02:59 AM
primero... php no compila, interpreta... segundo, veo
(http://i.imgur.com/TyBzq5m.png)
eso quiere decir que estás abriendo la pagina con doble click, en ese caso el navegador accederá el archivo directamente sin pasar por el apache... necesitas que pase por el apache, es decir http://localhost/tu_pagina_web
Entendí, muchas gracias por contestar! Pero como hago eso? Osea, como hago para que pase por el apache? Porque no es que lo ejecute con doble click, sino que lo hago desde el botón de la pagina al terminar el formulario.
mira el phpmyadmin
(http://i.imgur.com/9OoImiW.png)
tu apache tiene una configuración de entrada... tu pagina tiene que ser como te indiqué ya, algo como... al decir que haces doble click es que estás habriendo el archivo .php directamente en el navegador y está mal eso
http://localhost/tu_pagina_web
o simplemente
(intenta haciendo click aqui abajo)
http://localhost/
Cita de: engel lex en 28 Noviembre 2016, 03:11 AM
mira el phpmyadmin
(http://i.imgur.com/9OoImiW.png)
tu apache tiene una configuración de entrada... tu pagina tiene que ser como te indiqué ya, algo como... al decir que haces doble click es que estás habriendo el archivo .php directamente en el navegador y está mal eso
http://localhost/tu_pagina_web
o simplemente
(intenta haciendo click aqui abajo)
http://localhost/
En mi caso tiene que ser http://localhost:8080, cuando entro, me sale la pagina de Bienvenido a XAMPP
Si no entendí mal, debería ejecutar la pagina siempre con este link?
(https://s21.postimg.org/m018dws47/sadsadsadsadsadsad.png)
hombre la proxima vez antes de entrar en un lenguaje revistate un tutorial de como se instala y usa XD
(http://i.imgur.com/pCAgMwQ.png)
http://localhost:8080/mamuol
Cita de: engel lex en 28 Noviembre 2016, 03:31 AM
hombre la proxima vez antes de entrar en un lenguaje revistate un tutorial de como se instala y usa XD
(http://i.imgur.com/pCAgMwQ.png)
http://localhost:8080/mamuol
Perdón, soy muy novato jaja >:(
Ahora cuando se ejecuta el "guardar" me sale una página en blanco.
A que se puede deber?
puede ser que está mal programado... o que no pusiste que se motrara nada...
sin el codigo no se... pero error no debe ser... si es error lo verás de inmediato
Cita de: engel lex en 28 Noviembre 2016, 04:11 AM
puede ser que está mal programado... o que no pusiste que se motrara nada...
sin el codigo no se... pero error no debe ser... si es error lo verás de inmediato
Acá el códigoCodigo del formulario
<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>
<input type="text" name="nombre" placeholder="Ingrese su nombre" required>
<p>Apellido</p>
<input type="text" name="apellido" placeholder="Ingrese su apellido" required>
<p>Email</p>
<input type="email" name="email" placeholder="ejemplo@gmail.com" required>
<p>Mensaje</p>
<textarea name="mensaje" placeholder="Mensaje" required></textarea>
<br>
<br>
<input type="submit" value="Enviar">
</form>
</div>
</body>
</html>
Codigo de la conexión
<?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('mamuol');
if(!$base){
echo"No Se Encontro La Base De Datos";
}
}
//recuperar las variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$dni=$_POST['dni'];
$mensaje=$_POST['mensaje'];
//hacemos la sentencia de sql
$sql="INSERT INTO datos VALUES('$nombre',
'$apellido',
'$dni'
'$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='contact.php'>Volver</a>";
}
?>
primero que nada la extensión mysql de php está obsoleta, usa mysqli, busca la documentación, es casi identica... y no suprimas errores si estás aprendiendo (el @ del mysql_connect)
procura usar las etiqeutas GeSHi al publicar para que el codigo sea resaltado con colores (ya lo arreglé) para que sea más facil de leer
a primera vista no veo errores...
usa la función de mysql para reportar los errores luego del query a ver si todo va bien