Salve a tutti avrei un problema... sto provando a risolvere questo esercizio... ma la confusione è troppa ... qualcuno potrebbe aiutarmi... grazie!!!
<<Si vuole costruire un parser composto da un client (in javascript) ed un server (in PHP).
Il server PHP deve elaborare dei dati in formato CSV memorizzati nel file “studenti.csv”,
aventi questa struttura:
nome, cognome, data-di-nascita, matricola, corso-di-laurea
nome, cognome, matricola sono campi alfanumerici di massimo 16 caratteri.
Il corso-di-laurea può essere di 2 tipi: “Triennale”, “Magistrale”. data-di-nascita è nel formato GG-MM-AAAA.
Il client javascript deve richiedere questi dati attraverso una chiamata AJAX, che deve fornire il
nome del file da elaborare.
Il contenuto dei campi, dopo essere stato validato, deve essere incluso in un JSON di ritorno,
secondo il seguente formato:
{"results": [[nome, cognome, data-di-nascita, matricola, corso-di-laurea], ....]}
I dati così ottenuti vanno inclusi all'interno di 2 tabelle, in base al corso-di-laurea, e
successivamente ordinati in base alla matricola.>>
ecco il mio lavoro fino ad ora da rivedere...
<?php
function leggi_cvs ($filepath)
{ $filepath= 'studenti.cvs';
$rowlength=6;
$row= array();
if (($handle=fopen("$filepath", "r")) !== FALSE)
while (($row=fgetcvs($handle)) !== FALSE)
{ for ($i=0; $i<$rowlength; $i++
{$rows[]= $row;}
}
fclose($handle);}
return $rows;}
function validate_cvs ($rows)
{ return prev_match ("/^[a-z0-9]{0,16}$/i", //stringhe da 0 a 16 caratteri alfanumeric
"/^[a-z0-9]{0,16}$/i",
"/^[a-z0-9]{0,16}$/i",
"/^[a-z0-9]{0,16}$/i",
"/\bBasic\b|\bNormal\b|\bFull\b/", //sole stringhe Basic, Normal, Full "/^(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\d\d$/", //stringhe del tipo dd-mm-aaaa
)
echo '{"results":'.json_encode($rows).'}';
php?>;}
qualcuno potrebbe correggere gli errori ??? grazie...