|
Posted by Mark on 11/03/80 11:16
I would really appreciate some help with this. I am a PHP neophyte, so
please forgive me...
I am building a site that will be used to display image galleries. Some
galleries are public (can be viewed without logging on) while others require
authentication. Logged on users are able to see further galleries that have
been granted to them by the administrator. Different members are granted
access to different galleries. For example, member6 can see all
privategalleries, while member7 can see privategallery3 but not
privategallery4, and member8 can see privategallery4 but not
privategallery3. Hopefully you get my drift here...
To control all this I have created several tables.
There is a table called GALLERY that contains information about the
galleries on the site (Gallery Title, gallery description, path to the
images etc etc)
There is also a table called MEMBERS that contains (surprisingly)
information about the members (email address, password, name etc etc)
To control access to the various galleries , I have a table called ACCESS,
that contains two columns, ACCESSMEMBER that contains the member's ID (which
is the primary key from the MEMBERS table), and ACCESSTO that contains the
gallery ID (the primary key from the GALLERY table) that they have access
to.
When the user logs on, the page that displays the available galleries looks
up in the ACCESS table to see which galleries they are authorised to see,
and provides appropriate links to those galleries. (The other pages also use
this table to look up whether a particular gallery or image can be viewed,
so sneaky users can't see images by molesting the URLs)
ALL OF THE ABOVE WORKS LIKE CLOCKWORK AND IS NOT THE POINT OF MY POST!!!
The problem comes when I want to provide the ability to edit a users access
permissions.
I have a form that prints out checkboxes for each of the gallery_ids, that
looks up the ACCESS table and populates the checkboxes with ticks in the
gallery checkbox that access has been granted to. So for example, if a query
to the GALLERY table says there are 10 galleries, it provides 10 checkboxes
whose names are access1, access2, access3 etc, up to access10. If the query
to the ACCESS table says that this user is granted permission to gallery3,
gallery5 and gallery7, these boxes are checked. When the form is submitted,
these 10 variables are then passed onto the page that updates the ACCESS
table.
THIS IS WHERE I AM SERIOUSLY STUCK!!! (Sorry it has taken so long to get to
the point...)
My update page now has these 10 lovely variables. I want to produce a loop
of some sort that works its way through the variables and updates the access
table appropriately.
I tried the following (or something quite similar)...
$count=1;
do{
if ($access$count=='checked')
{query_to_insert_record_into_access_table_if_record_does_not_already_exist}
else
{query_to_remove_record_from_access_table_if_it_does_exist}
$count++;
}while ($count<$number_of_galleries+1)
Obviously it didn't work.
The problem was with the bit where I tried to specify the variable using
$access$count. I knew it wasn't going to work when I tried it. I'm really
stuck here. <flatter>I'm sure its quite simple to experts like you
</flatter>
Any ideas or suggestions?
TIA
Mark
Navigation:
[Reply to this message]
|