Foto's weergeven, kan de fout niet ontdekken!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Mike Van der Veer

Mike Van der Veer

29/03/2015 20:49:58
Quote Anchor link
Voor een opdracht voor school heb ik me natuurlijk veel te veel werk op het hals gehaald en ben ik begonnen met het bouwen van een website. Het is niet voor een informaticavak dus het script hoeft niet potdicht te zitten, moet gewoon aardig in elkaar zitten (ik studeer geschiedenis, iets volledig tegenovergesteld dus ..). Nou wil ik een aantal foto's laten zien met een galerijtje en heb ik het volgende scriptje geschreven. Het probleem is dus; hij werkt niet. Waar ligt dit aan? Ik kan de fout echt niet ontrafelen, terwijl 'ie waarschijnlijk erg obvious is .. M'n php kennis is oké, maar niet echt hoogstaand.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
//Hier voer je de map in  
$dir = "p5";
//Hier voer je het aantal afbeeldingen in. Afbeeldingen opgeslagen als [nr].jpg
$aantal = 4;
//Naam van de pagina
$pagename = "viewer.php";
//Hier niets aan veranderen
$currentimage = $_GET['afbnr']; //adres is viewer.php/?afbnr= ..
if is_numeric($currentimage){
          if ($currentimage = 1) {
                $next = $currentimage + 1; //wanneer het de eerste foto is
                echo '<img src="["' . $dir . '"]/["' . $currentimage . '"].jpg"><br><br>' . "\n";
                echo '<a href="["' . $naampagina . '"]/?id=["' . $next .'"]">Volgende</a>' . "\n";
            }
elseif ($currentimage = $aantal){ //wanneer de laatste foto is bereikt.
                $previous = $currentimage - 1;
                echo '<img src="["' . $dir . '"]/["' . $currentimage . '"].jpg"><br><br>' . "\n";
                echo '<a href="["' . $naampagina . '"]/?id=["' . $previous .'"]">Vorige</a>' . "\n";
          }
elseif ($currentimage > $aantal){ //als het afb. nummer niet bestaat
          echo 'Deze afbeeldig bestaat niet!'      
          } else { //anders zit het er ergens tussenin, dus hoort ie erbij.
               $next = $currentimage + 1;
                $previous = $currentimage - 1;
                echo '<img src="["' . $dir . '"]/["' . $currentimage . '"].jpg"><br><br>' . "\n";
                echo '<a href="["' . $naampagina . '"]/?id=["' . $next .'"]">Volgende</a> |
                <a href="["'
. $naampagina . '"]/?id=["' . $previous .'"]">Vorige</a>' . "\n";
            }
}
else{
    echo 'Dit is een niet bestaande pagina omdat het afbeelding-nummer geen getal is!';
}

        ?>
 
PHP hulp

PHP hulp

07/01/2025 07:44:32
 
- Ariën  -
Beheerder

- Ariën -

