Ciao , sono nuovo del forum e non faccio il programmatore . Ho una pagina nuovoallievo.php che dopo l'inserimento in un input 'cf' delform tramite javascript controlla l'esattezza del codice fiscale se il risultato è corretto tramite $.ajax chiamo una pagina cf.php che controlla se il codice fiscale è già presente nel database , se il codice fiscale non è presente continua con il form nella pagina nuovoallievo.php , e fin qui tutto ok , il mio problema e che se il codice fiscale e' già presente nel database dovrei aprire un altra pagina allievo1.php , ma a questo punto mi stampa i risultati della pagina allievo1.php nella pagina nuovoallievo.php e questo che vorrei evitare quindi secondo me il problema sta nella chiamata $.ajax che dovrebbe essere fatta in altro modo.
codice nuovoallievo.php
codice cf.php
grazie anticipatamente
codice nuovoallievo.php
Codice:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>NUOVO ALLIEVO</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<meta charset="UTF-8">
<script src="./jquery/jquery-3.1.1.min.js"></script>
</head>
<body>
<script language="javascript">
function validaCf(v)
{
var cf=v.value;
if(validaCodiceFiscale(cf)==true)
{
$(document).ready(function() {
var cf =$("#cf").val();
$.ajax({
url:("./cf.php"),
method:"POST",
data : {cf:cf},
success:function(data){
$("#risposta").html(data); // il mio problema credo che sia questo ho provato anche a togliere success: ma non fa nulla
}
});
});
}
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" // qua parte il controllo del codice fiscale
</div>
....
codice 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:allievo1.php');
}
?>
grazie anticipatamente