Autor Tema: html y php require_once para guardar datos de acceso a base de datos en archivo  (Leído 9664 veces)

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Hola.

Os presento mi caso:

Hace un tiempo comenzé con mi web y tenía 4 archivos html.

Entre esos archivos está "calendario.html" que contiene código html (para darle formato a la web) y
Código: [Seleccionar]
php (para realizar consultas).

Hace poco me dijeron que esto está mal, ya que un archivo .html no puede contener código php, porque simplemente no ejecutará.

Pero, sin embargo, en mi caso al ejecutar "calendario.html" sí que se ejecuta mi código php...

Realmente no entiendo cómo es esto posible.


Además, al añadir los ficheros "config.php" y "conexion.php" (que contienen los datos y la conexión a la base de datos, respectivamente) me da un error.

Y también he cambiado el nombre de "calendario.html" a "calendario.php" pero parece ser lo mismo.


TROZO DE PHP de una consulta "calendario.html" que no da errores:

Código: [Seleccionar]
<?php 
    
$link mysql_connect("mysql13.000webhost.com","a4047274_noticias","******");

mysql_select_db("a4047274_noticias"$link);

$result mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN '2014-01-01' AND '2014-01-31'"$link);
    

while($row mysql_fetch_array($result)){
echo "<hr>";
echo "Pueblo: ".$row['pueblo']."<br>";
echo "Noticia: ".$row['noticia']."<br>";
        echo 
"Comentarios: ".$row['comentarios']."<br>";
}

mysql_free_result($result);
mysql_close($link);
echo "<hr>";
?>

TROZO DE PHP de una consulta de "calendario.html" antes de añadir los archivos config.php y conexion.php:

Código: [Seleccionar]
<?php 
    
/*$link = mysql_connect("mysql13.000webhost.com","a4047274_noticias","******");

mysql_select_db("a4047274_noticias", $link);*/
    
    
require_once('include/conexion.php');



$result mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN '2014-01-01' AND '2014-01-31'"$link);
    

while($row mysql_fetch_array($result)){
echo "<hr>";
echo "Pueblo: ".$row['pueblo']."<br>";
echo "Noticia: ".$row['noticia']."<br>";
        echo 
"Comentarios: ".$row['comentarios']."<br>";
}

mysql_free_result($result);
mysql_close($link);
echo "<hr>";
?>

PD: GRACIAS.
« Última modificación: 30 de Septiembre 2014, 09:42 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:html y php
« Respuesta #1 en: 26 de Septiembre 2014, 08:13 »
Hola, adjunta los archivos completos en un post (bórrale primero las contraseñas) para poder verlos. Para ello pulsa sobre "Opciones adicionales" en la parte de abajo del editor del foro y adjúntalos.

¿Dices que un archivo html te está ejecutando código php?

¿Tienes la web accesible a través de una url? Si es así, dinos cuál es la url para poder verla.

Con eso trataremos de aclarar lo que ocurre ;)

« Última modificación: 27 de Septiembre 2014, 18:01 por Mario R. Rancel »

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:html y php
« Respuesta #2 en: 27 de Septiembre 2014, 12:04 »
Hola.

te añado los 4 archivos html.

Además te paso la dirección de la web: http://prueba123451.site11.com/index.html

Verás que no da error, eso es porque volví a subir los archivos antes de intentar añadir seguridad a la web.

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:html y php
« Respuesta #3 en: 27 de Septiembre 2014, 15:36 »
Por cierto, habrás visto que he dejado la contraseña en los archivos, eso es porque tenéis mi permiso para agregar y quitar datos de la base de datos con el fin de probar.

Gracias por vuestra ayuda.

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re:html y php
« Respuesta #4 en: 27 de Septiembre 2014, 18:01 »
Hola, he visto los archivos que has dejado y la dirección web, donde efectivamente se está ejecutando código php dentro de archivos html (cosa que podemos calificar de inusual, aunque posible). He editado y ampliado el hilo donde se hablaba de archivos html y php para incluir la explicación de cómo puede suceder esto. La explicación está aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=1339.msg7400#msg7400

La recomendación es que los nombres con extensión php si contienen código php...

