Ciao sono nuovo del forum e anche neofita , ho una pagina nuovoallievo.php che dopo l'inserimento di un parametro codice fiscale in una input di un form onblur fa tramite codice javascript un controllo del codice fiscale se la funzione return true tramite una chiamata j.ajax su una pagina cf.php controlla se il codice fiscale è gia' inserito nel database , se il codice fiscale non e' presente continua con l'inserimento di altri campi nel form iniziale e fin qui tutto bene altrimenti e qui mi sono bloccato deve aprire un altra pagina allievo.php mandandogli come variabile un parametro della query
questa e' una parte del codice nuovoallievo.php
questo è il codice della pagina cf.php
questa e' una parte del codice nuovoallievo.php
Codice:
<script language="javascript">
function validaCf(v) // controllo del codice fiscale
{
var cf=v.value;
if(validaCodiceFiscale(cf)==true)
{
$(document).ready(function() { // chiamata j.ajax alla pagina e funziona perfettamente
var cf =$("#cf").val();
$.ajax({
url:("./cf.php"),
method:"POST",
data : {cf:cf},
});
});
}
else
{
alert('Codice Fiscale '+v.value+' non valido!');
}
}
function validaCodiceFiscale(cf)
{
var validi, i, s, set1, set2, setpari, setdisp;
if( cf == '' ) return '';
cf = cf.toUpperCase();
if( cf.length != 16 )
return false;
validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for( i = 0; i < 16; i++ ){
if( validi.indexOf( cf.charAt(i) ) == -1 )
return false;
}
set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
s = 0;
for( i = 1; i <= 13; i += 2 )
s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
for( i = 0; i <= 14; i += 2 )
s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
return false;
return true;
}
</script>
<form method="POST" name="NUOVOALLIEVO" >
<div class="DATI"><h1>NUOVO ALLIEVO</h1>
<div id="DATIPRINCIPALI">
COGNOME <input type="text" id= "cognome" name="cognome" maxlength ="50" size ="30" required />
NOME <input type="text" id="nome" name="nome" maxlength ="30" size ="50" required />
CODICE FISCALE <input onblur="javascript:validaCf(cf)"type="text" id ="cf" name="cf" maxlength="16" size="16" />
</div>
questo è il codice della pagina cf.php
Codice:
<?php
session_start();
require_once ("scuolacalcio.php");
$cf=$_POST['cf'];
$query = "
SELECT *
FROM allievo
WHERE CF =:cf
";
$check = $pdo->prepare($query);
$check->bindParam(':cf', $cf, PDO::PARAM_STR);
$check->execute();
$persona = $check->fetch(PDO::FETCH_ASSOC);
if(empty($persona)==false){
$id=$persona['IDALLIEVO'];
$_SESSION['id']=$id;
header('location:allievo.php') ; // il problema è qui mi stampa la pagina allievo.php nella pagina nuovoallievo.php
// mentre io vorrei aprire direttamente la pagina allievo.php
}
?>
Ultima modifica: