x-ecute Posted April 7, 2013 Share Posted April 7, 2013 (edited) Bonjour, j'ai une boutique avec multiboutique. quand le client arrive sur l'adresse de la vitrine de ma société, il peuvent se logger. Les clients n’étant pas partagé entre chaque boutique, je dois creer une page login ou le client va introduire login et mdp. Cette page va directement dans la db voir à quel boutique il appartient et en fonction il dirige sur la page authentication avec en $_POST le login et passwd. Probleme, il ne log pas le client il se contente d'afficher la page avec les champs "Adresse e-mail" et "Mot de passe". Avez vous une idée de comment logger directement sans que le client soit obliger de cliquer malgré tout sur le bouton. Comme il a déjà cliqué sur ce bouton avant je n'ai pas envie qu'ils doivent cliquer 2 foix pour se logger Voici ce que j'ai fait sur une 1.5.4. MErci pour votre aide Fichier connection (un simple form avec la demande d'info necessaire) : <form action="bin/validation.php" method="post"> <fieldset> <h3>Déjà enregistré ?</h3> <p> <label for="email">Adresse e-mail</label> <span><input type="text" id="email" name="email" value=""></span> </p> <p> <label for="passwd">Mot de passe</label> <span><input type="password" id="passwd" name="passwd" value=""></span> </p> <p class="submit"> <input type="submit" name="SubmitLogin" value="Identifiez-vous"> </p> </fieldset> </form> Le fichier de validation (vérifie les data du client et dirige vers la bonne boutique) <?php if (isset($_POST['email']) && isset($_POST['email'])) { if($_POST["email"] != "" && $_POST["passwd"] != "") { $crypt = "p8fky9ctoH5n0EUiFN00o056sMbeT2fhQTWrrgz0qOvZCA8Enq43djVJ"; //Clé pour le hash en MD5 $email = $_POST["email"] ; $passwd = $crypt."". $_POST["passwd"] ; $passwd = md5($passwd); $passwd_no_crypt = $_POST["passwd"] ; include "functions.php"; include "connexion_mysql.php"; //création de la requête SQL $query="SELECT ps_customer.id_customer, ps_customer.email, ps_customer.passwd, ps_customer.id_shop, ps_shop_url.id_shop_url, ps_shop_url.virtual_uri FROM ps_customer, ps_shop_url WHERE ps_customer.id_shop = ps_shop_url.id_shop_url AND ps_customer.email = '".$email."' AND ps_customer.passwd = '".$passwd."'" ; $requete=Query($query,1); //on récupère le résultat //$result = mysql_fetch_object($requete) ; //si la requête s'est bien passée $num_rows=mysql_num_rows($requete); $i=0; echo $num_rows; while($rec=mysql_fetch_array($requete)) { $id_customer[$i][0]=$rec[0]; $log_email[$i][1]=$rec[1]; $log_passwd[$i][2]=$rec[2]; $id_shop[$i][3]=$rec[3]; $id_shop_url[$i][4]=$rec[4]; $virtual_uri[$i][5]=$rec[5]; $i++; } if($num_rows > 0) { $_POST['email'] = $email; $_POST['passwd'] = $passwd; ?> <form name="authentification" action="../boutique/<?php echo $virtual_uri[0][5]; ?>fr/authentification" method="POST"> <input type="hidden" value="<?php echo $email; ?>" name="email"> <input type="hidden" value="<?php echo $passwd_no_crypt; ?>" name="passwd"> </form> <!--On envoie les données au formulaire d'authentification--> <!--J'utilise cette methode pour que le submit soit en automatique et envois les infos en $_POST--> <SCRIPT type="text/javascript"> authentification.submit(); </SCRIPT> <?php }//fin if //sinon on retourne à la page d'accueil else { echo "loggin ou mdp erroné"; header("Location: ../boutique/error") ; }//fin else }//fin if else { echo "nok2"; header("Location: ../boutique/error") ; }//fin else } else echo "Erreur pas de login ou mot de passe"; ?> Edited April 7, 2013 by x-ecute (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted April 7, 2013 Share Posted April 7, 2013 Bonjour, Il faut également passer un paramètre en POST qui est "SubmitLogin" afin de dire à la page d'authentification que l'on soumet le formulaire de login. Tu peux donc insérer ce dernier en champ hidden, comme première étape et voir ce que ça donne ensuite. 1 Link to comment Share on other sites More sharing options...
x-ecute Posted April 7, 2013 Author Share Posted April 7, 2013 Effectivement cela fonctionne.j'ai donc bien simplement ajouté la ligne <input type="hidden" value="SubmitLogin" name="SubmitLogin"> juste après l'ouverture du form. 1 Link to comment Share on other sites More sharing options...
x-ecute Posted April 10, 2013 Author Share Posted April 10, 2013 A tout hazard, connais tu la même procédure pour la connection au BO ? Link to comment Share on other sites More sharing options...
J. Danse Posted April 10, 2013 Share Posted April 10, 2013 As-tu essayé avec le form comme ci-dessus mais pour l'URL Admin, éventuellement ? Car, ici, c'est la même chose: SubmitLogin, name et passwd. ;-) Link to comment Share on other sites More sharing options...
x-ecute Posted April 10, 2013 Author Share Posted April 10, 2013 Oui, j'ai fait un copié collé en changeant l'adresse mais rien. J'arrive bien sur la page mais il me demande de mettre le login et le password <form name="authentification" action="../boutique/admin3172/index.php?controller=AdminLogin" method="POST"> <input type="hidden" value="SubmitLogin" name="SubmitLogin"> <input type="hidden" value="<?php echo $email; ?>" name="email"> <input type="hidden" value="<?php echo $passwd_no_crypt; ?>" name="passwd"> </form> Link to comment Share on other sites More sharing options...
x-ecute Posted April 10, 2013 Author Share Posted April 10, 2013 Voilà la raison du problème. <input type="hidden" value="submitLogin" name="submitLogin"> submitLogin Le "S" est en minuscule pour la partie BO alors qu'il est en majuscule pour la partie FO 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now