Home | Search | Help  
Home Page Università di Genova

Esercitazione 6

In questa esercitazione dovete interagire con il server MySQL.

Se non lo avete ancora fatto, verificate se il vostro utente MySQL funziona.

Si presenta una schermata di phpmyadmin dove dovete salvare un database con lo stesso nome del vostro utente MySQL. A questo punto potete creare, cancellare, modificare le tabelle del database appena creato.

Nota: perchè tutto funzioni dovete abilitare SSL nel browser.





Esercizio: accesso ad un database via web
Se non ricordate le funzioni PHP per l'interazione con MySQL potete guardare i sorgenti degli esempi della lezione Introduzione a MySQL.

  1. Create nel vostro database una tabella studenti. Per ogni studente memorizzate idstud, nome, cognome, recapito, matricola, login, password, attivo (all'inizio i campi indirizzo, login, password e attivo saranno vuoti oppure avranno un valore di default che dovete scegliere durante la creazione della tabella). Il campo attivo serve per decidere se un login è abilitato oppure no; potete scegliere un tipo intero cui associare solo due valori (ad esempio 0=non attivo, 1=attivo).

    PS: in laboratorio mi sono accorta che nella tabella studenti si potrebbe evitare di inserire il campo idstud perchè basta il numero di matricola (o, viceversa, potete usare idstud e non memorizzare il numero di matricola).

  2. Scrivete un programma PHP che genera dinamicamente un menu come quello nella Figura 1 che contiene l'elenco degli studenti presenti nel database, ordinati per cognome.
    Qui trovate l'esempio di generazione dinamica di un menu vista a lezione.





    Figura1




  3. Selezionando uno studente e premendo il pulsante Continua deve essere generato un modulo simile a quello in Figura 2 che contiene le informazioni già presenti nel database (non modificabili) e permette di aggiungere quelle mancanti.



  4. Premendo Modifica si devono aggiornare i dati nel database.





    Figura2




Nota1: la prima volta che si assegna il login ad uno studente, i campi di input del modulo dovranno contenere la voce non disponibile. Per le modifiche successive dovranno comparire i dati già presenti nel database. Questo si può ottenere:
  1. Cercando nel database i dati dello studente selezionato;
  2. Generando gli elementi di input del modulo con un attributo value inizializzato con il valore contenuto nel database oppure con non disponibile.

    Se $row["login"] contiene il login dello studente selezionato si potrebbe scrivere qualcosa di simile:
    	if ($row["login"]=="") 
    		$valore = "non disponibile";
    	else 
    		$valore = $row["login"]';
    
    	echo "<input type='text' name='login' size='30' maxlength='50' ";
    	echo "value='" . $valore. "'>";
    


    Naturalmente, se decidete di usare come valori di default per gli attributi non obbligatori la stringa non disponibile il codice precedente si semplifica molto perchè non serve fare il test sul valore nullo.


Nota2: attenzione ai controlli sull'input!

Nota3: a far le cose per bene, si dovrebbero prevedere due campi per la password e fare il controllo sull'uguaglianza dei dati forniti in input. Inoltre, nel modulo si dovrebbe usare
	<input type='password' name='password' .... >
per evitare di riprodurre a video la password in chiaro!


vai alla lezione precedente
torna alla prima pagina del corso
vai alla prossima lezione