Probleme de clic sur bouton valider

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de clic sur bouton valider

Re: Probleme de clic sur bouton valider

par Aureusms » 15 août 2010, 20:35

Ce que veux dire Xtg est que lorsque tu envoi un formulaire de la sorte (method=post"), tu peux récupérer toutes les données envoyées via la superVariables $_POST. Il s'agit d'un tableau associatif que tu peux interroger , effacer, ... (comme un tableau normal). Son avantage : il s'efface à la fin du script.
Prends quelques minutes pour apprendre à tester les variables . Tu as pour cela un arsenal de fonction :
  • Les fonctions addslashes() et htmlspecialchars() qui permettent de protéger les caractères spéciaux PHP et HTML
    Les fonctions isset() et empty() qui vérifie si existe et vide
    Les fonctions de typages comme les is_string, is_numeric,... (est texte ou est numérique).
    Et enfin l'ultime les expréssions régulières (si tu en arrive là les typages ne te servent plus à rien).
Ce qui te limitera la casse en cas d'envoi de donnée non désirée avec (ou pas) ajout de donnée dasn une base de donnée.

Re: Probleme de clic sur bouton valider

par xTG » 14 août 2010, 18:08

Remplaces $clic par !empty($_POST). La variable clic n'existe pas dans ton code pour ce que j'ai vu.
Et il te faut récupérer les variable de pseudo et mot de passe :
$login = $_POST['login'];
$pass = $_POST['password'];
Il est préférable de savoir sur quoi on opère, car en ne le précisant pas on peut tout aussi bien passer avec les variables d'url.

Probleme de clic sur bouton valider

par mikelduke » 14 août 2010, 17:09

Bonjour à chacun,

Tout d'abord merci de l'aide qui me sera apporté et ensuite acceptez mes regrets en ce qui concerne mon Français. Je ne le suis pas et je dois faire de grand progrès avec la langue de Molière.

J'ai créé un serveur léger pour résoudre un problème de script
voici l'adresse du site http://www.navigoo.com/demo/

Si tout fonctionnait je devrais entrer un login : "demo" et un mot de passe : "demo"
et de ma page index.php je devrais avoir accès à un page planning.php

Or il semblerait que mon script ne fonctionne pas et je reste sur la même page index.php

Voici le script si un lecteur codeur averti avait une idée et si je pouvais apprendre de mes erreurs ce serait idéal. Il semblerait que la fonction if($clic==1) ne fonctionne pas.

Merci de votre aide je vais laisser le post ainsi pour ne pas alourdir ma demande.

Frank
<?php

  include("./phpinclude/fonction.inc");



  // Clic sur le bouton valider

  if($clic==1){

     $query = "select * from utilisateur where LOGIN='$login'";

     $result = @mysql_query($query);

     $nbligne = @mysql_num_rows($result);

     if($nbligne == 0){

        $message = "Login incorrect !";

     } else {

             $ligne = @mysql_fetch_array($result);

             $pass02 = $ligne['PASS'];

             $nuti = $ligne['NUTI'];



             $passebout = crypt($pass,$pass02);

             if (strcmp($pass02,$passebout)){

                 //mot de passe invalide

                 $message="Mot de passe incorrect !";

             } else {

                     //mot de passe correct

                     $passok = 1;

                     $info = base64_encode("$nuti:$passok");

                     setcookie("olras","$info");



//                     if($ligne['USE_PLAN']==0){

//                        header("Location: planningag.php?nlieu=$ligne[PLAN_DEF]");

//                     } else {

                             header("Location: planning.php");

//                       }

               }

       }

  }

?>



<html>

<head>

<title>NAVIGOO&reg; Web - <?php echo $titre_pages; ?></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link rel="stylesheet" href="style/main.css">

<script language="JavaScript">

<!--

function MM_swapImgRestore() { //v3.0

  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

}



function MM_preloadImages() { //v3.0

  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}



function MM_findObj(n, d) { //v3.0

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;

}



function MM_swapImage() { //v3.0

  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)

   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}



function envoiform() {

  document.form.submit();

}



function focus() {

  document.form.login.focus() 

}

//-->

</script>

</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color:#EADBC3;">

<table border="0" cellspacing="0" cellpadding="0" align="center">

  <tr>

    <td align="center">&nbsp;</td>

  </tr>

  <tr>

    <td align="center" width="532" height="231" style="background-image:url(images/fd_connexion.gif); background-repeat:no-repeat">

<br><br><br><br>

<?php

  if($message!=""){

     echo ("<center><p class=\"texterouge\"><b>".$message."</b></p></center>");

  }

?>

<form name="form" action="index.php" method="post">

<input type="hidden" name="clic" value="1">

        <table border="0" cellspacing="0" cellpadding="5" align="center">

          <tr>

            <td class="textenoir">Identifiant: </td>

            <?php

  if($message=="Mot de passe incorrect !") {

     echo ("<td class=\"textenoir\"><input type=\"text\" name=\"login\" value=\"".$login."\" class=\"textenoir\" size=\"30\" maxlength=\"30\" style=\"background-color:#FFFFFF;\"></td>");

  } else {

          echo ("<td class=\"textenoir\"><input type=\"text\" name=\"login\" class=\"textenoir\" size=\"30\" maxlength=\"30\" style=\"background-color:#FFFFFF;\"></td>");

  }

?>



          </tr>

          <tr>

            <td class="textenoir">Mot de passe: </td>

            <td class="textenoir"><input name="pass" type="password" class="textenoir" size="30" maxlength="30" style="background-color:#FFFFFF;"></td>

          </tr>

          <tr>

            <td class="textenoir">&nbsp;</td>

            <td class="textenoir" align="center"></td>

          </tr>

        </table>

      </form>

    </td>

  </tr>

  <tr>

    <td align="center"><a href="javascript:envoiform();" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('valider','','images/boutons/valider2.gif',1)"><img src="images/boutons/valider1.gif" name="valider" alt="Valider" border="0"></a></td>

  </tr>

</table>

<br>

<p align="center">&nbsp;</p>

<script language="JavaScript">

	focus();

</script>

</body>

</html>