Je ne parviens pas à accéder aux variables

Signaler
Messages postés
3
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour à tous,
Je suis débutant dans javascript et j'ai des problèmes pour faire une fonction toute simple. Voici mon problème :
J'ai expérimenté que lorsqu'on a un form, on peut accéder a la valeur de la variable de cette manière :
document.forms["nom_de_ma_form"]["Nom_du_champ"].value.
J'avais essayé et ca fonctionné, malheureusement, dans mon cas ou la page est plus complexe, je ne parviens pas à le faire fonctionne.

<script lantguage= "javascript">
function signalerErreur(sourceErreur){
alert(document.forms["connexion"]["typeErreurConnexion"].value);
}
</script>


Et voici mon form :
            echo " <form action='index.php' method='post' name='connexion'>";
            //Le champ caché suivant permet de stocker la source d'erreur lors de la connexion
            echo "";
                echo "
";
            echo "
 Login : 
";
              echo   "
 ";
            echo "";
            echo "
";
            echo "
Mot de passe : 
";
            echo "
";
            echo "";
            echo "
";
            echo "";
            echo "
";
            echo "</form>";


J'appelle ensuite ma fonction javascript de la sorte :

<?php
$UserLogin = $_POST['Login'];
$UserPass = $_POST['MotDePasse'];
if ($UserLogin!='')
{
    $reponse = mysql_query("SELECT Pass FROM utilisateurs WHERE Login='$UserLogin'; ");
    $returned_rows = mysql_num_rows ($reponse);
    if ($returned_rows==0){
        echo "<script>signalerErreur('Login')</script>";
    }
    else
    //Le login est reconnu
    {
        $donneesUser = mysql_fetch_array($reponse);
        if ($UserPass==$donneesUser['Pass'])
        {
         $_SESSION['EstConnete']='oui';
         $_SESSION['Login']=$UserLogin;
         header("Location: index.php");
        }
        else
        {
        echo "<script>signalerErreur('Pass')</script>";
        }
    }
}
?>

2 réponses

Messages postés
3
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2009

dsl pour les balises <code>, je les ai mise car je pensais qu'elles mettraient le code sous une autre forme.
Du coup j'ai voulu essayé mais il semblerait que l'on ne puisse pas remodifier son message ensuite.

Voilà alors si quelqu'un a une idée, je suis preneur
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
Bonjour,

plusieurs remarques.
_ <script lantguage="javascript">     et d'ailleurs <script type="text/javascript"> vaut mieux
_ function signalerErreur(sourceErreur){
   pourquoi un paramètre et ne pas l'utiliser ?
_ alert(document.forms["connexion"]["typeErreurConnexion"].value);
   alert(document.connexion.typeErreurConnexion.value);  suffit bien.
_ pourquoi diable autant d'echo  totalement inutiles ?
     echo " <form action='index.php' method='post' name='connexion'>";....echo "</form>";
    <form action='index.php' method='post' name='connexion'>....</form> directement
     c'est bien plus simple, bien plus lisible
_J'appelle ensuite ma fonction javascript de la sorte :
    ben non !  regarde ta page html générée/résultante !
    ton formulaire appelle du php qui fait, par exemple :
       echo "<script>signalerErreur('Pass')</script>";
    et bien la page html résultante c'est : <script>signalerErreur('Pass')</script> et rien d'autres
    tu n'as probablement pas saisi comment php et javascript communiquaient !
    le php sur le serveur créé du texte, il ne connait ni le html, ni le javascript
        et l'envoie vers le micro.
    le navigateur sur le micro reçoit ce texte, affiche le html et exécute le javascript
        il ne connait pas du tout le php.

Cordialement [mon Site] [M'écrire] Bul