Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
php [2022/09/16 14:25] enrique_mieza_sanchez [Exercicis] |
php [2024/10/03 15:32] (actual) enric_mieza_sanchez [Arxius] |
||
---|---|---|---|
Línia 21: | Línia 21: | ||
Treballarem PHP sobre GNU/Linux Debian/ | Treballarem PHP sobre GNU/Linux Debian/ | ||
- | $ sudo apt install php | + | |
En aquest article no necessitem parar massa atenció a les versions ja que treballarem amb els bàsics del llenguatge, però si estem instal·lant programari tipus [[CMS]] i similars caldrà que revisem bé la versió instal·lada i les llibreries afegides. | En aquest article no necessitem parar massa atenció a les versions ja que treballarem amb els bàsics del llenguatge, però si estem instal·lant programari tipus [[CMS]] i similars caldrà que revisem bé la versió instal·lada i les llibreries afegides. | ||
Línia 213: | Línia 213: | ||
\\ | \\ | ||
- | ===== Segueix el curs bàsic de PHP ===== | ||
- | Segueix el [[https:// | ||
- | |||
- | En particular, para atenció a la [[https:// | ||
- | |||
- | Fes la pràctica de la fórmula de resolució de l' | ||
- | |||
- | Tens referències interessants a les pàgines de W3Schools: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * Menció a part necessiten els diferents tipus d' | ||
- | |||
- | Un particular i útil [[https:// | ||
- | |||
- | \\ | ||
===== Estructures de dades ====== | ===== Estructures de dades ====== | ||
Línia 362: | Línia 347: | ||
- Utilitza l' | - Utilitza l' | ||
- Crea un array amb un submarí i mostra-ho al taulell. | - Crea un array amb un submarí i mostra-ho al taulell. | ||
- | * Raona quines opcions tens per definir aquest element i quina té més avantatges. | + | * Col·loca' |
* Comprova que funciona en horitzontal i vertical. | * Comprova que funciona en horitzontal i vertical. | ||
+ | * Comprova que no surt dels límits de la quadrícula. | ||
* L' | * L' | ||
- | - Crea un array amb un vaixell de cada tipus (fixe) i mostra-ho al taulell. | + | - Pensa en 2 maneres diferents per definir una partida sencera amb diversos vaixells i justifica pros i contres. En concret es recomana analitzar //array// de vaixells vs matriu de caselles. |
- | - Crea un array amb tota una **partida amb valors aleatoris**: | + | - Crea una matriu per a la partida |
+ | - Omple ara la matriu | ||
* Els vaixells han de tenir col·locació aleatòria, incloent que puguin estar en vertical o en horitzontal. | * Els vaixells han de tenir col·locació aleatòria, incloent que puguin estar en vertical o en horitzontal. | ||
* Comprova que cada cop que recarregueu el tauler et surt una partida diferent. | * Comprova que cada cop que recarregueu el tauler et surt una partida diferent. | ||
Línia 374: | Línia 361: | ||
* Evitar que es solapin els vaixells. | * Evitar que es solapin els vaixells. | ||
* Evitar que els vaixells es " | * Evitar que els vaixells es " | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Formularis, GET, POST i PHP ===== | ||
+ | |||
+ | Referències bàsiques a W3Schools: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Per comprovar si certes variables $_GET o $_POST ens arriben, es sol emprar la [[https:// | ||
+ | // codi a executar aquí... | ||
+ | }</ | ||
+ | |||
+ | |||
+ | Altres: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | <WRAP tip> | ||
+ | Vés a les [[https:// | ||
</ | </ | ||
Línia 379: | Línia 390: | ||
===== Arxius ===== | ===== Arxius ===== | ||
- | Si volem guardar dades en arxius en PHP, disposem de diverses funcions per a realitzar aquestes operacions: | + | Si volem guardar dades en arxius en PHP, disposem de diverses funcions per a realitzar aquestes operacions. |
+ | |||
+ | Funcions "a lo bèstia" | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | Funcions més " | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
Si volem guardar les dades d'un array, no tindrem prou amb aquestes funcions, ja que al guardar les dades d'un array les concatena totes juntes. | Si volem guardar les dades d'un array, no tindrem prou amb aquestes funcions, ja que al guardar les dades d'un array les concatena totes juntes. | ||
Línia 412: | Línia 432: | ||
Examina l' | Examina l' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Sessions ===== | ||
+ | Les sessions ens faciliten que cada usuari pugui disposar d'una àrea per emmagatzemar variables: la variable '' | ||
+ | |||
+ | Aquest mecanisme utilitza les //cookies// del navegador web per identificar l' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Més coses ===== | ||
+ | \\ | ||
+ | |||
+ | ==== Carregar imatges ==== | ||
+ | Aquí tens un [[https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Enviar emails ==== | ||
+ | |||
+ | Disposar d'un servidor d' | ||
+ | |||
+ | Disposem, al menys, de dos maneres de fer-ho: | ||
+ | - Tenint un **servidor d' | ||
+ | - Utilitzant les **llibreries '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === Opció 1: Servidor local === | ||
+ | És important que tinguem obert el port 25 de sortida. Tots els servidors de Cloud ho estan limitant per evitar spammers, i cal demanar un permís especial perquè funcioni. | ||
+ | |||
+ | Si disposem d' | ||
+ | |||
+ | Instal·lem postfix i mailutils: | ||
+ | $ sudo apt install postfix mailutils | ||
+ | |||
+ | Chequejem la instal·lació enviant un email: | ||
+ | $ mail [email protected] | ||
+ | Cc: | ||
+ | Subject: prova de correu | ||
+ | aqui poso el text de l' | ||
+ | pot tenir diverses línies | ||
+ | acabem l' | ||
+ | |||
+ | ...i s' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | === Opció 2: libs PHPMailer === | ||
+ | Amb aquesta llibreria podem enviar mitjançant un servidor extern (caldran credencials). | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | <WRAP todo> | ||
+ | Utilitza el tutorial indicat més amunt per enviar un email. Fes un formulari que permeti ajustar destinatari, | ||
+ | |||
+ | Per carregar les llibreries al vostre codi cal canviar els '' | ||
+ | require " | ||
+ | |||
+ | <WRAP important> | ||
+ | **Utilitza l' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | \\ | ||