Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Antoine78 le le 24-04-2010 a 20:42:45

Titre: Login pour galerie photo privative
Posté par: Antoine78 le le 24-04-2010 a 20:42:45

Bonjour à vous,

Photographe de mariage, je propose à mes clients des galeries photos qui ont besoin d'être privatives, même si aucun lien ne mène vers elles. Je leur envoie l'url exacte par émail et le login.
Mon site est fait maison, avec mes maigres connaissances, mais là je bute sur la question des mots de passe. On vient de me signaler que la solution passerait d'avantage par du PHP que du JavaScript ...

Exemple d'url que j'aimerai pouvoir communiquer avec un mot de passe d'accès:

http://www.vosphotosdemariage.com/anne-laurent

Merci pour vos lumières!

Antoine

Titre: Re:Login pour galerie photo privative
Posté par: tityus le le 25-04-2010 a 10:50:11

Salut,

En espérant que ça puisse t'aider : http://www.siteduzero.com/tutoriel-3-69651-creer-un-espace-membre-pour-son-site.html (http://www.siteduzero.com/tutoriel-3-69651-creer-un-espace-membre-pour-son-site.html)

Titre: Re:Login pour galerie photo privative
Posté par: Antoine78 le le 25-04-2010 a 18:44:23

Bonjour Titus,

Non, ce que je souhaite c'est simplement un champ dans lequel on met juste un mot. On valide et hop, on bascule sur la galerie. Pas de membres à enregistrer.
Peut être estce que j'explique mal ce que j'ai en tête ... ;)

Merci de ton aide!

Antoine

Titre: Re:Login pour galerie photo privative
Posté par: Pad le le 25-04-2010 a 19:54:27

Quelques pistes en php :

Déjà tu dois avoir deux pages .PHP -> celle qui contiendra le champ demandant le mot de passe (index.php) et l'autre page affichant ce qui est sécurisé (pg-secu.php)

Dans ta page sécurisé (pg-secu.php) tu dois y mettre avant la balise <head> :


Code:

// récupération des données pour la connexion
if(isset($_POST["formAdmin"]))
{
   $pwdAdmin=htmlentities($_POST["pwdAdmin"], ENT_QUOTES);

   if($pwdAdmin == "MOTDEPASSE") // test du mot de passe
   {
      // Définition du temps d'expiration des cookies
      $expiration = empty($_POST["logAdmin"]) ? 0 : time() + 90 * 24 * 60 * 60;
            
      // Création des cookies
      setcookie("LOG_ADMIN", "Administrateur", $expiration, "/");
         
      // variable pour vérifier la connexion de l'admin
      $adminConnexion = true;
   }
   else
   {
         $erreur = "Une erreur s'est produite. Veuillez ré-essayez !";
         $adminConnexion = false;   
   }
}


Puis sur la même page dans le <body></body> :


Code:

if( $adminConnexion == true)
{
// tout le contenu que tu veux caché
}


Et sur ta page (index.php) avec le champ "mot de passe" :


Code:

<form method="POST" action="pg-secu.php">
   <fieldset>
      <label for="pwdAdmin">Mot de passe</label>
      <input type="password" name="pwdAdmin" id="pwdAdmin" />
      <input type="submit" name="formAdmin" value="Se connecter" />
   </fieldset>
</form>

Titre: Re:Login pour galerie photo privative
Posté par: Antoine78 le le 25-04-2010 a 21:07:08

Bonjour Pad,

Merci pour ton aide.
Je viens de m'y essayer et dans les grandes lignes ca fonctionne, excepté qu'en haut de la page "pg-secu.php" j'ai la codification suivante qui apparait en gris clair ... en deux lignes de texte, tout en haut de la page:

// récupération des données pour la connexion
if(isset($_POST["formAdmin"]))
{
$pwdAdmin=htmlentities($_POST["pwdAdmin"], ENT_QUOTES);

if($pwdAdmin == "jlesch51") // test du mot de passe
{
// Définition du temps d'expiration des cookies
$expiration = empty($_POST["logAdmin"]) ? 0 : time() + 90 * 24 * 60 * 60;

// Création des cookies
setcookie("LOG_ADMIN", "Administrateur", $expiration, "/");

// variable pour vérifier la connexion de l'admin
$adminConnexion = true;
}
else
{
$erreur = "Une erreur s'est produite. Veuillez ré-essayez !";
$adminConnexion = false;
}
}


Une idée de ce que j'ai pu faire comme bétise?

Une autre question: est ce que le mot de passe peut être changé à volonté?
Par exemple en prenant le prénom de la mariée concernée?

Merci du temps que tu m'accordes!
J'apprécie ton aide ...


Antoine

Titre: Re:Login pour galerie photo privative
Posté par: elsyfiryos le le 25-04-2010 a 21:47:53

Salut,

Une manière assez simple:

Bon déjà il te faut un formulaire,
Une page formulaire.php par exemple:

Code:

