Activitats
Activitat 3: Treballar amb dates
Crea un fitxer anomenat dates.php i realitza les següents tasques:
- Mostra la data i hora actuals amb el format:
dd/mm/yyyy hh:mm:ss
- Mostra el nom de la zona horària que s'utilitza per defecte.
- Mostra la data de que serà d’ací 45 dies.
- Mostra el nombre de dies que han passat des de l'1 de gener.
- Mostra la data i hora actuals de Nova York.
- Mostra el dia de la setmana que era l'1 de gener d'enguany.
En acabar penja el document a Aules.
Activitat 4
200dadesPersonals.php
: Escriu un programa que emmagatzeme en variables teu nom, primer cognom, segon cognom, email, any de naixement i telèfon. Després mostra'ls per pantalla dins d'una taula.
Nom | Bruce | |
Cognoms | Wayne | |
batman@dccomics.com | ||
Any de naixement | 1939 | |
Telèfon | 555666777 |
206anyos.php
: Després de llegir l'edat d'una persona, mostrar l'edat que tindrà d'aquí a 10 anys i fa 10 anys. A més, mostra quin any serà en cada un dels casos. Finalment, mostra l'any de jubilació suposant que treballaràs fins als 65 anys.
Tip: $anyoActual = date("Y")
;
Cadenes
-
221Cadenes.php
: Copia el contingut de la pàginaindex.php
, activa la directiva de tipus estricta (declare( strict_types = 1 );
) i mostra el següent:- Elimina els espais del principi i el final del nom si els hi haguera (trim).
- Elimina la lletra a del principi i el final del nom si els hi haguera (trim).
- Mostra la variable nom en majúscules, minúscules i amb la primera lletra en majúscula i les altres en minúscules (strtoupper, strtolower, ucfirst).
- Mostra el codi ascii de la primera lletra del nom (ord).
- Mostra la longitud del nom (strlen).
- Mostra el nombre de vegades que apareix la lletra a (majúscula o minúscula, substr_count).
- Mostra la posició de la primera
a
existent en el nom, siga majúscula o minúscula (strpos). Si no hi ha cap mostrarà -1. - El mateix, però amb l''última a.
- Mostra el nom substituint la lletr o pel número zero, siga majúscula o minúscula (str_replace).
- Indica si el nom comença per
al
o no.
-
222Cadenes.php
: En el mateix documentcadenes.php
i a partir d'una variable que continga una url:
Utilitza la funció$url='http://username:password@hostname:9090/path?arg=value#anchor';
parse_url
per a extraure de la url les següents parts:
1. El protocol utilitzat (en l'exemple "http").
2. El nom d'usuari (en l'exemple "username"). 3. El path de la url (en l'exemple "/path"). 4. El querystring de la url (en l'exemple "arg=value").
Arrays indexats
-
231Arrays.php
: Crea una pàgina, copia el contingut de la pàginaindex.php
i resol els exercicis següents utilitzant funcions d'arrays:- Crea un array amb els noms de diversos alumnes de la classe incloent el teu.
- Mostra el nombre d'elements que té l'array (count).
- Crea una cadena de text que continga els noms dels alumnes existents en l'array separats per un espai i mostra-la (implode).
- Mostra l'array en un ordre aleatori diferent al que ho vas crear (shuffle).
- Mostra l'array ordenat alfabèticament (sort).
- Mostra els alumnes el nom dels quals continga almenys una “a” (array_filter).
- Mostra l'array en l'ordre invers al que es va crear (rsort).
- Mostra la posició que té el teu nom en l'array (array_search).
-
232Ciutats.php
: Segons l'INE les 7 ciutats més grans d’Espanya (per habitants) el 2018 van ser les següents:- Madrid, MAD, 3.223.334
- Sevilla, AN , 688.711
- Murcia, MU, 447.182
- Málaga, AN, 571.026
- Zaragoza, AR, 666.880
- València, CV, 791.413
- Barcelona, CAT, 1.620.343
Copia
index.php
i crea un nou documentcituats.php
. Defineix un array que continga aquesta informació sobre ciutats i habitants. Imprimeix una taula d'ubicacions i habitants que incloga la població total de les 7 ciutats.Opcional: Modifica la solució de l’anterior exercici perquè mostre les ciutats ordenades per habitants. Després mostra-les per ordre alfabètic.
Arrays multidimensionals
-
233Alumnes.php
: Resol els exercicis següents utilitzant funcions d'arrays:- Crea un array d'alumnes on cada element siga un altre array que continga nom i edat de l'alumne.
- Crea una taula HTML en la qual es mostren totes les dades dels alumnes.
- Utilitza la funció
array_column
per a obtenir un array indexat que continga únicament els noms dels alumnes i mostra’ls per pantalla. - Crea un array amb 10 números i utilitza la funció
array_sum
per a obtenir la suma dels 10 nombres. - Sense usar bucles for calcula la mitjana d'edat de l'alumnat.
-
234CiutatsOpcional.php
: Modifica la solució del exerciciciutats.php
perquè la taula continga també la columna del total d’habitants de la comunitat autònoma de les ciutats de la llista i el percentatge sobre els habitants de la comunitat autònoma que representa.Per exemple:
Ciutat Habitants Habitats CA % sobre CA València 791.413 5.003.769 15.81% Pista: Caldrà modificar l'array
$ciutats
i convertir-lo en multidimensional. Les dades de comunitats autònomes hauran d'estar en un altre array.Dades: Municipis de España
Funcions
-
241funcions.php
: Escriu una funció per retornar una etiqueta HTML<img />
.La funció hauria d’acceptar com a argument obligatori l’URL de la imatge i arguments opcionals per a un text alternatiu, alçada i amplada.
-
242funcions.php
: Copieu la funció de l’exercici anterior i modifiqueu-la de manera que només es passe el nom de fitxer a la funció en lloc de l’URL completa. Dins de la funció, farem ús d’una variable global per fer l’URL completa.Per exemple, si passem
photo.png
a la funció, i la variable global conté/images
, llavors l’atributsrc
de l'etiqueta retornada serà/images/photo.png
.Una funció com aquesta és una forma senzilla de mantenir correctes les vostres etiquetes d’imatges, fins i tot si les imatges es mouen a un nou camí o servidor. Només cal canviar la variable global, per exemple, de
/images
ahttp://images.example.com/.
-
243funciocolors.php
: Els colors web com#ffffff
i#cc3399
es realitzen concatenant els valors hexadecimals de color per a vermell, verd i blau.Escriu una funció que accepte 3 arguments: roig, verd i blau, i que retorne un string que conté el color adequat per utilitzar-lo en una pàgina web.
Per exemple, si els arguments són 255, 0, i 255, llavors la cadena retornada hauria de ser #FF00FF.
Pot resultar útil utilitzeu la funció
dechex()
integrada, que es troba documentada a http://www.php.net/Assegureu-vos que els paràmetres reben valors enters i que són colors vàlids.
Implementa 3 exemples d’ús.
-
244funcionsSQL.php
: Crea una funció anomenadainsert
que ens genere una sentència INSERT INTO en SQL.Per a açò la funció rebrà dos paràmetres:
1. El nom de la taula
2. Un array associatiu que contindrà els noms i valors dels camps de la taula.La sentència resultant tindrà la següent forma:
De moment, no farem res amb els valors dels camps.“INSERT INTO nom_taula (nom dels camps separats per comes) VALUES (noms dels camps separats per comes amb el caràcter “:” davant)
Ajuda: utilitza les funcions
sprintf
,implode
iarray_keys
-
245funcionsSQL2.php
: A partir de l'exercici anterior crea una altra funció que reba els mateixos paràmetres més un paràmetre booleà per a indicar si volem generar la query amb els noms dels camps o no.El paràmetre tindrà el valor
true
per defecte.Si el seu valor és
true
generarà la consulta igual que en l'exercici anterior, però si ésfalse
la generarà així:INSERT INTO nom_taula VALUES (valors dels camps separats per comes amb el caràcter ‘:’ davant)
-
246funcionsSQLReferencia.php
: Repeteix l'exercici anterior amb els següents canvis:La cadena resultant es passarà per referència.
Passarem la cadena de la següent forma:
INSERT INTO taula (camps) VALUES (valors)
Dins de la funció substituirem el següent:
- El text taula pel nom de la taula.
- El text camps pels noms dels camps separats per comes
- El text valors pels noms dels camps separats per comes i el caràcter ‘:’ davant.
Formularis
-
261ExempleGet.php
: Crea una pàgina que reba com a paràmetre un nom i mostre el text ‘Benvingut [nom]!!!’ sent [nom] el nom has passat com a paràmetre. -
262Formulari.php
: Crea un formulari que tinga els següents camps:firstname
lastname
phone
email
En l'atribut
action
del formulari posarem el següent:<form action="262Formulari.php" .../>
Açò farà que siga la pròpia pàgina del formulari la que processe les dades del mateix.
En prémer
Enviar
han d'aparèixer sota el formulari les dades que s'han introduït en el mateix en format de taula. -
263FormulariReparat.php
: Soluciona el problema dels paràmetres no enviats de l'exercici anterior. -
264FormulariValidat.php
: Modifica l'exercici anterior realitzant les següents validacions:- Tots els camps són obligatoris.
firstname
, no pot superar els 25 caracters.lastname
, no pot superar els 50 caracters.phone
, ha de contenir 9 digits (expressió regular:^\d{9}$
).email
, ha de ser una adreça electrònica correcta.
S'avaluaran tots els camps i si hi ha error/s caldrà mostrar-lo/s. Si no hi ha errors es mostraran les dades introduïdes per l'usuari.
-
265FormulariOpcions.php
: Modifica l'exercici anterior afegint els següents camps al formulari:genre
: serà un radio button i podrà ser home, dona i no binari.hobbies
: serà un checkbox amb aficions de la que podràs triar-ne més d'una:- Lectura
- Programació
- Ciclisme
- Running
- ...
contact-time
: serà una llista de les millores hores per a contactar:- Primera hora (08:00 a 10:00)
- Abans de dinar (12:00 a 13:00)
- Després de dinar (14:00 a 16:00)
- Per la nit (20:00 a 22:00)
En els tres casos són obligatoris, s'ha de mantindre el valor en cas de ser correcte .
-
266FormulariArray
: Modifica l'exercici anterior de forma que el contingut dels camps de selecció es genere dinàmicament des d'arrays associatius. A més, els valors rebuts s'haurien de validar contra l'array i mostrar-se fent és d'ell.
Inclusió de fitxers
-
271Formulari.php
: Basant-te en l'activitat264FormulariValidat.php
modifica les validacions perquè es facen mitjançant funcions.Les funcions es guardaran en el fitxer
helpers.php
i s'hauran d'incloure en fitxer271Formulari.php
. -
272Formulari.php
: Basant-te en l'activitat271Formulari.php
separa la part de codi de la presentació de forma que tota la lògica estiga en un fitxer i la part de presentació en altre fitxer271Formulari.view.php
.
Pujada de fitxers
281FormularImatge.php
: Modifica l'activitat272Formulari.php
afegint un camp de tipusFILE
per a pujar una imatge al servidor. Es guardarà en la carpetauploads
i es mostrarà amb la resta de dades.282FormulariImage.php
: Modifica l'activitat anterior de forma que es controle el següent:- Les imatges sols podran ser
jpg
. - No podran superar 1MB de grandària
- Es guardaran en un nom aleatori únic.
- Les imatges sols podran ser
Crèdits
- Aitor Medrano. (setembre de 2021) Desarrollo Web en Entorno Servidor disponible en: https://aitor-medrano.github.io/dwes2122/index.html