Plusieurs login pour redirection différentes - PHP - Programmation
Marsh Posté le 11-05-2005 à 02:05:45
1. Forcément, il n'y a pas de tests dans ta condition, juste 2 affectations (répète après moi : = est une affectation == une comparaison simple === une comparaison sur les valeurs et les types). De plus, mettre chaque condition entre parenthèses toujours utile
Bref :
Code :
|
(en passant, pourquoi un ou dans cette condition, c'est pas un et logiquement ?)
2. Oui, mais je mettrais un input hidden avec le sid en plus, histoire d'être sûr que le gars n'atterit pas sur la page de déconnection par accident. Et pour l'action, ben, la page qui va déconnecter
Marsh Posté le 11-05-2005 à 02:27:13
touik's a écrit : |
En plus des corrections apportées ci-dessus (oui c'est un && et non un || qu'il faut utiliser), j'ajoute que ce code pue la mort : en effet, si tu as 50 users, tu ne vas pas t'amuser à faire 50 if imbriqués (l'horreur).
=> Utilise donc un tableau ou mieux, utilise ta table user (login, pass) pour ajouter un champ contenant la page d'arrivée, tu n'auras plus qu'une requete SELECT pagelogin FROM user WHERE login='$login' AND pass='$pass'
Marsh Posté le 11-05-2005 à 07:28:23
Array() +1
DB -1
Si c'est pour stoquer 3 login de ses potes il va pas mettre une base de donnée ... ça rajoutera des failles et vu son niveau vaut mieux rester simple
Marsh Posté le 11-05-2005 à 15:19:55
Merci Naceroth, j'avais occulté ces histoires de égal, et j'ai confondu le || et le && ...
ça marche impec maintenant!
esox_ch a écrit : Array() +1 |
ben non justement, ya que 3 login et c'est pas pour mes potes, mais pour la municipalité de mon lieu de résidence, pour qu'ils se connectent à leur page de mise à jour
Friday Monday a écrit : En plus des corrections apportées ci-dessus (oui c'est un && et non un || qu'il faut utiliser), j'ajoute que ce code pue la mort : en effet, si tu as 50 users, tu ne vas pas t'amuser à faire 50 if imbriqués (l'horreur). |
Bien sûr que je me serais pas amusée à faire ça si j'avais pas eu que 3 utilisateurs, puis vu mon niveau, moi je le trouve très bien
Marsh Posté le 11-05-2005 à 15:34:27
touik's a écrit : Merci Naceroth, j'avais occulté ces histoires de égal, et j'ai confondu le || et le && ... |
Marsh Posté le 11-05-2005 à 15:38:17
ReplyMarsh Posté le 13-05-2005 à 17:56:48
Et j'hallucine. Ya personne qui propose les "switch case"pour un cas pareil???
Marsh Posté le 13-05-2005 à 17:59:19
h4cker a écrit : Et j'hallucine. Ya personne qui propose les "switch case"pour un cas pareil??? |
Pour 3 trucs ca marche aussi bien que avec les if, else if...
Marsh Posté le 13-05-2005 à 18:00:28
h4cker a écrit : Et j'hallucine. Ya personne qui propose les "switch case"pour un cas pareil??? |
Non et heureusement d'ailleurs
Marsh Posté le 13-05-2005 à 18:01:13
ReplyMarsh Posté le 13-05-2005 à 18:09:18
Pask c'est stupide, avec un array on peut faire 10x plus leger et plus dynamique
Marsh Posté le 13-05-2005 à 18:18:49
eh s'il vous plait les grands, vous pouvez me montrer un exemple avec un array?
je sais comment ça marche mais j'aimerai beneficier d'un exemple, avec votre aimable concourt, histoire de voir comment ça se presente et comment c'est structuré. J'entend beaucoup parler de l'alternative "array()" par rapports aux db, ça me permettrai de me faire une idée...
merci.
Marsh Posté le 14-05-2005 à 07:48:56
$meslogins = array('login1'=>'mdp1',...);
Ou (plus "sale" a mon avi, mais plus facile a mettre a jour) tu peux faire ça avec $meslogins[] = valeurs ...
Marsh Posté le 14-05-2005 à 10:25:40
oui oui, ça je sais chef, mais comment fais-t-on pour COMPARER ce que l'utilisateur a entré dans les champs de saisis pour s'identifier (login + pass) et les données dans l'array?
array_key_exists ??
je vois pas comment proceder.
ou peut-être:
Code :
|
merci de m'aider.
Marsh Posté le 14-05-2005 à 10:27:22
Perso je ferais un in_array() avec le login comme clef et le mdp comme valeur
Marsh Posté le 14-05-2005 à 10:33:18
if (in_array($_POST['login'], $_POST['pass'])){
echo "vous etes identifié.";}
ça marche ça?
edit:
euh... nan. quel con. si je precise pas dans quel array chercher ça marchera pas hein?
help.
Marsh Posté le 14-05-2005 à 10:37:14
....
Tu dois lui dire de regarder si le login existe dans l'array, et apres regarder si le mdp y est associer ... reflechi un peu c'est pas si complex
Marsh Posté le 14-05-2005 à 10:58:04
Code :
|
je sais que ce code est relativement... mauvais.
pliz help.
edit:
mauvais, car il n'y a pas la notion d'ASSOCIATION.
Marsh Posté le 15-05-2005 à 10:53:57
C'est stupide ton truc ... La tu controles que le mdp X existe et que l'utilisateur Y existe.
Admettons :
Login : Jean , Mdp : Claude
Login : Paul, Mdp : Jaques
Je me log :
login : Jean , mdp : Jaques.
Ton systeme va me laisser passer....
Ce que tu dois faire est de controler qu'un login existe, puis regarder quel est le mdp qui s'y ratache (a la limite fait un array_flip)
Marsh Posté le 15-05-2005 à 14:07:48
pitié j'y arriverai jamais.
fais pas le salaud esox, balance le! balance le, le code!... balance leeeeeeeee!
Marsh Posté le 15-05-2005 à 14:30:58
Si t'as pas les connaissances/la volonté de coder un truc du genre qui tiens sur 5 lignes je crois qu'il vaut mieux que t'en reste la avec le php, parceque si t'arrive pas a mettre 2 briques l'une sur l'autre, je te vois mal devoir construire un immeuble de 50 etages
Marsh Posté le 15-05-2005 à 14:57:40
bah j'ai tenté 2-3 trucs comme tu peux le voir.
array_flip() je veux bien mais keskonanariennafoutre? il interverti clé et valeur ok, et bah?
allez siouplé chré sage.
Marsh Posté le 15-05-2005 à 15:24:41
Alors soit sage et reflechi
Marsh Posté le 15-05-2005 à 15:31:57
esox_ch a écrit : Alors soit sage et reflechi |
J'avoue que sur le coup, je serais curieux de savoir aussi ce que ça vient foutre là
Pmusa : c'est même plus un problème de php là, c'est une question de logique, ton premier test est bon, le deuxième doit vérifier que le mdp associé au login (dont tu viens de vérifier l'existence) est bien le bon. Question à 5 cents : comment accède-t'on à la valeur d'un tableau dont on connait l'indice ?
Marsh Posté le 15-05-2005 à 15:40:54
naceroth a écrit : J'avoue que sur le coup, je serais curieux de savoir aussi ce que ça vient foutre là |
Zut, apres reflection je me rend compte que je cherchais midi a 14h
Autant pour moi , un petit controle si un key existe (le login) et apres on recupere le mdp correspondant.
Merci naceroth
Marsh Posté le 15-05-2005 à 16:27:43
bande de sadiques.
j'ai trouveÿÿÿÿ: array_search().
esox_ch pas copain.
edit:
en gros:
Code :
|
Marsh Posté le 15-05-2005 à 16:40:34
Et maintenant tu dis quoi si 2 personnes choisissent le meme mot de passe ?
Marsh Posté le 15-05-2005 à 16:46:35
ben je te repond que ce problème n'a pas lieu de se poser avec array_search.
array_search retourne la clé relative a une valeur. donc ma structure de contrôle va bien.
et si j'ai faux, je te repondrai que maintenant... esox t'arrête de me faire chier!
Marsh Posté le 15-05-2005 à 16:53:50
lol . Perso voila ce que j'aurais fait (a part que je traite les input pour des questions de secu avant de faire joujou avec):
Code :
|
Et pour ton script, voila ce que ça peut donner :
Login : hal , mdp : fred
login : micro , mdp : fred
Maintenant, Je me log avec login micro et mdp fred :
array_search retournera la 1ere valeur retrouvée : hal
hal != micro =>> J'entre pas meme avec le bon mdp.
Avec ta methode tu dois faire un array_find + un in_array ... Ce qui te fais 2 fonctions a utiliser au lieu qu'une pour moi
Edit : Loupé une parentese a la redaction ... + Oublié de te remonter les bretelles
Marsh Posté le 15-05-2005 à 17:11:19
yesssss j'ai reussi à lui faire pondre le code.
ouais j'ai compris où tu voulais en venir. merci chef.
finalement c'est bien complet les array.
Marsh Posté le 15-05-2005 à 17:15:42
Il t'a juste fallu 20 posts et 3 personnes ... t'es un rapide ... si tu passais plus de temps a lire la doc et moins de temps a supplier, c'est toi qui nous expliquerais le php
Marsh Posté le 15-05-2005 à 17:31:03
j'ai cherché. C'est juste que les array je connaissais pas du tout de chez pas du tout et que je debute. j'ai pas besoin de ce code, c'était pas curiosité: ça me permettra de progresser.
ça m'a toujours fait peur les array et les boucles... surtout les array.
en tout cas merci pour ta collaboration, ton soutien, tes demarches pour me venir en aide, ton concourt, l'interêt que tu as temoigné, et tes invitations aux modules de recherche sur php.net et/ou google.
en tout cas...
Marsh Posté le 11-05-2005 à 01:23:57
Bonjour à tous,
J'essaye de faire en sorte que dans mon formulaire, chaque login redirige l'utilisateur vers une page propre à ce login, à la connexion.
Voici le code que j'utilise:
quoi que je mette comme login/mdp, ça me redirige toujours vers test1.php. Dois utiliser un switch()? si oui comment?
Autre question, pour faire un bouton de déconnexion une fois sur la page voulue, est ce qu'un input nommé "destroy" est suffisant et si oui, que dois je mettre dans "action"?
Merci beaucoup d'avance!