29/03/2015 20:57:42
Quote Anchor link
Maar wat werkt er wel?
Het script zal toch wel iets doen, lijkt me? Al is het maar een foutmelding (zorg ervoor dat error_reporting op E_ALL staat en display_errors op on.
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 21:05:48
Quote Anchor link
Goed dat je het zegt, dat was ik inderdaad. Ik heb error reporting op E_ALL gezet, maar het lost niks op. Krijg nog steeds een 'blank page' ..
 
- Ariën  -
Beheerder

- Ariën -

29/03/2015 21:17:06
Quote Anchor link
en display_errors al aangezet?
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 21:23:45
Quote Anchor link
Ja en al in alle vormen en maten die er te bedenken zijn .. Nog steeds niks :(
 
- SanThe -

- SanThe -

29/03/2015 21:24:51
Quote Anchor link
if is_numeric($currentimage){

if(is_numeric($currentimage)){
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 21:34:45
Quote Anchor link
- SanThe - op 29/03/2015 21:24:51:
if is_numeric($currentimage){

if(is_numeric($currentimage)){

Inmiddels gedaan, maar dat is het niet. Hij werkt namelijk nog steeds niet ..
 
Obelix Idefix

Obelix Idefix

29/03/2015 21:41:13
Quote Anchor link
Mike Van der Veer op 29/03/2015 20:49:58:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
   if ($currentimage = 1) {
 ?>

Gaat dit wel goed?

Ik neem aan dat er nog meer is aan html (wat boven deze code staat)?

Wat als je in de broncode kijkt? Staat daar wel wat?
 
- SanThe -

- SanThe -

29/03/2015 21:47:10
Quote Anchor link
Waarom al die [ ] in de echo's?
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 21:56:07
Quote Anchor link
Momenteel nog niet, geen html tekst. Heb het wel geprobeerd met <html><head><body> eromheen maar dat lost ook niets op. Als ik de paginabron bekijkt staat er overigens niets.

Die haakjes heb ik inmiddels weggehaald.
 
- SanThe -

- SanThe -

29/03/2015 22:04:35
Quote Anchor link
Waar komt $_GET['afbnr'] vandaan?
 
Obelix Idefix

Obelix Idefix

29/03/2015 22:07:02
Quote Anchor link
Mike Van der Veer op 29/03/2015 21:56:07:
Momenteel nog niet, geen html tekst. Heb het wel geprobeerd met <html><head><body> eromheen maar dat lost ook niets op.

Oplossen misschien niet, maar als je wilt dat je uiteindelijk werkende pagina goed wordt weergegeven wel noodzakelijk.

Wat is de extensie van de bestandsnaam?
Wat als je op regel 2 zet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo 'test'; ?>
?
Gewijzigd op 29/03/2015 22:08:07 door Obelix Idefix
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 22:11:09
Quote Anchor link
Die GET komt uit de titel: wanneer je naar [adres].php/?afbnr=1 bijv.

Had ook een foutje gezien, die links waren verkeerd (had daar id staan ipv afbnr), dus aangepast.

html inmiddels er ook bij gezet, werkt nog steeds niet. Wanneer ik test op regel 2 van de php code zet doet ie nog steeds niets ..
Gewijzigd op 29/03/2015 22:14:48 door Mike Van der Veer
 
Obelix Idefix

Obelix Idefix

29/03/2015 22:27:27
Quote Anchor link
Mike Van der Veer op 29/03/2015 22:11:09:
Wanneer ik test op regel 2 van de php code zet doet ie nog steeds niets ..

Welke extensie heeft het bestand?

Draai je het bestand lokaal/op je pc? Of bij een host?
In het 1e geval: hoe roep je het bestand aan?
Gewijzigd op 29/03/2015 22:27:54 door Obelix Idefix
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 22:37:42
Quote Anchor link
Bij een host dus online en niet lokaal. Extensie is .php. Daar moet je ze toch ook altijd op opslaan?
 
Ivo P

Ivo P

29/03/2015 22:39:11
Quote Anchor link
if ($currentimage = 1) {

Als het lukt om de waarde 1 in die var te stoppen ....


Gebruik je echter == dan betekent het: als de waarde van de var 1 is dan....

Gezien je in de elseif ook = gebruikt vermoed ik dat je == nodig hebt
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 22:52:05
Quote Anchor link
Ivo P op 29/03/2015 22:39:11:
if ($currentimage = 1) {

Als het lukt om de waarde 1 in die var te stoppen ....


Gebruik je echter == dan betekent het: als de waarde van de var 1 is dan....

Gezien je in de elseif ook = gebruikt vermoed ik dat je == nodig hebt

Heb ik nu aangepast, maar ik krijg nog steeds niets. Ook die 'test' echo werkt niet. Dit heb ik nu:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Viewer</title>
</head>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
echo 'test';
ini_set("display_errors", 1);
ini_set("track_errors", 1);
ini_set("html_errors", 1);
error_reporting(E_ALL);
//Hier voer je de map in  
$dir = "p5";
//Hier voer je het aantal afbeeldingen in. Afbeeldingen opgeslagen als [nr].jpg
$aantal = 4;
//Naam van de pagina
$pagename = "viewer.php";
//Hier niets aan veranderen
$currentimage = $_GET['afbnr']; //adres is viewer.php/?afbnr= ..
if(is_numeric($currentimage)){
          if ($currentimage == 1) {
                $next = $currentimage + 1; //wanneer het de eerste foto is
                echo '<img src="' . $dir . '/' . $currentimage . '.jpg"><br><br>' . "\n";
                echo '<a href="' . $naampagina . '/?afbnr=' . $next .'">Volgende</a>' . "\n";
            }
elseif ($currentimage = $aantal){ //wanneer de laatste foto is bereikt.
                $previous = $currentimage - 1;
                echo '<img src="' . $dir . '/' . $currentimage . '.jpg"><br><br>' . "\n";
                echo '<a href="' . $naampagina . '/?afbnr=' . $previous .'">Vorige</a>' . "\n";
          }
elseif ($currentimage > $aantal){ //als het afb. nummer niet bestaat
          echo 'Deze afbeeldig bestaat niet!'      
          } else { //anders zit het er ergens tussenin, dus hoort ie erbij.
               $next = $currentimage + 1;
                $previous = $currentimage - 1;
                echo '<img src="' . $dir . '/' . $currentimage . '.jpg"><br><br>' . "\n";
                echo '<a href="' . $naampagina . '/?afbnr=' . $next .'">Volgende</a> |
                <a href="'
. $naampagina . '/?afbnr=' . $previous .'">Vorige</a>' . "\n";
            }
}
else{
    echo 'Dit is een niet bestaande pagina omdat het afbeelding-nummer geen getal is!';
}

        ?>

</body>
</html>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/03/2015 22:59:39
Quote Anchor link
En waar bewaar je dit bestand? Lokaal of heb je het uploaded naar een provider?
Welke provider heb je of hoe vraag je het bestand lokaal op? onder welk besturingssysteem werk je? etc
Kortom geef ons iets meer informatie
 
Mike Van der Veer

Mike Van der Veer

29/03/2015 23:06:23
Quote Anchor link
Geupload naar een provider, de provider is TransIP. Zit op een mac dus OS X Yosemite. Maar dat zou niet uit moeten maken want hij moet op de meeste besturingssystemen toch kunnen draaien? Heb zowel in chrome als safari geprobeerd te openen, allebei met hetzelfde resultaat ..
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/03/2015 23:19:33
Quote Anchor link
Duidelijk. Hoe heet het bestand waarin deze code staat? roep je wel het juiste bestand op? Want
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo 'test'; ?>
zou zeker moeten werken.
 
- SanThe -

- SanThe -

29/03/2015 23:21:43
Quote Anchor link
} elseif ($currentimage = $aantal){

} elseif ($currentimage == $aantal){
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.