Post

Visualizzazione dei post con l'etichetta Corso di PHP

Context engineering

Immagine
  Negli ultimi mesi, chi lavora con i modelli linguistici ha iniziato a notare uno spostamento sottile ma significativo: il problema non è più cosa scrivere nel prompt , ma cosa mettere nel contesto . È la differenza tra dare un'istruzione ben formulata e costruire l'intero ambiente informativo in cui un modello deve operare — memoria, strumenti, cronologia, vincoli, stato del sistema. Si parla ormai apertamente di context engineering come disciplina distinta dal prompt engineering, e la distinzione non è solo terminologica. 🔹 1. Il prompt come istruzione, il contesto come ambiente Un prompt ben scritto ottimizza una singola interazione. Il contesto, invece, è tutto ciò che il modello "vede" prima di rispondere: documenti recuperati, risultati di strumenti, conversazioni pregresse, regole di sistema, persino la cronologia di errori già commessi in quella sessione. Con l'adozione crescente di agenti che lavorano su compiti lunghi — scrivere codice, orchestrare...

Corso di PHP: 11 – Sicurezza e Best Practices

Immagine
11 Sicurezza e Best Practices Obiettivi didattici Conoscere gli attacchi web più comuni (SQL Injection, XSS, CSRF, ecc.). Imparare le contromisure pratiche: prepared statements, escaping, hashing delle password, protezione delle sessioni. Applicare best practice di organizzazione del codice, gestione degli errori e politiche di privilegio. Esercizio pratico: progettare un form di login sicuro con suggerimenti implementativi. 1) Panorama delle vulnerabilità web più comuni SQL Injection Descrizione: l’attaccante inserisce frammenti SQL in input non filtrati per alterare una query (es. bypassare login, estrarre tabelle). Esempio concettuale: se si costruisce la query concatenando l’input utente: "SELECT * FROM users WHERE username = '" + user + "' AND password = '" + pass + "'" un input malizioso può chiudere la stringa e iniettare comandi. Impatto: perdita o esposizione di dati, compromissione del DB, escalation di privi...

Corso di PHP: 10 – PHP e Database (MySQL)

Immagine
10 – PHP e Database (MySQL) Obiettivi Comprendere i fondamenti dei database relazionali. Collegare PHP a un database MySQL. Eseguire query SQL di base per gestire dati. Creare un’applicazione web che utilizza un database per la persistenza. Contenuti 🔹 Introduzione a MySQL e phpMyAdmin MySQL è un DBMS relazionale molto diffuso per applicazioni web. I dati sono organizzati in tabelle composte da righe (record) e colonne (campi). phpMyAdmin è un’interfaccia grafica web che permette di gestire facilmente database, tabelle e query. Comandi principali in SQL: CREATE DATABASE nome; → crea un nuovo database. CREATE TABLE utenti (...); → crea una tabella. 🔹 Connessione al Database con PHP Esistono due principali approcci: mysqli (MySQL Improved) <?php $host = "localhost"; $user = "root"; $pass = ""; $dbname = "rubrica"; // Connessione procedurale $conn = mysqli_connect($host, $user, $pass, $dbna...

Corso di PHP: 9 – Gestione Sessioni e Cookie

