simulation login/password

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 : simulation login/password

par gronaze » 03 mars 2006, 11:12

Merci a tous pour votre aide hier finallement ça a marché nickel mais j'ai pas eu le temps de laisser de poste pour vous avertir.
En fait c'était stupide mes adresses relatives comencaient par ../ alors que c'était ./ ...sans commentaire!

@bientot pour de (tres tres probables) nouvelles aventures !

par sadeq » 02 mars 2006, 18:02

effectivement, il y avait un espace entre Location et les :
Mais j'ai corrigé ça à 16:08

Désolé je n'ai pas averti :oops:

par Hermès » 02 mars 2006, 17:43

Tu as fais un copié collé du code de sadeq ?
Parce que j'ai déjà eut des problèmes avec les header et j'ai mis pas mal de temps à me rendre compte que j'avais mis un espace devant les ":", ce qui lui plaisait pas trop...

par charabia » 02 mars 2006, 17:32

Tu veux dire que les redirections ne fonctionnent pas correctement ?

par gronaze » 02 mars 2006, 17:25

non je voulais dire que la page de saisie de login/password s'affiche, ce qui n'était pas le cas avant...comme quoi le code est sans erreurs de syntaxe
par contre on a beau cliquer on revient sur la même page.
les chemins sont corrects c'est certains...
j'arrive vraiment pas à voir d'ou ça vient!

par charabia » 02 mars 2006, 17:17

Si la page s'affiche c'est que le bouton submit a fait son boulot ;)

par gronaze » 02 mars 2006, 17:14

merci tout le monde, ce qui marce le mieux c'est encore le code de sadeq (chapeau c'est tres bien expliqué) mais le problème c'est que j'ai l'impression que rien ne se passe au clic du bouton "envoyer"---><input type="submit" name="Submit" value="Envoyer" />.
Mais au moins la page s'affiche.....

par Hermès » 02 mars 2006, 16:59

Tu n'a rien avant ta balise "<?"

Les problèmes de header, c'est généralement parce que tu as quelque chose de marqué sur ta page (un echo qui traine, une commande qui affiche un message d'erreur, un espace qui se voit pas à l'écran, etc).

Edit : en fait je viens de remarquer, si ton header est là pour faire une redirection, il faut faire
header("Location: ../user/incidentsencours/index.php");

par sadeq » 02 mars 2006, 16:58

Supposons que t'as 2 pages HTML ou PHP (disons PHP) dont les noms
sont: utilisateur.php et etranger.php

Le programme de la page de connexion qui récupère le login/mot de
passe de l'internaute doit faire :

1. récupèrer le login (utilisateur ou etranger) et le mot de passe tapés
2. orienter la navigation vers la page utilisateur.php si login = utilisateur
et de même pour le login = etranger orienter vers la page etranger.php

le code de cette page est :
connexion.php
<?php
        //Récupèrer login/mot de passe
        $login = $_POST["login"];
        $mot_passe = $_POST["mot_passe"];

        //Orienter vers les pages utilisateur ou etranger
        switch (strtolower($login)){   //strtolower : transforme en miniscule
            case "utilisateur" : 
                    if ($mot_passe == "????")
                         header ("Location: utilisateur.php");
           case "etranger" :
                    if ($mot_passe == "????")
                      header ("Location: etranger.php");
          }
?>
<form method=post>
<p>Login <input name="login">
<p>Mot de passe <input name="mot_passe">
<p><input type="submit" value="Envoyer">
</form>
<p>Veuillez saisir un login/mot de passe valides!
 

par gronaze » 02 mars 2006, 16:56

merci oh grand hermess...maintenant l'erreur elle est à la première ligne avec header et je suis sur que le chemin indiqué est valable

par Hermès » 02 mars 2006, 16:50

il manque un ";" après "$user = $_POST['login']"

par Invité » 02 mars 2006, 16:50

apparemment c'est pas un problème de point virgule! Par contre le bout de code je l'ai glissé juste après body...jvois pas en quoi ça pourrait gêner mais on sais jamais

par gronaze » 02 mars 2006, 16:43

Voila cke j'ai dans mon code, sachant que le champ de saisi est bien nommé login...et j'ai toujours le même message d'erreur concernant la ligneavec isset...mais euh!!!
(désolé de t'embéter sous ta couette!)
<?
$user = $_POST['login'] 
if( (isset($user)) && ($user=="utilisateur") ) 
{ 
header(../user/incidentsencours/index.php); 
} 
else 
{ 
header(../user/ajout/index.php); 
} 
?>

par charabia » 02 mars 2006, 16:32

$user = $_POST['utilisateur']; 
if( (isset($user)) && ($user=="user1") ) 
{ 
echo "user1"; 
} 
else 
{ 
echo "user2"; 
}
$_POST['utilisateur'] correspond à la variable que tu récupères de ton formulaire (ici le nom de ton champ).

Je redéfinie une autre variable pour faire plus court : $user.

le isset teste si la variable existe ou pas.

Donc là je lui dit si la variable existe et qu'elle est égale à "user1", alors afficher user1 (ici au lieu d'affichier tu fais tes redirections), sinon bé tu affiches user2 (idem, redirection dans ton cas à la place de l'affichage).

par gronaze » 02 mars 2006, 16:24

voilà....Parse error: syntax error, unexpected T_IF in c:\Inetpub\wwwroot\index.php on line 32

En fait est ce que tu pourrais m'expliquer les différentes balises..ça m'aiderait a pas recopier n'importe comment! merki!