Saltar la navegación

Actividad: Mi Tienda Virtual

Instrucciones

Objetivo:

  • El objetivo de esta practica es desarrollar una Tienda Virtual Web en la que el usuario pueda visualizar las categorías de productos disponibles
  • Aplicar conceptos de Cookies y Sesiones, Métodos HTTP
  • Aplicar instrucciones PHP

Instrucciones:

 La Tienda Virtual debe tener las siguientes pantallas:

Pantalla: Login (index.php)

1.- El usuario debe poder ingresar su nombre de usuario y clave (los caracteres ingresados deben presentarse como asterisco (*)).

2.- Además, si el usuario selecciona el cuadro de verificación “Recordarme”, el nombre de usuario y la clave deben ser llenados automáticamente la próxima vez que el usuario visite el sitio. Si el cuadro de “Recordarme” no fue seleccionado, la próxima vez que el usuario visite el sitio los cuadros de texto estarán vacíos.

 

Pantalla: Panel Principal (mipanel.php)

Pantalla Login

El panel principal se presenta una vez autenticado el usuario.

1.- El nombre del usuario debe mostrarse en la bienvenida (ej: “Bienvenido Usuario: nombre_de_usuario). El nombre del usuario debe ser obtenido de una sesión creada cuando el usuario es autenticado.

2.- El usuario debe poder cambiar el idioma de la lista de categorías de productos. La preferencia de idioma debe ser guardada en una cookie con al menos 24 horas de vigencia. Si el usuario selecciona ES, el sistema debe presentar la lista de categorías de productos del fichero categorias_es.txt. Si la selección es EN, el sistema debe presentar los productos del fichero categorias_en.txt.

3.- Al hacer clic en “Cerrar Sesión”, la aplicación debe destruir la sesión creada y navegar a la pantalla login.

 

 Para realizar tu práctica, se te provee los ficheros base que contienen las pantallas mencionadas. Sobre el código provisto, puedes agregar la funcionalidad solicitada en esta práctica. Los ficheros Base se encuentran en la siguiente sección:

Ficheros Base para tu práctica

Se adjunta ficheros base a partir de los cuales puedes ayudarte para codificar las funcionalidades solicitadas en la práctica.

  • index.php
  • autorizar.php
  • mipanel.php
  • cerrarsesion.php

Ficheros de Texto que deben ser leidos en la práctica:

  • categorias_en.txt (categorias de productos en inglés)
  • categorias_es.txt (categorías de productos en español)

Temas útiles antes de realizar tu práctica

CheckBox

Para realizar la práctica necesitas conocer cómo escribir un Checkbox. Fíjate en la línea 10.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form method="POST" action="recepcion.php">
        <input type="checkbox" name="chktest" checked>Matriculado</input><br>
        <input type="submit">
    </form>
</body>
</html>

var_dump(), die(), pre

<?php
#uso de var_dump()
$array = array("foo", "bar", "hello", "world");
var_dump($array);

#mata el proceso
die();

#preformateado de código
echo "<pre>";
var_dump($array);
echo "</pre>";

?>

Lectura/Escritura ficheros

  • apertura de ficheros
    • $fp = fopen(NombreFichero, modo[, include_path]);
      • modo: r, r+, w, w+, a, a+
      • include_path: incluye la búsqueda en los directorios del path indicado por defecto
  • lectura
    • texto: $cadena = fgets($fp [, longitud]);
    • binario: $cadena = fread($fp, longitud);
  • escritura
    • $num_bytes = fwrite($fp, $cadena [, longitud]);
  • cierre
    • $ok = fclose($fp);

Actividad: Lectura de Fichero de texto

Aplica los comandos PHP para leer un fichero de texto. Usa los ficheros a continuación para la implementación:

leer.php

<?php
# abrimos fichero
$fp = fopen("datos.txt", "r");

#leemos el fichero utilizando un bucle. Usamos feof 
# para comprobar si el puntero a un archivo está al final del archivo. 
# Si feof ==TRUE significa que el puntero está al final del archivo
while (!feof($fp)){
    #fgets permite obtener una línea desde el puntero a un fichero
    $linea = fgets($fp);
    #imprimimos la línea
    echo $linea. "<br>";
}

#cerramos fichero
fclose($fp);

?>



datos.txt

uno
dos
tres
cuatro
cinco



Actividad: Escribir Fichero

Crea una aplicación Web para escribir en un fichero. Usa los ficheros que se presentan a continuación:

escribir.php

<?php
## créditos: https://www.php.net/manual/es/function.fwrite.php

$nombre_archivo = 'prueba.txt';
$contenido = "Añade esto al archivo 2\n";

// Primero vamos a asegurarnos de que el archivo existe y es escribible.
if (is_writable($nombre_archivo)) {

    // En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
    // El puntero al archivo está al final del archivo
    // donde irá $contenido cuando usemos fwrite() sobre él.
    if (!$gestor = fopen($nombre_archivo, 'a')) {
         echo "No se puede abrir el archivo ($nombre_archivo)";
         exit;
    }

    // Escribir $contenido a nuestro archivo abierto.
    if (fwrite($gestor, $contenido) === FALSE) {
        echo "No se puede escribir en el archivo ($nombre_archivo)";
        exit;
    }

    echo "Éxito, se escribió ($contenido) en el archivo ($nombre_archivo)";

    fclose($gestor);

} else {
    echo "El archivo $nombre_archivo no es escribible";
}
?>

prueba.txt

NOTA: Creao el fichero preuba.txt al mismo nivel del fichero escribir.php