dominios y alojamiento web en hostalia

Videopráctica de PHP: Aplicación tablón de anuncios II

14 de January de 2011
Valoración del artículo:
Videotutorial PHP en el que realizamos la segunda práctica de creación de una aplicación de tablón de anuncios, para colocar unas imágenes de banderas de países.
Presentamos la segunda parte de la práctica del tablón de anuncios, en la que estamos realizando paso por paso una primera aplicación web en PHP. En esta ocasión vamos a trabajar para implementar en nuestro sitio un sistema para mostrar las banderas de los países del mundo.

Este material se engloba dentro del Videotutorial de PHP que estamos publicando desde hace tiempo en DesarrolloWeb.com. Además, para las personas que llegan a este vídeo sin haber tratado otros anteriores, sería importante ver antes el videotutorial de la primera práctica de creación del tablón de anuncios.

En esta segunda parte vamos a trabajar sobre los países del mundo que tenemos en la aplicación y que nos sirven para clasificar los anuncios del tablón por su procedencia. Hasta el momento mostramos sólo el nombre del país y nuestro objetivo, entre otros, es mostrar una imagen con la bandera del mismo.

De entre todas las posibilidades para mostrar una imagen para cada uno de los países vamos a utilizar una que resultará bien simple para todo el mundo, incluso para las personas con menos experiencia. Se trata simplemente de guardar en la tabla de países el nombre del archivo de la imagen del país. Además, luego copiaremos todas las imágenes de las banderas en la carpeta de nuestro proyecto, para que estén disponibles en él.

Luego nos encargaremos de mejorar un poco la presentación de las banderitas, con un poquito de maquetación CSS y algunos estilos también asignados por medio de las hojas de estilo en cascada. Esto de la maquetación CSS no sería temario relativo a PHP, pero sí resulta importante para que nuestras páginas estén bien realizadas desde el punto de vista de la codificación y de los estándares actuales para la creación de páginas web.

Para continuar con la práctica avanzaremos un poco con la creación de una página donde se muestren todos los anuncios de un determinado país. Haremos que la banderita de cada país colocado en los anuncios sea un enlace a la página donde se muestra todo lo que se encuentre sobre ese país en concreto. Para esto enviamos por GET el identificador del país sobre el que queremos ver los anuncios y en la página de portada de la aplicación hacemos un tratamiento para que, si se recibe el identificador de un país, se seleccionen de la base de datos todos los anuncios de ese país enviado.

Veremos entonces cómo realizar sentencias SQL un poco más complejas y cómo, a partir de condicionales IF insertados en la programación PHP, podemos hacer unas cosas u otras con la base de datos dependiendo del estado de nuestras variables.

Además veremos cómo personalizar otros aspectos de la página también si se recibe un país, para que los mensajes de la aplicación sean personalizados según el país que estamos accediendo.

Acabaremos la actual práctica mostrando una serie de comprobaciones que se pueden realizar para hacer la aplicación más robusta. Se trata simplemente de revisar el identificador de los países, que recibimos por GET, para ver es válido antes de realizar la búsqueda de anuncios de un país. Así pues, veremos como realizar con PHP una validación de un dato recibido por GET antes de utilizarlo en la página. Un identificador válido será aquel que tenga sólo caracteres numéricos y para comprobar ese importante detalle, utilizaremos alguna de las funciones disponibles en PHP.

Así pues, en este vídeo veremos varias cosas que nos ayudarán a mejorar un poco nuestra aplicación de tablón de anuncios en PHP. Tenemos mucho por delante, pero al menos lo que vamos haciendo queda bastante bien, como podréis ver en el videotutorial.

Compartir en redes sociales

Comentarios
Fueron enviados 7 comentarios al artículo
2 comentarios no revisados
5 comentarios revisados:
POO
Por: Juan Carlos
18/1/2011
Seria genial que este tuto lo hicieron con POO.

Saludos.
Sobre POO...
10/3/2011
Calma, tiempo al tiempo. Yo creo que para los que están viendo el videotutorial de PHP hasta este punto, es un poco pronto para introducir la Programación Orientada a Objetos. Más adelante tocaremos esos asuntos, pero de momento es interesante que las personas puedan ver y practicar con un sitio web realizado con programación tradicional en PHP.
Gracias de todos modos por el comentario!
Yo tampoco capto tu duda
28/9/2011
Erik,

No te llego a entender la duda. Ambos if son muy parecidos. yo creo que en la práctica podrías utilizar cualquiera de los dos.
PROBLEMAS CON FORMULARIOS REENTRANTES
17/12/2011
buen dia!!
Antes que nada felicidades por el sitio estoy aprendiendo bastante con estos tutoriales, gracias jejej... bueno voy al asunto:

