Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: URKA84 en 26 de Septiembre 2014, 03:20
-
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 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:
<?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:
<?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.
-
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 ;)
-
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.
-
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.
-
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,
-
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:
<?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.
-
¿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:
<?php
require_once('include/conexion.php');
echo ' CODIGO DE CALENDARIO';
?>
Y en el archivo conexion.php situado dentro de la carpeta include tuvieras esto:
<?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
-
Lo siento, es que sólo me permitía subir 2 archivos.
-
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...
-
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.