<html>
<head>
<title></title>
</head>
<body>
<?php
$verification = htmlspecialchars($_GET['v']);
switch($verification)
{
case "mauvais" :
echo'Les informations entrees sont mauvaise !';
break;
default;
?>
<form method="post" action="page_proteger.php" >
<label for="pseudo" >Pseudo</label><input type="text" name="pseudo" id="pseudo" />
<label for="mdp" >Mdp</label><input type="password" name="mdp" id="mdp" />
</form>
<input type="submit" value="Valider" />
<?php
break;
}
?>
</body>
</html>


ensuite la page que tu souhaite afficher a ceux qui y sont autorisés, par exemple page_proteger.php

Code:

<html>
<head>
<title></title>
</head>
<body>
<?php
$pseudo = htmlspecialchars($_POST['pseuso']);
$mdp = htmlspecialchars($_POST['mdp']);
if ( ($pseudo= 'moi' and $mdp ='123') or ($pseudo= 'toi' and $mdp ='321') ) /* ici les bons identifiants */
{
echo'Le contenu de la page cachee.';
}
else
{
header('location: formulaire.php?v=mauvais');
}
?>
</body>
</html>


Donc pour accéder a la page il faut le pseudo "moi" avec le mdp "123" ou le pseudo "toi" avec le mdp "321"
Je ne l'ai pas essayer mais normalement ça marche
A toute
Elsy

PS: il ne faut pas oublier de changer les url et les identifiants xD

Titre: Re:Login pour galerie photo privative
Posté par: Antoine78 le le 25-04-2010 a 22:06:13

Bonsoir et merci pour ton aide!

Je viens de faire un essai de ton script, en créant un dossier "test" dans lequel j'ai placé tes deux documents: formulaire.php et page_proteger.php

http://www.blablabla.com/test/formulaire.php

Ca ne fonctionne pas! :-\
J'ai corrigé ce que je pense être un erreur dans ton script, dans la deuxième partie ou tu as écrit "pseuso" au lieu de "pseudo" ... fonctionne toujours pas.
Je rentre le pseudo et le mdp ... et rien! Pas de changement de page ...

Une idée?

Merci à vous pour votre aide, je suis une vraie chèvre ;)


Antoine

Titre: Re:Login pour galerie photo privative
Posté par: Pad le le 25-04-2010 a 23:57:53

t'aurai du faire les changements dans mon code, au lieu de l'embrouiller avec un autre code elsyfiryos...

Pour ton problème change le code de la page pg-secu.php avec ça :

Code:

// récupération des données pour la connexion
if(isset($_POST["formAdmin"]))
{
$pwdAdmin=htmlentities($_POST["pwdAdmin"], ENT_QUOTES);

if($pwdAdmin == "MOTDEPASSE") // test du mot de passe
{
// Définition du temps d'expiration des cookies
$expiration = empty($_POST["pwdAdmin"]) ? 0 : time() + 90 * 24 * 60 * 60;

// Création des cookies
setcookie("LOG_USER", "CurrentUser", $expiration, "/");

// variable pour vérifier la connexion de l'admin
$adminConnexion = true;
}
else
{
echo "Une erreur s'est produite. Veuillez ré-essayez !";
$adminConnexion = false;
}
}


Pour le mot de passe, tu peux le changer en lisant le code t'aurai du voir :

Code:

if($pwdAdmin == "MOTDEPASSE") où MOTDEPASSE est le mot de passe que tu change à chaque fois

Titre: Re:Login pour galerie photo privative
Posté par: Antoine78 le le 26-04-2010 a 13:02:08

Bonjour,

Désolé de n'avoir pu passer avant.
Pad, je viens d'essayer ta nouvelle suggestion et j'ai toujours le même problème.
Le texte figure en haut de page ...
Est ce qu'il est possible que je fasse une fausse manœuvre ou que la codification des pages présente une spécificité qui fait foirer ton code?

- Sur pg-secu.php ton code est placé au dessus de la balise <head> et la seconde partie du code juste après le balise <body>

- Sur index.php le code est placé juste après la balise <body>

Merci de votre patience,

Antoine


Edit: Je viens de constater que quel que soit le mot que je tape à la place de MOTDEPASSE (que je n'ai pas changé) la bascule vers la page pg-secu.php se fait et la galerie en flash se fait.

Je t'envoie l'url en MP pour que tu puisses constater par toi même.

Titre: Re:Login pour galerie photo privative
Posté par: Pad le le 26-04-2010 a 16:45:28

MP répondu... j'espère que le problème sera réglé avec ces changements ;)

Titre: Re:Login pour galerie photo privative
Posté par: Antoine78 le le 26-04-2010 a 19:34:17

8) 8) 8)

Et voilà, après quelques échanges et quelques rectifications, ça fonctionne parfaitement.
Me voilà donc à même de présenter à mes futurs mariés une galerie "privative" avec un mot de passe, modifiable à souhait, qu'ils pourront faire suivre aux membres de leur famille et à leurs invités.

Un grand merci à toi Pad, pour ta patience et ta gentillesse ;)

Antoine

Titre: Re:Login pour galerie photo privative
Posté par: Pad le le 26-04-2010 a 19:35:14

De rien ! ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.