probleme isset() avec index.php

probleme isset() avec index.php - PHP - Programmation

Marsh Posté le 15-02-2005 à 15:29:03    

bonjour,
Je n'arrive pas à passer dans le if(isset($variable)), sachant que je veux rappeler ma page index.php en cas d'echec...  
 
voila à quoi ressemble index.php:
 
<?
include "connexion.php";
if (isset($log)){
//vérification login et pass en bdd
$resultats=mysql_query("select ... from ... WHERE login LIKE '$log' AND pass LIKE '$pass' " );
        while ($lignes=mysql_fetch_array($resultats)){  
  session_start();  
  session_register('log');
  session_register('pass');  
  header('location : admin_valide.php');    
 }
}else{
include("accueil.php" );
}    
?>
 
dans accueil.php jai un formulaire du style :
<input name="login" type="text" id="log">
<input name="pass" type="password" id="pass">
<input name="confirm" type="submit" id="confirm" value="Confirmation">

Reply

Marsh Posté le 15-02-2005 à 15:29:03   

Reply

Marsh Posté le 15-02-2005 à 15:30:59    

if(isset($_GET['login']))
 
ou
 
if(isset($_POST['login']))


Suivant si ton formulaire est en GET ou en POST :)


Message édité par FlorentG le 15-02-2005 à 15:31:20
Reply

Marsh Posté le 15-02-2005 à 15:38:17    

Je suis étonné que FlorentG n'ait pas réagi, mais ton test sur l'utilisateur est absolument à proscrire !
Tu utilises l'opérateur SQL LIKE, qui effectue une comparaison par reconnaissance de motifs.  
 
Par exemple, si quelqu'un rentre dans le formulaire les identifiants suivants:
- login: toto
- password: %
 
La requête sera:
SELECT ... FROM ... WHERE login LIKE 'toto' AND pass LIKE '%'
 
Si l'utilisateur toto existe, la réquête fonctionnera systématiquement, et renverra les informations demandées.
Pire encore, selon la façon dont c'est organisé ici, l'utilisation des idenfitiants suivants fera réussir la requête à tous les coups même sans connaître l'utilisateur.
- login: %
- password: %
 
Utilise l'opérateur d'égalité '=' lorsque tu dois comparer des valeurs de login/password.


---------------
Loose Change Lies | Bars | Last.fm
Reply

Marsh Posté le 15-02-2005 à 15:39:59    

*retourne le couteau dans la plaie de Florent*
 
Effectivement c'est pas terrible comme systeme... je comprend meme pas pourquoi tu utilises ce truc du LIKE alors que c'est plus long a ecrire que mettre un = :p


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 15:41:27    

en ce qui concer les login et mot de pass c'est moi qui vais les fournir (par un generateuir de mot de pass et login)
 
pour la fonction isset j'ai déja essayé avec POST et ça marche pas .. je vais tester avec GET .. merci pour vos réponses

Reply

Marsh Posté le 15-02-2005 à 15:50:02    

ça marche pas mieux avec GET .....

Reply

Marsh Posté le 15-02-2005 à 15:50:25    

Citation :

pour la fonction isset j'ai déja essayé avec POST et ça marche pas .. je vais tester avec GET .. merci pour vos réponses


le tout et de récupérer tes variables par la meme méthode que tu les fourni...
 
si le "method" de ton "form" est "post" alors tu fait un isset sur "POST", si le "method" est "get" alors tu fait le isset sur "GET"


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 15-02-2005 à 15:50:32    

Oula oula, j'ai juste regardé son isset, pas le reste :D (je bosse en même temps, hein ;) )

Reply

Marsh Posté le 15-02-2005 à 15:51:15    

camcam a écrit :

en ce qui concer les login et mot de pass c'est moi qui vais les fournir (par un generateuir de mot de pass et login)
 
pour la fonction isset j'ai déja essayé avec POST et ça marche pas .. je vais tester avec GET .. merci pour vos réponses


 
Je veux bien, mais a quoi te sert le LIKE ? Pourquoi pas un simple =
 
[Edit : ]
 

FlorentG a écrit :

Oula oula, j'ai juste regardé son isset, pas le reste :D (je bosse en même temps, hein ;) )


 
Ouhhhh le filouu !!!! Il surf sur hd.fr au taff ... Montez la guillotine !!! *bon ok je retourne a ma révolution française*


Message édité par esox_ch le 15-02-2005 à 15:52:41

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 15:55:01    

ben .. j'ulise le LIKE parce que j'ai appri comme ça .... je vais mettre un "=" .. ça évitera les risques ..

Reply

Marsh Posté le 15-02-2005 à 15:55:01   

Reply

Marsh Posté le 15-02-2005 à 15:57:58    

C'est peut être le include qui pose probleme ?

Reply

Marsh Posté le 15-02-2005 à 16:10:49    

camcam a écrit :

C'est peut être le include qui pose probleme ?


ya pas de raison...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 15-02-2005 à 16:22:20    

j'ai trouvé !
Je me suis trompé dans les caractéristiques de la balise <input ..>  
J'ai utilisé l'"id" comme identifiant au lieu de "name".
avec if(isset($_POST['login'])) ça marche très bien.
merci à tous.

Reply

Marsh Posté le 15-02-2005 à 16:22:54    

.... C'est ce que j'ai mis dans mon premier post... N'oublie pas de lire ce qu'on te dit, et de ne pas survoler ;)

Reply

Marsh Posté le 15-02-2005 à 16:43:59    

excuse.. pour moi ton premier post faisai référence uniquemment à GET et POST .... t'aurai pu précisé que tu avais changé volontairement le nom de la variable ...!!
bref .. ça marche et je vous remerci.

Reply

Marsh Posté le 15-02-2005 à 16:45:02    

re excuse ... tu pouvais pas savoir .. j'ai pas mis mon script original !!  
 

Reply

Marsh Posté le 15-02-2005 à 16:54:07    

tout est bien qui finit bien :D


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed