photo gallery
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
photo gallery
Hello,
in this photo gallery I am trying to get the thumbnails and full image on the same page but it is not working good.
This is the address of my site http://www.robcnossen.nl/login/view_alb ... album_id=5.
The design comes later.
Maybe you have seen what the problem is, the full image is not showing up in the rectangle when you open this page and when you click on a thumbnail the full image is showing up but then the thumbnail-box is empty.
When I clicked on a thumbnail the ?album_id=5 part disappears so I am out of this album and the thumbnails are away.
My questions are, how can I display a full image when I open this page and how can I not make the thumbnails disappear when clicking on a thumbnail.
The code is;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$images = get_images($album_id);
}
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($images as $image) {
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['full_img'])) ? $_GET['full_img'] : $images[0];
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
[/syntax]
Maybe not necessary but this is the code to make the albums with;
[syntax=php]<?php
$albums = get_albums();
if (empty($albums)) {
echo '<p>Je hebt nog geen album</p>';
} else {
foreach ($albums as $album) {
echo '<p><a href="view_album.php?album_id=', $album['id'], '">', $album['name'], '</a> (', $album['count'], ' foto\'s)<br />
', $album['description'], '...<br />
<a href="edit_album.php?album_id=', $album['id'], '">bewerken</a> / <a href="delete_album.php?album_id=', $album['id'], '">Verwijderen</a>
</p>';
}
}
?>[/syntax]
Cheers
in this photo gallery I am trying to get the thumbnails and full image on the same page but it is not working good.
This is the address of my site http://www.robcnossen.nl/login/view_alb ... album_id=5.
The design comes later.
Maybe you have seen what the problem is, the full image is not showing up in the rectangle when you open this page and when you click on a thumbnail the full image is showing up but then the thumbnail-box is empty.
When I clicked on a thumbnail the ?album_id=5 part disappears so I am out of this album and the thumbnails are away.
My questions are, how can I display a full image when I open this page and how can I not make the thumbnails disappear when clicking on a thumbnail.
The code is;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$images = get_images($album_id);
}
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($images as $image) {
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['full_img'])) ? $_GET['full_img'] : $images[0];
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
[/syntax]
Maybe not necessary but this is the code to make the albums with;
[syntax=php]<?php
$albums = get_albums();
if (empty($albums)) {
echo '<p>Je hebt nog geen album</p>';
} else {
foreach ($albums as $album) {
echo '<p><a href="view_album.php?album_id=', $album['id'], '">', $album['name'], '</a> (', $album['count'], ' foto\'s)<br />
', $album['description'], '...<br />
<a href="edit_album.php?album_id=', $album['id'], '">bewerken</a> / <a href="delete_album.php?album_id=', $album['id'], '">Verwijderen</a>
</p>';
}
}
?>[/syntax]
Cheers
Re: photo gallery
Not really sure what you mean :s To keep the thumbnail visible you would have to include it on the page
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
O, that link was pretty useless, sorry about that.
Hopefully this one is better; http://www.robcnossen.nl/login/view_alb ... album_id=5
and makes my questions more understandable.
Thanks
Hopefully this one is better; http://www.robcnossen.nl/login/view_alb ... album_id=5
and makes my questions more understandable.
Thanks
Re: photo gallery
Ah okay I see now, you would have to create the same thumbnail view on the second page (http://www.robcnossen.nl/login/view_alb ... /5/109.jpg) so if you were to put the code that creates the left panel in a separate file you could then include() that on both pages.
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
It looks if there are two pages involved for viewing the images. In a way that is of course true but the album.php page only creates albums. If I click on an album link, created with this line of code;[syntax=php]echo '<a href="view_album.php?album_id=', $album['id'], '">';[/syntax] It sends me to the view_album.php page. This will show up in the address bar;
"http://robcnossen.nl/login/view_album.php?album_id=5".
We are now inside an album and we can click on a thumbnail. The album_id=5 will say that this album is the fifth album that I created. Now I want to show the full image on the same page as the thumbnails, but when I click on a thumbnail the full image appears and the thumbnails disappears. In the address bar this shows up;
http://robcnossen.nl/login/view_album.p ... /5/109.jpg.
So the full image have shown up but I think that I kicked myself out of the album. This part "?full_img=uploads/5/109.jpg"(the full image) replaced this part "?album_id=5".
I am now trying to keep the album and full image parts together but not with any success.
I think that the address bar must be look for example like this,
"http://robcnossen.nl/login/view_album.php?album_id=5?full_img=uploads/5/109.jpg".
But I am not sure that this is possible.
I tried to get the albums part in the view_album.php for example like this;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
if (isset($albums)){
foreach ($albums as $album) {
echo '<a href="?album_id=', $album['id'], '">';
}
}
}
{
foreach ($images as $image) {
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['full_img'])) ? $_GET['full_img'] : $images[0];
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
[/syntax]
But as I was saying, not with any success.
I hope that you can understand this explanation, it is quite a long explanation, an can help me here.
If you need more code or whatever, let me know.
"http://robcnossen.nl/login/view_album.php?album_id=5".
We are now inside an album and we can click on a thumbnail. The album_id=5 will say that this album is the fifth album that I created. Now I want to show the full image on the same page as the thumbnails, but when I click on a thumbnail the full image appears and the thumbnails disappears. In the address bar this shows up;
http://robcnossen.nl/login/view_album.p ... /5/109.jpg.
So the full image have shown up but I think that I kicked myself out of the album. This part "?full_img=uploads/5/109.jpg"(the full image) replaced this part "?album_id=5".
I am now trying to keep the album and full image parts together but not with any success.
I think that the address bar must be look for example like this,
"http://robcnossen.nl/login/view_album.php?album_id=5?full_img=uploads/5/109.jpg".
But I am not sure that this is possible.
I tried to get the albums part in the view_album.php for example like this;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
if (isset($albums)){
foreach ($albums as $album) {
echo '<a href="?album_id=', $album['id'], '">';
}
}
}
{
foreach ($images as $image) {
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['full_img'])) ? $_GET['full_img'] : $images[0];
echo'<a href="?full_img=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
[/syntax]
But as I was saying, not with any success.
I hope that you can understand this explanation, it is quite a long explanation, an can help me here.
If you need more code or whatever, let me know.
Re: photo gallery
Robbedoesie wrote: "http://robcnossen.nl/login/view_album.php?album_id=5?full_img=uploads/5/109.jpg".
You can use multiple $_GET variables by separating them with a &, like this "http://robcnossen.nl/login/view_album.php?album_id=5&full_img=uploads/5/109.jpg".
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
I'm still trying to show the main image on the same page as the thumbnails but it is not working.
In the albums.php the code is now;
[syntax=php]<?php
include 'core/init.php';
protect_page();
include 'template/header.php';
?>
<h3>Albums</h3>
<?php
$albums = get_albums();
if (isset($_GET['album_id'])){
$images = get_images($album_id);
}
if (empty($albums)) {
echo '<p>Je hebt nog geen album</p>';
} else {
//if there is an image inside the album, get the image
if (!empty($images)){
foreach ($images as $image){
(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
}
}{
foreach ($albums as $album) {
//show images inside an album
echo '<p><a href="view_album.php?album_id=', $album['id'],'&image_id=' ,$image['album'], '/', $image['id'], '.', $image['ext'], '">', $album['name'], '</a> (', $album['count'], ' foto\'s)<br />
', $album['description'], '...<br />
<a href="edit_album.php?album_id=', $album['id'], '">bewerken</a> / <a href="delete_album.php?album_id=', $album['id'], '">Verwijderen</a>
</p>';
}
}
}
?>[/syntax]
But nothing changes except that I get messages in the address barr like this;
http://www.robcnossen.nl/login/view_album.php?album_id=5&image_id=%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E/%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E.%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E.
My plan is to get inside the album with the foreach ($images as $image) loop and if there is an image in the album that I show an image.
I think that I'm not even reach an image maybe because I do something wrong with the foreach loop my plan is not right(maybe complete wrong ), and if I reach an image how can I get that image on the spot where I want it via view_album.php?
In the albums.php the code is now;
[syntax=php]<?php
include 'core/init.php';
protect_page();
include 'template/header.php';
?>
<h3>Albums</h3>
<?php
$albums = get_albums();
if (isset($_GET['album_id'])){
$images = get_images($album_id);
}
if (empty($albums)) {
echo '<p>Je hebt nog geen album</p>';
} else {
//if there is an image inside the album, get the image
if (!empty($images)){
foreach ($images as $image){
(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
}
}{
foreach ($albums as $album) {
//show images inside an album
echo '<p><a href="view_album.php?album_id=', $album['id'],'&image_id=' ,$image['album'], '/', $image['id'], '.', $image['ext'], '">', $album['name'], '</a> (', $album['count'], ' foto\'s)<br />
', $album['description'], '...<br />
<a href="edit_album.php?album_id=', $album['id'], '">bewerken</a> / <a href="delete_album.php?album_id=', $album['id'], '">Verwijderen</a>
</p>';
}
}
}
?>[/syntax]
But nothing changes except that I get messages in the address barr like this;
http://www.robcnossen.nl/login/view_album.php?album_id=5&image_id=%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E/%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E.%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20image%20in%20%3Cb%3E/data/home/cnos01/domains/robcnossen.nl/public_html/login/albums.php%3C/b%3E%20on%20line%20%3Cb%3E22%3C/b%3E%3Cbr%20/%3E.
My plan is to get inside the album with the foreach ($images as $image) loop and if there is an image in the album that I show an image.
I think that I'm not even reach an image maybe because I do something wrong with the foreach loop my plan is not right(maybe complete wrong ), and if I reach an image how can I get that image on the spot where I want it via view_album.php?
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Forget my last post, completely wrong thinking, in albums.php are no images so not smart thinking. I am now trying to keep the album_id with the image_id in view_album.php.
In view_albums.php the code is now;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
echo'<a href="uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>
</div>
<div id="footer">
<?php
include 'template/footer.php';
?>
</div>
</div>
</body>
</html>[/syntax]
Which result in;http://www.robcnossen.nl/login/view_album.php?album_id=5.
When you click on a thumbnail the main image shows up on the right spot on the same page as the thumbnails. That's good.
Only all the thumbnails are repeating themselves, how can I stop this?
And how can can I set a default so when I open this album that a main image is showing up right away?
In view_albums.php the code is now;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
echo'<a href="uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>
</div>
<div id="footer">
<?php
include 'template/footer.php';
?>
</div>
</div>
</body>
</html>[/syntax]
Which result in;http://www.robcnossen.nl/login/view_album.php?album_id=5.
When you click on a thumbnail the main image shows up on the right spot on the same page as the thumbnails. That's good.
Only all the thumbnails are repeating themselves, how can I stop this?
And how can can I set a default so when I open this album that a main image is showing up right away?
-
- Posts: 205
- Joined: Mon Jul 09, 2012 11:13 pm
Re: photo gallery
[syntax=php]<?php
foreach ($albums as $album) {
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>[/syntax]
Why are you looping inside of a loop? I believe that is the source of your error.
foreach ($albums as $album) {
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
?>[/syntax]
Why are you looping inside of a loop? I believe that is the source of your error.
<?php while(!$succeed = try()); ?>
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
I think so too, but there can be more than one albums and more than one image to choose from, so I think I need both foreach loops.
I think that the problem is the album foreach loop, in there are stored the thumbnails, and I don't know how to stop that they repeating themselves. The image foreach loop works fine.
I think that the problem is the album foreach loop, in there are stored the thumbnails, and I don't know how to stop that they repeating themselves. The image foreach loop works fine.
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Oke, the thumbnails are not repeating themselves anymore, but too get the main image shown up when opening this page is a more difficult question for me.
This is the code in where I try to get the main image in;
[syntax=php]<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
$image = true;
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
$image = false;
}
if(!$image) break;
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['album_id']) && (isset($_GET['image_id']))) ? $_GET['image_id'] : $images[0];
echo'<a href="',$album['id'],'uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>[/syntax]
In the div container "imagecontainer" I think I'll have to be. In this case I try to get the album id and image id, set the images default on zero and echo the album and image out. But whit no success at all. I don't come any further here and I hope you can help me out here.
Thanks...
This is the code in where I try to get the main image in;
[syntax=php]<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
$image = true;
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a> <a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
$image = false;
}
if(!$image) break;
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=(isset($_GET['album_id']) && (isset($_GET['image_id']))) ? $_GET['image_id'] : $images[0];
echo'<a href="',$album['id'],'uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>[/syntax]
In the div container "imagecontainer" I think I'll have to be. In this case I try to get the album id and image id, set the images default on zero and echo the album and image out. But whit no success at all. I don't come any further here and I hope you can help me out here.
Thanks...
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
If I open the view_album.php page I see on the place where the main image should be a broken image icon(I think that it a broken image icon is). If I click on this icon this message appears; Forbidden
You don't have permission to access /uploads// on this server. I set the permissions for this folder on 755 and in the folder I have a .htaccess file in Options -Indexes in it.
Could that be the problem and is maybe the code correct?
The page is http://www.robcnossen.nl/view_album.php?album_id=7
You don't have permission to access /uploads// on this server. I set the permissions for this folder on 755 and in the folder I have a .htaccess file in Options -Indexes in it.
Could that be the problem and is maybe the code correct?
The page is http://www.robcnossen.nl/view_album.php?album_id=7
Re: photo gallery
I see a php error in your HTML
[syntax=text]<a href="uploads//."><img src="<br />
<b>Warning</b>: htmlentities() expects parameter 1 to be string, array given in <b>/data/home/cnos01/domains/robcnossen.nl/public_html/view_album.php</b> on line <b>99</b><br />
" title="" /></div>[/syntax]
[syntax=text]<a href="uploads//."><img src="<br />
<b>Warning</b>: htmlentities() expects parameter 1 to be string, array given in <b>/data/home/cnos01/domains/robcnossen.nl/public_html/view_album.php</b> on line <b>99</b><br />
" title="" /></div>[/syntax]
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Do you see that in your browser? Why don't I see that, it only tells me that I don't have access to the folder uploads.
That warning means that it can't reach an image maybe because of a syntax error, doesn't it? Where must I look for the error, is that on line 99, it looks alright to me, but that is not a guarantee.
That warning means that it can't reach an image maybe because of a syntax error, doesn't it? Where must I look for the error, is that on line 99, it looks alright to me, but that is not a guarantee.
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
I can see that I get the right data from the array with print_r,
http://www.robcnossen.nl/view_album.php?album_id=7,
but not the image that belong with it, is that because of that warning? Do I then have to convert an array to a string?
http://www.robcnossen.nl/view_album.php?album_id=7,
but not the image that belong with it, is that because of that warning? Do I then have to convert an array to a string?
-
- Posts: 205
- Joined: Mon Jul 09, 2012 11:13 pm
Re: photo gallery
You are breaking up the array ($images) with a foreach. Then later down using htmlentities($full_image).
$full_image is sourcing the array which I believe is the source of your error I'm not too sure tbh.
$full_image is sourcing the array which I believe is the source of your error I'm not too sure tbh.
<?php while(!$succeed = try()); ?>
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Good be, but also I am not sure about that. I did print_r($full_image); and the right data came out for example;
Array ( [id] => 122 [name] => KONICA MINOLTA DIGITAL CAMERA_1043.jpg [album] => 7 [timestamp] => 1355299786 [ext] => jpg )
But maybe the image is not showing because somehow I don't have permission to access the upload folder which I don't understand because I chmod the folder uploads 755 like this;
[syntax=php]function create_album($album_name, $album_description) {
$album_name = mysql_real_escape_string (htmlentities($album_name));
$album_description = mysql_real_escape_string (htmlentities($album_description));
mysql_query("INSERT INTO `albums` VALUES ('', '".$_SESSION['user_id']."', UNIX_TIMESTAMP(), '$album_name', '$album_description')");
mkdir('uploads/'.mysql_insert_id(), 0755);
mkdir('uploads/thumbs/'.mysql_insert_id(), 0755);
}[/syntax]
Array ( [id] => 122 [name] => KONICA MINOLTA DIGITAL CAMERA_1043.jpg [album] => 7 [timestamp] => 1355299786 [ext] => jpg )
But maybe the image is not showing because somehow I don't have permission to access the upload folder which I don't understand because I chmod the folder uploads 755 like this;
[syntax=php]function create_album($album_name, $album_description) {
$album_name = mysql_real_escape_string (htmlentities($album_name));
$album_description = mysql_real_escape_string (htmlentities($album_description));
mysql_query("INSERT INTO `albums` VALUES ('', '".$_SESSION['user_id']."', UNIX_TIMESTAMP(), '$album_name', '$album_description')");
mkdir('uploads/'.mysql_insert_id(), 0755);
mkdir('uploads/thumbs/'.mysql_insert_id(), 0755);
}[/syntax]
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Here I am again, I hope you all are not getting tired of me.
I am not getting to the point where I want to be, so still no main image when you open the view_album.php page.
Jacek,I hope that the php error where you point me at is gone, but I'm not sure that it is gone. I used the implode function for that.
I think now that the main problem is that I use two foreach loops. With only the images foreach loop I can reach the uploads folder. With also the album foreach loop I don't get permission for the uploads folder.
Is there a better way then to use these two foreach loops together like this?
view_album.php;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
$image = true;
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
$image = false;
}
if(!$image) break;
implode(",",$images);
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=( chmod('uploads/',755));
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
echo'<a href="uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>
</div>
<div id="footer">
<?php
include 'template/footer.php';
?>
[/syntax]
I am not getting to the point where I want to be, so still no main image when you open the view_album.php page.
Jacek,I hope that the php error where you point me at is gone, but I'm not sure that it is gone. I used the implode function for that.
I think now that the main problem is that I use two foreach loops. With only the images foreach loop I can reach the uploads folder. With also the album foreach loop I don't get permission for the uploads folder.
Is there a better way then to use these two foreach loops together like this?
view_album.php;
[syntax=php]<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
$image = true;
foreach ($images as $image) {
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
$image = false;
}
if(!$image) break;
implode(",",$images);
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
$full_image=( chmod('uploads/',755));
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : $images[0];
echo'<a href="uploads/',$image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="',htmlentities($full_image), '" title="" />';
?>
</div>
</div>
<div id="footer">
<?php
include 'template/footer.php';
?>
[/syntax]
-
- Posts: 205
- Joined: Mon Jul 09, 2012 11:13 pm
Re: photo gallery
The htmlentities error is still there, just view the source of your page. Just for clarification, both the folder and files have 755 permission?
<?php while(!$succeed = try()); ?>
Re: photo gallery
ExtremeGaming wrote:You are breaking up the array ($images) with a foreach. Then later down using htmlentities($full_image).
$full_image is sourcing the array which I believe is the source of your error I'm not too sure tbh.
This is exactly it, you can't htmlentities an array, you want one specific key from that array. Most likely the name.
- Robbedoesie
- Posts: 97
- Joined: Thu May 19, 2011 7:37 pm
- Location: Enkhuizen, Holland
Re: photo gallery
Aha, of course, the error is shown in the page source.
The uploads and thumbs folders have 755 permission, the images itself have 644 permission. I removed the .htaccess file to see if that was the problem but it didn't make any changes.
The htmlentities error is gone, I used the id of the image because that is shown in the url [syntax=php]htmlentities($full_image['id'])[/syntax]. At least, when it shows up. When I click on the id number in the page source an 500 Internal Server Error shows up. Is that because there is no permission to access the uploads folder and everything behind that?
Thanks for helping me...
The htmlentities error is still there, just view the source of your page. Just for clarification, both the folder and files have 755 permission?
The uploads and thumbs folders have 755 permission, the images itself have 644 permission. I removed the .htaccess file to see if that was the problem but it didn't make any changes.
The htmlentities error is gone, I used the id of the image because that is shown in the url [syntax=php]htmlentities($full_image['id'])[/syntax]. At least, when it shows up. When I click on the id number in the page source an 500 Internal Server Error shows up. Is that because there is no permission to access the uploads folder and everything behind that?
Thanks for helping me...