login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Opgelost]Code volgende weigert

Offline KoenVR - 20/08/2006 15:57 (laatste wijziging 21/08/2006 16:21)
Avatar van KoenVRLid de code zou feitelijk in een directory,
van foto naar foto moeten gaan,
maar enkel de 'knop' Vorige werkt.
de knop volgende weigert,
zien jullie in waarom
(als ik vorige er niet bij zet werkt volgende wel)
(in checkurl.php wordt gewoon de map gecontroleerd en in array gestoken:
foto[0] = hoofdmap
foto[1] = subdirectory
foto[2]= fotonaam zelf.
  1. <?php
  2. include('checkurl.php');
  3. ?>
  4. <html>
  5. <head>
  6. <title>Fotoalbum</title>
  7. </head>
  8. <body>
  9. <h1>
  10. <?php
  11. echo $foto[1];
  12. ?> </H1>
  13.  
  14. <?php
  15. $map = $foto[0];
  16. $sub = $foto[1];
  17. $pic = $foto[2];
  18.  
  19. function volgende()
  20. {
  21. global $pic;
  22. global $map;
  23. global $sub;
  24. global $tonen;
  25.  
  26. $tonen .= $map;
  27. $tonen .= "/";
  28. $tonen .= $sub;
  29. $tonen .= "/" ;
  30. $pic=$pic+1;
  31. $tonen .= $pic;
  32. return $tonen;
  33. }
  34. function vorige()
  35. {
  36. global $pic;
  37. global $map;
  38. global $sub;
  39. global $tonen;
  40.  
  41. $tonen .= $map;
  42. $tonen .= "/";
  43. $tonen .= $sub;
  44. $tonen .= "/" ;
  45. $pic=$pic-1;
  46. $tonen .= $pic;
  47. return $tonen;
  48. }
  49. echo '<center>';
  50. echo '<table width=100%>
  51. <tr>
  52. <td width=50%>
  53. <a href="?direct='.vorige().'">vorige</a>
  54. </td>
  55. <td width=50% align="right">
  56. <a href="?direct='.volgende().'">volgende</a>
  57. </td>
  58. </tr>
  59. </table>';
  60. ?>
  61. <img src="<?= $_GET[direct] ?>" width="50%">
  62.  
  63. </body>
  64. </html>

17 antwoorden

Gesponsorde links
Offline Stijn - 20/08/2006 17:24
Avatar van Stijn PHP expert doe eens die global $tonen; weg in beide functies... PHP.net: global
Offline ikkedikke - 20/08/2006 18:43
Avatar van ikkedikke PHP expert of op regel 26 en 41 dat eerste puntje voor de = weghalen
Offline KoenVR - 20/08/2006 20:11 (laatste wijziging 21/08/2006 12:25)
Avatar van KoenVR Lid Nu hebbek dit,
de vorige werkt, maar volgende doet niks (dus hij geeft geen fout meer, dezelfde foto blijft staan, maar hij verandert dus ook niet)

edit: sorry voor de kick, maar is er echt niemand die kan/wil helpen 
  1. <?php
  2. include('checkurl.php');
  3. ?>
  4. <html>
  5. <head>
  6. <title>Fotoalbum</title>
  7. </head>
  8. <body>
  9. <h1>
  10. <?php
  11. echo $foto[1];
  12. ?> </H1>
  13.  
  14. <?php
  15. $map = $foto[0];
  16. $sub = $foto[1];
  17. $pic = $foto[2];
  18.  
  19. function volgende()
  20. {
  21. global $pic;
  22. global $map;
  23. global $sub;
  24.  
  25. $tonen = $map;
  26. $tonen .= "/";
  27. $tonen .= $sub;
  28. $tonen .= "/" ;
  29. $pic=$pic+1;
  30. $tonen .= $pic;
  31. return $tonen;
  32. }
  33. function vorige()
  34. {
  35. global $pic;
  36. global $map;
  37. global $sub;
  38.  
  39. $tonen = $map;
  40. $tonen .= "/";
  41. $tonen .= $sub;
  42. $tonen .= "/" ;
  43. $pic=$pic-1;
  44. $tonen .= $pic;
  45. return $tonen;
  46. }
  47. echo '<center>';
  48. echo '<table width=100%>
  49. <tr>
  50. <td width=50%>
  51. <a href="?direct='.vorige().'">vorige</a>
  52. </td>
  53. <td width=50% align="right">
  54. <a href="?direct='.volgende().'">volgende</a>
  55. </td>
  56. </tr>
  57. </table>';
  58. ?>
  59. <img src="<?= $_GET[direct] ?>" width="50%">
  60.  
  61. </body>
  62. </html>
Offline cloudstrife - 21/08/2006 12:31
Avatar van cloudstrife PHP beginner op regel 59 misschien nog een ; plaatsen
Offline KoenVR - 21/08/2006 12:35
Avatar van KoenVR Lid ; geplaatst
maar de volgende werkt nog steeds niet,
(vorige blijft werken )
Offline Abbas - 21/08/2006 13:01
Avatar van Abbas Gouden medaille

Crew .NET
op regel 59 staat:

  1. <img src="<?= $_GET[direct] ?>" width="50%">


Moet dit niet zijn:

  1. <img src="<?php $_GET['direct'] ?>" width="50">


laat maar weten of het werkt of niet eh 
Offline Thomas - 21/08/2006 13:45
Avatar van Thomas Moderator Nope titjes, je drukt niets af met jouw tweede codefragment...
Offline KoenVR - 21/08/2006 13:46
Avatar van KoenVR Lid de afbeelding wordt goed weergegeven hoor,
maar de functie vorige wordt ofwel niet goed 'aangesproke' of werkt niet goed,

terwijl alles volledig hetzelfde is als bij vorige (behalve dan +1)
en dat vorige wel werkt...

het rare is.
als ik de code van vorige met // zet (dus als commentaar)
dat volgende dan wel weer werkt
Offline Thomas - 21/08/2006 14:20 (laatste wijziging 21/08/2006 14:20)
Avatar van Thomas Moderator Hm, eerst verlaag je de globale waarde van "pic", en daarna verhoog je deze weer... Wat zou hier aan schelen? 
Offline KoenVR - 21/08/2006 14:45
Avatar van KoenVR Lid is toch in een functie?
functie wordt toch pas uitgevoerd als ze aangeroepen wordt?
Offline Thomas - 21/08/2006 15:13
Avatar van Thomas Moderator Stel het huidige plaatje is 4.

Vorige plaatje wordt 3, $pic (globaal) wordt tevens 3.
Volgende plaatje wordt 3+1 = 4, maar dit is dus niet het volgende plaatje (5).

Snappie?
Offline KoenVR - 21/08/2006 15:18
Avatar van KoenVR Lid ik volg niet direct,

stel huidig plaatje is 4.
je drukt op vorige, dan wordt huidig plaatje 3,

stel huidig plaatje is 4,
je drukt op volgende, dan wordt huidig plaatje 5


stel je het plaatje is 4,
je drukt op vorige, dan wordt eerst plaatje 3 weergegeven,
je drukt dan weer op volgende dan wordt 4 weergegeven (wat zou kloppen)

aangezien ze beide toch in een afzonderlijke functie staan?


tkan zijn dat ik weer logica tekort kom natuurlijk, en dan mag je me altijd tips geven hoe ik de code dan moet zetten
Offline Thomas - 21/08/2006 16:12
Avatar van Thomas Moderator Kijk eens naar de HTML-source die deze code genereert, dan begrijp je wel wat ik bedoel denk ik.

Het is wellicht beter om op grond van de huidge waarde in $_GET het vorige / volgende plaatje te bepalen.
Offline KoenVR - 21/08/2006 16:16 (laatste wijziging 21/08/2006 16:19)
Avatar van KoenVR Lid ow my god...
de oplossing is gewoon + 2 doen....

@ FangorN,
ik snap het nog niet volledig, hoe het komt eigelijk,
maar de oplossing is er,
het werkt door +2 te doen...
Offline NightFox - 21/08/2006 17:15
Avatar van NightFox Nieuw lid Anders kom je op regel 15 op 0 uit en dan werkt het niet meer.
Offline KoenVR - 21/08/2006 17:19
Avatar van KoenVR Lid regel 15 gaat nooit nul zijn...
regel 15,
$foto[0], gaat (als je echo doet weergeven)
Foto.
Offline Thomas - 22/08/2006 13:42
Avatar van Thomas Moderator I have failed again...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s