Bonjour tout le monde,
J'ai un problème pour appeler mon formulaire via javascript.
voici le code de mon form :
<form action="authentification.php" method="post" name="form1" target="_blank" id="form1">
Je fais ceci :
Mais j'obtiens une erreur que voici :
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLFormElement.submit]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame ::
http://localhost/login/Check_identifiants.js :: anonymous :: line 40" data: no]
[Break on this error] document.form1.submit();
J'utilise AJAX juste pour me retourner 0 ou 1 (1 si les identifiants sont correctes) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| function getXhr()
{
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
function check_identifiants(matricule,login,mdp)
{
//alert(Login);
//ici, on utlise de l'ajax sans écrire quoi que ce soit dans la page, on ne fait qu'appeler du php sans faire de refresh
//cette varaible récupere les 5 premiers caracteres du code de confirmation afin d'afficher que les 5 premiers caracteres (mesure de sécurité)
var xhr = getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
leretour = xhr.responseText;
alert(leretour);
if(leretour == 0)
{
document.getElementById('td_gif_identifiants_nok').innerHTML = '<img src="../Images/delete-user-icon.jpg" />';
document.getElementById('td_texte_identifiants_nok').innerHTML = 'identifiants incorrects !';
}
else //si les identifiants sont ok, je lance le formulaire
{
document.form1.submit();
}
}
}
//alert(categorie);
//j'appelle la page Update_Cloture.php pour mettre a jour la table cours (cloture)
xhr.open("POST","../Scripts/Utilisateur/check_identifiants.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("matricule="+matricule+"&login="+login+"&mdp="+mdp);
} |
le code PHP :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
include('../connexion.php');
$LeMotDePasseCrypte = sha1($_POST['mdp']);
$req = "SELECT professeurs.MATRICULE_PROF, professeurs.LOGIN2, professeurs.CODE_CONFIRMATIION FROM professeurs WHERE MATRICULE_PROF = '".$_POST['matricule']."' AND LOGIN2 = '".$_POST['login']."' AND MDP2 = '$LeMotDePasseCrypte' ";
$query = mysql_query($req);
$nombre = mysql_num_rows($query);
if ($nombre < 1)
{
echo '0';
}
else
{
echo '1';
}
?> |
Je ne comprends pas pourquoi cela ne fonctionne pas.
Merci d'avance pour votre aide.
beegees
Partager