2010-04-18 5 views
0

Im faire i photo sharint siteMot de passe protéger l'album d'images utilisateur

Je veux donner la possibilité à mes utilisateurs d'empêcher le public d'accéder à leurs albums avec un mot de passe. Ensuite, ils peuvent donner le mot de passe à ceux qu'ils veulent pouvoir voir.

Pour mot de passe protéger leurs albums. Im penser quelque chose comme ça, ne peux pas le tester sur cet ordinateur, devrait fonctionner correctement. mais im un php/mysql débutant je veux entendre ce que vous pensez des experts s'il y a une meilleure façon/approche

<h3>Albums</h3> 
- id 
- name 
- owner 
- password (if it isnt null the album is considered password protected) 

<h3>The code</h3> 

    $id = isset($_GET['albumID']) ? intval($_GET['albumID']) : 0; 
    $result = mysql_query("SELECT * FROM albums 
          WHERE id = $id"); 


    $row = mysql_fetch_object($result); 

    // IS it password protected? 
    if ($row->password != NULL) { 

    echo "This album is password protected."; 

    // User pressed "Enter" 
    if (!empty($_POST['password'])) { 

    $result = mysql_query("SELECT password FROM albums 
           WHERE password = '".mysql_real_escape_string($_POST['password'])."'"); 

    // Was It right password? 
     if (mysql_num_rows($result) == 1) 
    { 
     $authed=1; 
    } 


echo <<<EOT 

    <form method="post"> 
      <input type="text" name="password" /> 
    <input type="submit" value="enter" /> 
     </form> 
    EOT; 

    exit; 
    } else $authed=1; 

    if $authed==1 { 
    // render albumimages etc 
    } 

Répondre

0

images lui-même doit être trop protégés, non seulement la page de l'album.
et cela pourrait être plus difficile à mettre en œuvre.

pour obtenir l'idée, jetez un oeil à la galerie Menalto et http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Vous devez également mettre en place une session après l'entrée réussie de mot de passe.
Avec toutes ces fonctionnalités, il pourrait être difficile pour un débutant. Peut-être que vous devez regarder des solutions prêtes à l'emploi

+0

fermez votre connexion db. Je dis juste. – Jamie

Questions connexes