estoy siguiendo los tutoriales paso a paso, pero tengo problemas con el asunto de las paginas reentrantes ya que no me estan funcionado, por ejemplo: al momento dar click en un pais para que me devuelva solo los anuncios de ese pais en especifico, no lo hace, y no me muestra ningun error, lo mismo me paso con el codigo de "enviar_anuncios.php" me sigue apareciendo el formulario al momento de comprobar si el usuario escribe algo en el titulo del anuncio o cuerpo del anuncio y los mensajes de comprobacion if($_POST["titulo_anuncio"]=="")... me aparecen en la parte de arriba de la pagina pero el formulario sigue ahi, cosa que en el video desaparece... no se si me explico.


NO SE SI ME PUEDEN AYUDAR... estoy jalado de los pelos!!
Mando los archivos de" index.php" , "enviar_anuncios.php" tienen minimos cambios pero es practicamente lo mismo, de antemano gracias!!


--- "ENVIAR_ANUNCIO.PHP" ---

<?php
include_once ("librerias/funciones_comunes.php");

$titulo_pagina = "Enviar Anuncio al Tablón";
include("/plantillas/cabecera.php");

$conexion = conexion_base_datos();

?>

<p>
Desde esta pagina puedes enviar los anuncios
</p>


<?php

if($_POST){
if($_POST["titulo_anuncio"]==""){
echo "<h2>Porfavor ingresa un titulo</h2>";
}elseif($_POST["cuerpo_anuncio"]==""){
echo "<h2>Porfavor ingresa un contenido</h2>";
}else{
// echo"<h2>He recibido datos y se ingresaron correctamente</h2>";
$ssql = "insert into anuncio (titulo, cuerpo_anuncio, id_pais) values ('". $_POST["titulo_anuncio"] . "', '" . $_POST["cuerpo_anuncio"] . "', " . $_POST["id_pais"] . ")";
if (mysql_query($ssql)){
echo "<h2>Anuncio insertado correctamente</h2>";
}else{
echo "<h2>Existio un error al ingresar el anuncio</h2>";
}
}

}else{

}
?>


<form action="<?php $_SERVER["PHP_SELF"] ?>" method="post">
<div class="campoform">
Titulo de Anuncio:
<br/>
<input type="text" name="titulo_anuncio" size="35" />
</div>
<div class="campoform">
Contenido del Anuncio:
<br/>
<textarea cols="30" rows="10" name="cuerpo_anuncio"></textarea>
</div>
<div class="campoform">
Pais al que va dirigido:
<br/>
<select name="id_pais">
<?php
$ssql = "select * from pais order by nombre_pais";
$rs = mysql_query($ssql);
while ($fila = mysql_fetch_array($rs)){
echo "<option value=" . $fila["id_pais"] . ">" . $fila["nombre_pais"] . "</option>";
}
mysql_free_result($rs);
?>
</select>
</div>
<div class="campoform">
<input type="submit" value="Enviar" />
</div>
</form>

<?php

mysql_close($conexion);


include("plantillas/pie.php");
?>




--- "INDEX.PHP" ---

<?php
include_once ("librerias/funciones_comunes.php");
$titulo_pagina = "Tablón de Anuncios";
$descripcion = "pagina de prueba includes pagina1";
$keywords = "include, include_once, require, require_once, pag2";
include("/plantillas/cabecera.php");

$conexion = conexion_base_datos();

?>

<p>Ultimos Anuncios Recibidos</p>

<?php


$ssql = "select * from anuncio,pais where anuncio.id_pais = pais.id_pais order by id_tablon desc limit 7";

if (isset($_GET["id_pais"])){
$id_pais = $_GET["id_pais"];
$ssql .= "and anuncio.id_pais=" . $id_pais;
}

$rs = mysql_query ($ssql);

while ($fila = mysql_fetch_array($rs)){
echo "<div class='estiloanuncio'>";
echo "<b>" . $fila["titulo"] . "</b>";
echo "<br/>";
echo $fila["cuerpo_anuncio"];
echo "<br/>";
echo '<a href="index.php?pais=' .$fila["id_pais"] . '"><img src="img/banderas/' . $fila["imagen_pais"] . '"width="32" height="32" alt="titulo" />'; //mostramos la bandera del pais
echo "<b class='estilopais'>&nbsp;&nbsp;&nbsp;Origen: " . $fila["nombre_pais"] . "</b></a>"; //con esto mostramos el pais de origen
echo "</div>";
}

mysql_free_result($rs);
mysql_close($conexion);

include("plantillas/pie.php");
?>
Ya encontre los errores!!
18/12/2011
ya encontre cuales eran los errores... de todas maneras gracias!!!

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...