Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: SantiagoRiver en 28 Noviembre 2016, 02:55 am



Título: PHP no me interpreta el código
Publicado por: SantiagoRiver en 28 Noviembre 2016, 02:55 am
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
Código:
<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
Código:
<?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>";
}
?>






Título: Re: PHP con me compila
Publicado por: 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


Título: Re: PHP con me compila
Publicado por: SantiagoRiver en 28 Noviembre 2016, 03:03 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.


Título: Re: PHP no me interpreta el código
Publicado por: 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/


Título: Re: PHP no me interpreta el código
Publicado por: SantiagoRiver en 28 Noviembre 2016, 03:25 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


Título: Re: PHP no me interpreta el código
Publicado por: SantiagoRiver en 28 Noviembre 2016, 03:30 am
Si no entendí mal, debería ejecutar la pagina siempre con este link?

(https://s21.postimg.org/m018dws47/sadsadsadsadsadsad.png)


Título: Re: PHP no me interpreta el código
Publicado por: 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


Título: Re: PHP no me interpreta el código
Publicado por: SantiagoRiver en 28 Noviembre 2016, 04:07 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?


Título: Re: PHP no me interpreta el código
Publicado por: 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


Título: Re: PHP no me interpreta el código
Publicado por: SantiagoRiver en 28 Noviembre 2016, 04:31 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ódigo
Codigo del formulario
Código
  1. <head>
  2. <title>Formulario De Contacto</title>
  3. <link rel="stylesheet" type="text/css" href="estilo.css">
  4. </head>
  5. <body>
  6. <div class="form">
  7. <form action="guardar.php" method="POST">
  8. <p>Nombre</p>
  9. <input type="text" name="nombre" placeholder="Ingrese su nombre" required>
  10.  
  11. <p>Apellido</p>
  12. <input type="text" name="apellido" placeholder="Ingrese su apellido" required>
  13.  
  14. <p>Email</p>
  15. <input type="email" name="email" placeholder="ejemplo@gmail.com" required>
  16.  
  17. <p>Mensaje</p>
  18.  
  19. <textarea name="mensaje" placeholder="Mensaje" required></textarea>
  20. <br>
  21. <br>
  22. <input type="submit" value="Enviar">
  23. </form>
  24. </div>
  25. </body>
  26. </html>

Codigo de la conexión
Código
  1. <?php
  2. //conectamos Con el servidor
  3. $conectar=@mysql_connect('localhost','root','');
  4. //verificamos la conexion
  5. if(!$conectar){
  6. echo"No Se Pudo Conectar Con El Servidor";
  7. }else{
  8.  
  9. $base=mysql_select_db('mamuol');
  10. if(!$base){
  11. echo"No Se Encontro La Base De Datos";
  12. }
  13. }
  14. //recuperar las variables
  15.  
  16.  
  17. $nombre=$_POST['nombre'];
  18. $apellido=$_POST['apellido'];
  19. $dni=$_POST['dni'];
  20. $mensaje=$_POST['mensaje'];
  21.  
  22.  
  23. //hacemos la sentencia de sql
  24. $sql="INSERT INTO datos VALUES('$nombre',
  25.   '$apellido',
  26.   '$dni'
  27.   '$mensaje')";
  28. //ejecutamos la sentencia de sql
  29. $ejecutar=mysql_query($sql);
  30. //verificamos la ejecucion
  31. if(!$ejecutar){
  32. echo"Hubo Algun Error";
  33. }else{
  34. echo"Datos Guardados Correctamente<br><a href='contact.php'>Volver</a>";
  35. }
  36. ?>


Título: Re: PHP no me interpreta el código
Publicado por: engel lex en 28 Noviembre 2016, 04:38 am
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