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 [2025/09/23 14:08] (actual) enric_mieza_sanchez [Servidor intern PHP] |
||
|---|---|---|---|
| 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 143: | Línia 143: | ||
| $ echo "< | $ echo "< | ||
| $ php -S 0:8080 | $ php -S 0:8080 | ||
| - | [Thu Sep 9 16:45:10 2021] PHP 7.4.9 Development Server (http://0:8081) started | + | [Thu Sep 9 16:45:10 2021] PHP 7.4.9 Development Server (http://0:8080) started |
| ... | ... | ||
| 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 323: | Línia 308: | ||
| <sxh php> | <sxh php> | ||
| + | php > $sons[" | ||
| php > var_dump($sons); | php > var_dump($sons); | ||
| array(3) { | array(3) { | ||
| Línia 362: | Línia 348: | ||
| - 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 362: | ||
| * 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 391: | ||
| ===== 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 433: | ||
| 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:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | ===== Carregar imatges ===== | ||
| + | Aquí tens un [[https:// | ||
| + | |||
| + | També es poden [[https:// | ||
| + | |||
| + | <WRAP todo> | ||
| + | - Implementa una pàgina de càrrega d' | ||
| + | - Visualitza les imatges carregades. | ||
| + | - Afegeix un camp de descripció per a la imatge. Les imatges s'han de mostrar amb la seva descripció al costat o a sota. | ||
| + | - Arranja-ho perquè permeti la càrrega de vídeos.< | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Enviar emails ===== | ||
| + | |||
| + | Disposar d'un servidor d' | ||
| + | |||
| + | Disposem, al menys, de dos maneres de fer-ho: | ||
| + | - Tenint un **servidor d' | ||
| + | - Utilitzant la [[https:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== Opció 1: des d'un servidor ==== | ||
| + | En aquesta modalitat enviarem l' | ||
| + | |||
| + | És important que tinguem obert el port 25 de sortida. Tots els servidors de Cloud ho estan limitant per evitar // | ||
| + | |||
| + | 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: PHPMailer lib ==== | ||
| + | Amb la [[https:// | ||
| + | |||
| + | - **Utilitza les " | ||
| + | - Entrar al compte de Gmail, " | ||
| + | - Activar el doble factor d' | ||
| + | - Anar a la secció " | ||
| + | - Instal·lar el [[https:// | ||
| + | * Si estàs en GNU/Linux es recomana instal·lar l' | ||
| + | - Seguir la [[https:// | ||
| + | |||
| + | |||
| + | <WRAP todo> | ||
| + | Fes un formulari que permeti enviar un email ajustant destinatari, | ||
| + | |||
| + | Recorda emprar la [[https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | \\ | ||