Immagine
9 – Gestione Sessioni e Cookie Obiettivo didattico Capire la differenza tra sessioni e cookie, imparare a creare e gestire sessioni in PHP, usare cookie per persistenza lato client, e mettere in pratica il tutto con un esercizio: implementare un carrello e-commerce semplificato. 1) Differenza tra sessioni e cookie — concetto chiave Cookie Piccoli file (coppie chiave/valore) memorizzati dal browser sul computer dell’utente. Sono inviati automaticamente al server ad ogni richiesta verso il dominio che li ha impostati. Sono utili per persistenza lato client: preferenze tema, tracking, ricordami. Limitazioni: dimensione limitata (~4 KB per cookie, limite totale per dominio variabile), visibili al client (quindi sensibili al furto/modifica se non protetti). Sessione Dati memorizzati sul server associati a un identificatore (session id) che il client porta con sé, solitamente tramite un cookie di sessione. Il server mantiene lo stato (es. dati di login, carrello...

Corso di PHP: 8 – Programmazione a Oggetti (OOP) in PHP

Immagine
8 – Programmazione a Oggetti (OOP) in PHP Introduzione La programmazione a oggetti (OOP) è un paradigma che consente di organizzare il codice in modo più modulare, riutilizzabile e leggibile. PHP supporta pienamente l’OOP a partire dalla versione 5, rendendolo uno strumento potente non solo per siti web semplici, ma anche per applicazioni complesse. Concetti chiave: Classe → un modello, una struttura che definisce proprietà e metodi. Oggetto → un’istanza concreta di una classe. Proprietà → variabili appartenenti alla classe. Metodi → funzioni che appartengono alla classe. Classi e Oggetti Una classe può essere vista come il progetto di un edificio, mentre l’ oggetto è l’edificio costruito secondo quel progetto. Dichiarare una classe significa definire il comportamento e le caratteristiche. Creare un oggetto significa avere una copia concreta che può essere utilizzata. Esempio concettuale: Classe: “Automobile” (ha proprietà come colore, marca, mode...

Corso di PHP: 7 – Stringhe e File

Immagine
7 – Stringhe e File Introduzione La gestione delle stringhe e dei file è una parte fondamentale della programmazione in PHP. Le stringhe sono alla base dell’elaborazione di testi, dati e contenuti web, mentre i file permettono di salvare e recuperare informazioni persistenti. In questo modulo vedremo le principali funzioni di manipolazione delle stringhe, la gestione dei file e l’upload da parte dell’utente. Funzioni di manipolazione stringhe PHP fornisce numerose funzioni per lavorare con le stringhe. Tra le più utilizzate troviamo: strlen($stringa) → restituisce la lunghezza della stringa. Esempio: strlen("ciao") restituisce 4. str_replace($cerca, $sostituisci, $stringa) → sostituisce tutte le occorrenze di una parola o carattere. Esempio: str_replace("cane", "gatto", "Il cane corre") diventa "Il gatto corre" . explode($delimitatore, $stringa) → suddivide una stringa in un array in base a un delimitatore...

Corso di PHP: 6 – Form e Interazione con l’Utente

Immagine
6 – Form e Interazione con l’Utente Introduzione Uno degli aspetti fondamentali nello sviluppo web con PHP è la gestione dei form HTML , che consentono l’interazione diretta con l’utente. Un form può raccogliere dati (testo, numeri, password, scelte multiple, file, ecc.) e inviarli al server, dove PHP si occupa di elaborarli, salvarli o restituire risposte personalizzate. La comunicazione avviene principalmente tramite i metodi HTTP GET e POST , che determinano come i dati vengono trasmessi. Recupero dati con $_GET e $_POST $_GET I dati vengono passati tramite la URL . È utile per operazioni semplici, come filtri, ricerche, navigazione con parametri. Esempio: pagina.php?nome=Mario&età=25 Vantaggio: i dati sono visibili e condivisibili tramite link. Svantaggio: non adatto a dati sensibili (password, informazioni private). $_POST I dati vengono inviati nel corpo della richiesta HTTP. Più sicuro e usato per login, registrazioni, inserimento dati comp...

Corso di PHP: 5 – Array e Manipolazione Dati

Immagine
5 – Array e Manipolazione Dati Array in PHP: Array indicizzati : usano chiavi numeriche (0,1,2...) Array associativi : usano chiavi testuali (es. "nome" => "Mario") Array multidimensionali : array che contengono altri array // Array indicizzato $frutti = ["Mela", "Banana", "Arancia"]; // Array associativo $persona = [ "nome" => "Luca", "eta" => 25, "citta" => "Roma" ]; // Array multidimensionale $classe = [ ["nome" => "Anna", "voto" => 28], ["nome" => "Paolo", "voto" => 30], ["nome" => "Sara", "voto" => 27] ]; Funzioni utili sugli array: count() : restituisce la lunghezza di un array array_merge() : unisce due o più array sort() : ordina un array in ordine crescente in_array() : verifica se un valore è presente ...

Corso di PHP: 4 – Funzioni in PHP

Immagine
4 – Funzioni in PHP 1. Definizione e richiamo di funzioni Una funzione è un blocco di codice che svolge un compito preciso e può essere riutilizzato più volte. Sintassi generale: <?php function nomeFunzione() { // codice da eseguire } nomeFunzione(); // richiamo della funzione ?> Esempio: <?php function saluto() { echo "Ciao, benvenuto in PHP!"; } saluto(); ?> 2. Parametri e valori di ritorno Le funzioni possono ricevere parametri e restituire un valore tramite return . Esempio con somma: <?php function somma($a, $b) { return $a + $b; } $risultato = somma(5, 3); echo "La somma è: " . $risultato; ?> Se una funzione non ha return , esegue il codice ma non restituisce nulla. 3. Variabili globali e locali Locali → esistono solo dentro la funzione. Globali → definite fuori, accessibili solo con la parola chiave global . <?php $messaggio = "Ciao mondo!"; // variabile globale function ...

Corso di PHP: 3 – Strutture di Controllo

Immagine
3 – Strutture di Controllo Obiettivi Comprendere le strutture condizionali ( if , elseif , else , switch-case ). Usare i cicli ( for , while , foreach ). Applicare le strutture di controllo in un esercizio pratico: generare una tabellina pitagorica con PHP. 1. Condizioni: if, elseif, else Le condizioni permettono di eseguire blocchi di codice in base a espressioni logiche. <?php $eta = 20; if ($eta < 18) { echo "Sei minorenne."; } elseif ($eta >= 18 && $eta < 65) { echo "Sei maggiorenne."; } else { echo "Sei pensionato."; } ?> 2. Switch-case Utile quando si devono confrontare valori discreti di una variabile. <?php $giorno = "lunedi"; switch ($giorno) { case "lunedi": echo "Oggi è lunedì."; break; case "martedi": echo "Oggi è martedì."; break; case "mercoledi": echo "Oggi è mercole...

Corso di PHP: 2 – Sintassi e Variabili

Immagine
2 — Sintassi e variabili in PHP Obiettivo del modulo. Fornire una conoscenza esaustiva della sintassi di base di PHP, del modello di variabili e tipi, delle costanti e degli operatori, con esempi pronti all’uso e un esercizio guidato (calcolo area e perimetro di un rettangolo) implementato in più varianti (script semplice, form web, CLI, versione “robusta” con validazione e test). Indice Struttura base di un file PHP Tag PHP e integrazione HTML Modalità di esecuzione (CLI / server integrato / server web) Direttive utili per sviluppo (error reporting, display_errors) Variabili: binding, naming, scope Tipi di dato in PHP (primitivi e compound) Type juggling, casting esplicito e declare(strict_types=1) Costanti: const vs define() Operatori (aritmetici, confronto, logici, stringa, bitwise, null coalescing, spaceship, ecc.) Stringhe: concatenazione, interpolazione, heredoc/nowdoc Superglobals e input (sicurezza e validazione) Buone pratiche e anti-pa...

Post popolari in questo blog

Corso di Programmazione Strutturata e OOP: 3 Ereditarietà incapsulamento polimorfismo

Corso di CSS & Web Design: 3 – Box Model e spaziature

Corso di CSS & Web Design: 7 – Responsive Design