Ciao a tutti,
questa mattina mi serviva verificare un codice fiscale e trovato in rete un ottimo script : http://www.icosaedro.it/cf-pi/index.html
Dopodichè mi sono messo a cercarne uno per generarli.
Alla fine ho preferito scriverlo.
Ho creato due pagine:
calcolocf.php // contiene il form per l'inserimento dei dati
calcolo_cf_class.php // contiene i metodi per calcolare il codice fiscale
Per funzionare ha bisogno di una tabella mysql che io ho chiamato listacomuni
L'ho generata da un file di testo che potete trovare a questo indirizzo http://lab.comuni-italiani.it/download/comuni.html
Al momento non saprei come farvi avere il file sql che ho creato.
Sicuramente lo script non è perfetto nel senso che alcune eccezioni probabilmente non riuscirà a risolverle, in
più non ho considerato i nati all'estero ma può essere implementato e ottimizzato.
Per ora lo posto così com'è. Può essere un buon punto di partenza. Si accettano consigli e modifiche.
calcolocf.php
Ho dimenticato il titolo
questa mattina mi serviva verificare un codice fiscale e trovato in rete un ottimo script : http://www.icosaedro.it/cf-pi/index.html
Dopodichè mi sono messo a cercarne uno per generarli.
Alla fine ho preferito scriverlo.
Ho creato due pagine:
calcolocf.php // contiene il form per l'inserimento dei dati
calcolo_cf_class.php // contiene i metodi per calcolare il codice fiscale
Per funzionare ha bisogno di una tabella mysql che io ho chiamato listacomuni
L'ho generata da un file di testo che potete trovare a questo indirizzo http://lab.comuni-italiani.it/download/comuni.html
Al momento non saprei come farvi avere il file sql che ho creato.
Sicuramente lo script non è perfetto nel senso che alcune eccezioni probabilmente non riuscirà a risolverle, in
più non ho considerato i nati all'estero ma può essere implementato e ottimizzato.
Per ora lo posto così com'è. Può essere un buon punto di partenza. Si accettano consigli e modifiche.
calcolocf.php
PHP:
<?php
//Richiamo il file che contiene la classe
require_once 'calcolo_cf_class.php';
//Creo un'istanza della classe
$cf_calc = new Calcolo_CF();
//Questa variabile conterrà il codice fiscale calcolato o i messaggi per l'utente
$codice_fiscale = "Compila i campi del form";
//Creo un array per i mesi dell'anno
$mesi = array(1, "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre");
//Controllo se è stato inviato il form
if (isset($_POST['calcola'])) {
//Verifico che nessun post sia vuoto
$campivuoti = 0;
foreach ($_POST as $value) {
if (empty($value)) {
$campivuoti++;
$codice_fiscale = "Tutti i campi sono obbligatori";
}
}
//Assegno i valori dei post
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$giorno = $_POST['giorno'];
$mese = $_POST['mese'];
$anno = $_POST['anno'];
$nascita = $anno . "-" . $mese . "-" . $giorno;
$comune = $_POST['comune'];
$sesso = $_POST['sesso'];
if ($campivuoti == 0) {
//Richiamo il metodo
$codice_fiscale = $cf_calc->calcolacf($nome, $cognome, $nascita, $comune, $sesso);
}
}
?>
<!-- Un po di css -->
<style type="text/css">
table td {
text-align: left;
text-indent: 5px;
}
td.et {
width:120px;
text-align: right;
padding-right:4px;
}
td.right {
text-align: right;
}
</style>
<!-- Form inserimento dati -->
<table>
<form action="calcolocf.php" method="post">
<tr>
<td class="et">Codice Fiscale : </td>
<td><b><?php echo $codice_fiscale; ?></b></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td class="et">Nome :</td>
<td><input type ="text" name="nome" value="<?php if (isset($_POST['nome']))
echo $_POST['nome'] ?>"/></td>
</tr>
<tr>
<td class="et">Cognome : </td>
<td><input type ="text" name="cognome" value="<?php if (isset($_POST['cognome']))
echo $_POST['cognome'] ?>"/></<td>
</tr>
<tr>
<td class="et">Data di nascita: </td>
<td><select name="giorno">
<?php
for ($i = 1; $i < 32; $i++) {
$i = str_pad($i, 2, '0', STR_PAD_LEFT);
echo "<option value='$i'";
if (isset($_POST['giorno']) && $_POST['giorno'] == $i) {
echo " selected='selected'";
}
echo ">$i</option>";
}
?>
</select>
<select name="mese">
<?php
for ($i = 1; $i < 13; $i++) {
echo "<option value='$i'";
if (isset($_POST['mese']) && $_POST['mese'] == $i) {
echo " selected='selected'";
}
echo ">$mesi[$i]\n";
}
?>
</select>
<select name="anno">
<?php
for ($i = 1900; $i <= date('Y'); $i++) {
echo "<option value='$i'";
if (isset($_POST['anno']) && $_POST['anno'] == $i || $i == 1970) {
echo " selected='selected'";
}
echo ">$i</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td class="et">Luogo di nascita: </<td>
<td>
<?php
$conn = mysql_connect('localhost', 'root', '', 'newcriric');
$db = mysql_select_db('newcriric', $conn);
/*
* La tabella comuni è stata generata da un file di testo presente a questo indirizzo
* http://lab.comuni-italiani.it/download/comuni.html
* I dati sono separati da ";" (punto e virgola).
* I campi presenti sono: Codice Istat; Nome Comune; Sigla Provincia; Sigla Regione;
* Prefisso Telefonico; CAP; Codice Catastale (codice fisco); Abitanti; Link Pagina Info
*/
$query = "SELECT codFisco,comune FROM listacomuni";
$result = mysql_query($query);
echo "<select name='comune'>";
echo "<option value=''></option>";
while ($row = mysql_fetch_assoc($result)) {
echo "<option value='" . $row['codFisco'] . "'";
if (isset($_POST['comune']) && $_POST['comune'] == $row['codFisco']) {
echo " selected='selected'";
}
echo ">" . $row['comune'] . "</option>\n";
}
echo "</select>";
mysql_close();
?>
</td>
</tr>
<tr>
<td class="et">Sesso: </td>
<td><select name="sesso">
<option value=""></option>
<option value="M"
<?php
if (isset($_POST['sesso']) && $_POST['sesso'] == "M") {
echo " selected='selected'";
}
?>
>M</option>
<option value="F"
<?php
if (isset($_POST['sesso']) && $_POST['sesso'] == "F") {
echo " selected='selected'";
}
?>
>F</option>
</select>
</td>
</tr>
<tr>
<td class="right" colspan="2"><input type="submit" name="calcola" value="Calcola"/></td>
</tr>
</form>
</table>
Ho dimenticato il titolo
Ultima modifica: