Recull de pràctiques de 2n d'ASIX. Curs 2025-2026
Contingut
Pràctica 1
Lliurament: 30 de setembre de 2025
- Documenteu el procés de la vostra Instal·lació d'un entorn LAMP. Curs 2025-2026
Si necessiteu afegir sudo per a fer un mysql -u root -p:
sudo mysql -u root -p
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('clotfje');
FLUSH PRIVILEGES;
Pràctica 2. Exercicis d'introducció al PHP
(Aquesta pràctica consta d'11 exercicis)
1. Escriu el programa que mostri en php el teu nom i cognoms, i el teu correu electrònic en línies diferents. Feu servir variables per a assignar el vostre nom, cognom i correu electrònic
2. Escriu un programa que donades tres variables amb un valor diferent cadascuna les mostri per pantalla i digui el tipus (gettype)
3. Sabent que la funció rand ens retorna un valor aleatori entre un ventall de dos enters: Genera 3 números i mostra per pantalla el tres números i la frase "El més gran és " + número més gran
4. Obté quin dia de la setmana és avui amb date("D") i mostra-ho en català emprant un switch
5. Suma els 10 primers números naturals emprant un while
6. Donada una base i un exponent enter, calcula la potència amb un bucle
7. Mostra una taula amb els números d'1 al 100 de 10 en 10 (etiquetes HTML table, tr i td)
8. Donat una vector (array) mostra en una taula els índex i els valors
$vector[0] = "ASIX2"; $vector[1] = "Escola del Clot"; $vector[2] = "v2.1"; $vector[3] = "3.14159"; $vector[4] = null; $vector[5] = 2017;
9. Feu un formulari amb dues entrades de text i un botó. Introduïu dos números i feu la suma, resta, divisió i la multiplicació dels dos números
10. Fent servir el mètode GET i dos for niats per a que surti una forma com aquesta:
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Feu servir aquestes variables dins el doble bucle for
$espai = " "; #Espai buit $caracter = $espai . "^"; #El caràcter que formarà la piràmide $numFiles = 10; #Número de files que vull generar
11. A partir de l'anterior, fent servir el mètode POST, feu un formulari a on es demani un caràcter de visualització i el nombre de files del triangle.
Pràctica 3 - Connexió PDO entre PHP i MariaDB
Preparació
- Instal·leu a la màquina virtual zip, libzip-dev i libpng-dev:
sudo apt update sudo apt install zip libzip-dev libpng-dev
- Si no teniu instal·lats les extensions PDO de PHP per a MariaDB: mysqli, pdo, pdo_mysql, gd i zip. Entre d'altres:
sudo apt install php libapache2-mod-php php-mysql
Exemples d'ús de connexió PDO
Documenteu els següents exemples:
- Feu una primera connexió des de PHP a la vostra base de dades. Heu de fer una verificació d'aquest estil (localhost)
<?php // Example (PDO) at https://www.w3schools.com/php/php_mysql_connect.asp $servername = "127.0.0.1"; $username = "root"; $password = "fjeclot"; try { $conn = new PDO("mysql:host=$servername;dbname=lamp_db", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connectat a la base de dades."; } catch(PDOException $e) { echo "No es pot connectar. Motiu: " . $e->getMessage(); } ?>
- Feu un exemple de creació de base de dades (PDO)
- Feu un exemple de creació d'una taula (PDO)
- Feu un exemple d'inserció de dades (PDO)
- Feu un exemple d'obtenció del darrer ID (PDO)
- Feu un exemple d'inserció múltiple (PDO)
- Feu un exemple de declaracions preparades i paràmetres enllaçats (PDO)
- Feu un exemple de selecció de dades (PDO) Explicació dels mètodes fets servir a php_mysql_select
function current(): string { // Afegiu : string per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
...
function beginChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
...
function endChildren(): void { // Afegiu : void per indicar el tipus de dades a retornar. Així eviteu missatge Deprecated
- Feu un exemple de l'ordre WHERE (PDO)
- Feu un exemple de l'ordre ORDER BY (PDO)
- Feu un exemple d'esborrament de dades (PDO)
- Feu un exemple d'actualització de dades (PDO)
- Feu un exemple de limitació de dades (PDO) Aprofiteu el codi de selecció de dades per a limitar quantes línies de la taula s'han de veure i a partir de quina es comença.
Projecte PHP emprant PDO accedint a MariaDB
Enunciat del projecte de connexió PDO entre PHP i MariaDB. Curs 2025-2026
Pràctica 4 - Galetes
Pràctica 4.1 - Introducció a les galetes
Feu una pàgina que el primer cop que s'accedeixi pregunti el nom i el cognom. Feu servir cookies que caduquin al cap d'una hora.
Quan es torni a carregar la pàgina us ha de dir el nom i els cognoms. Ha de sortir un botó que digui: Esborreu les cookies. Després d'haver escollit esborrar les cookies heu de tornar a carregar la pàgina com si fos el primer cop. O després que caduquin les cookies, al tornar a carregar la pàgina ha de sortir com si fos el primer cop.
Pràctica 4.2 - Preferències d'idioma amb Galetes i Base de Dades
- Enunciat complet de la pràctica 4.2
- Objectiu: Creació d’una aplicació web que permeti a l'usuari seleccionar un idioma de preferència,
emmagatzemar-lo a una galeta i registrar cada canvi d'idioma a una base de dades amb PDO.
- Descripció: Desenvolupeu una pàgina web que:
1. Mostri un formulari per seleccionar l'idioma preferit (Català, Castellà, Anglès)
2. Desi la preferència en una galeta que caduqui al cap de 30 dies
3. Registri cada canvi d'idioma a la base de dades amb data i hora
4. Mostri tot el contingut de la pàgina en l'idioma seleccionat
5. Mostri un historial dels darrers 5 canvis d'idioma des de la base de dades
Pràctica 5 - Sessions
Pràctica 5.1 - Introducció a les sessions
Feu una pàgina web, fent servir sessions, que pregunti tres regals a escollir (feu servir caselles de selecció - checkbox) i el vostre nom i cognom. Quan aneu a la pàgina cistell ha de sortir el vostre nom i cognom i els regals escollits. Podeu canviar els articles escollits prement el botó actualitza (però no es poden actualitzar el nom i els cognoms).
Ha d'haver una opció fer a finalitzar la sessió i tornar a l'estat inicial.
Pràctica 5.2 - Cistell de Compra amb Sessions i Base de Dades
- Enunciat complet de la pràctica 5.2
- Objectiu: Crear un cistell de compra senzill que utilitzi sessions per mantenir els productes seleccionats i PDO per obtenir la informació dels productes d'una base de dades.
- Descripció: Desenvolupeu una aplicació de comerç electrònic bàsica amb les següents funcionalitats:
1. Mostreu un catàleg de productes obtinguts de la base de dades
2. Afegiu productes al cistell mitjançant sessions
3. Modifiqueu quantitats dels productes al cistell
4. Elimineu productes del cistell
5. Calculeu el total de la compra
6. Buideu completament el cistell (finalitzeu la sessió)
Pràctica 5.3 - Sistema d’autenticació amb Sessions, Galetes i Base de Dades
- Enunciat complet de la pràctica 5.3
- Objectiu: Crear un sistema d'autenticació d'usuaris que combini sessions (per mantenir el login actiu), galetes (per "recordar-me") i PDO (per validar credencials i gestionar usuaris a la base de dades).
- Descripció: Desenvolupeu una aplicació web amb autenticació que permeti:
1. Registre de nous usuaris a la base de dades
2. Login amb validació de credencials des de la BD
3. Opció "Recordar-me" que usi galetes per mantenir el login entre sessions
4. Pàgina privada accessible només per usuaris autenticats (sessions)
5. Logout que netegi sessions i galetes
6. Registre d'activitat dels usuaris a la base de dades