Sobre lo que comentabas: "al añadir los ficheros "config.php" y "conexion.php" (que contienen los datos y la conexión a la base de datos, respectivamente) me da un error"

Puede deberse a que tengas mal escrita la ruta de los ficheros, o a algún fallo en el código de estos ficheros. Comprueba si la ruta es correcta sustituyendo el contenido de esos ficheros por una instrucción echo, por ejemplo echo 'alcanzado el fichero config.php';, para verificar si es un problema con la ruta o con el código.

Saludos,

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:html y php require
« Respuesta #5 en: 28 de Septiembre 2014, 07:45 »
NOTA: He modificado este mensaje porque se me había olvidado subir los archivos config.php y conexion.php, los puse en la misma carpeta que calendario.php para ver si era la ruta el error. Y funcionó al cambiar la posición de los archivos.
Aún así si alguien mira cuál sería la ruta correcta para colocarlos dentro de la carpeta include, lo agradecería.

FIN NOTA.


Bueno...

he estado mirando los archivos, y he escrito varios "echo" dentro de config.php y conexion.php, pero sigue funcionando mal y ni siquiera salen por pantalla los "echo".

A ver... voy a mostrarte cómo están organizados los archivos porque ya me vuelvo loco.

Dentro de la carpeta "fiestas", al mismo nivel están:
-carpeta include (que contiene config.php y conexion.php.
-calendario.php
-index.php
-proximas.php
-formulario.php

Y el código para enero de calendario.php es:

Código: [Seleccionar]
<?php 
    
/*$link = mysql_connect("mysql13.000webhost.com","a4047274_fiestas","urkaka12");

mysql_select_db("a4047274_fiestas", $link);*/
    
    
require_once('include/conexion.php');



$result mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN '2014-01-01' AND '2014-01-31'"$link);
    

while($row mysql_fetch_array($result)){
echo "<hr>";
echo "Pueblo: ".$row['pueblo']."<br>";
echo "Fiesta: ".$row['fiesta']."<br>";
        echo 
"Comentarios: ".$row['comentarios']."<br>";
}

mysql_free_result($result);
mysql_close($link);
echo "<hr>";
?>

He estado cambiando varias cosas pero no sé que funciona mal. He copiado los archivos a la misma carpeta de calendario.php y he modificado el "require". También lo he cambiado por "include" y tampoco funciona.
« Última modificación: 28 de Septiembre 2014, 07:57 por URKA84 »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:html y php require
« Respuesta #6 en: 28 de Septiembre 2014, 11:37 »
¿Dónde están los archivos conexion.php y config.php? Los he buscado en los adjuntos pero no los he visto.

Las rutas, si tú escribes require_once ('directorio/archivo.php'); el archivo será buscado dentro de la carpeta directorio, que estará junto al archivo donde se invoca el require_once.

En tu caso si en el archivo calendario.php tuvieras esto:

Código: [Seleccionar]
<?php 
require_once('include/conexion.php');
echo 
' CODIGO DE CALENDARIO';
?>

Y en el archivo conexion.php situado dentro de la carpeta include tuvieras esto:

Código: [Seleccionar]
<?php 
echo ' CODIGO DE CONEXION<br/><br/>';
?>

Cuando escribas en tu navegador http:// ... / calendario.php debería mostrarse por pantalla esto:

CODIGO DE CONEXION
CODIGO DE CALENDARIO

Salu2

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:html y php require
« Respuesta #7 en: 28 de Septiembre 2014, 23:08 »
Lo siento, es que sólo me permitía subir 2 archivos.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:html y php require
« Respuesta #8 en: 29 de Septiembre 2014, 08:33 »
He revisado los archivos y el error que da parece que está relacionado con que alguno de los datos no está bien, es decir, tendrías que revisar cuál es el nombre de servidor, nombre de usuario de base de datos y nombre de la base de datos...

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
mmmm...

Me he fijado en lo que has dicho pero no he visto nada. De todas formas dejaré los archivos al mismo nivel, así funciona.

Gracias por haberme ayudado con esto, pero no puedo estar "enfrascado" en lo mismo todo el tiempo y tampoco quiero haceros perder el tiempo a vosotros.

Más adelante volveré a esto y le hecharé un vistazo. Gracias.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".