Mappenlees script en switch combineren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ellen Skapandi

Ellen Skapandi

04/02/2014 15:47:02
Quote Anchor link
ik heb 2 scripts. Die ik erg graag wil combineren en hier heb ik zelf een begin mee gemaakt. Echter werkt het nog niet.

1 script laat me de mapnamen uit een vooral afgestelde map lezen, met het andere script kan ik meerdere pagina's in 1 php bestand kwijt (en aanroepen met blabla.php?f=...)

Ik wil nu graag dat de case automatisch $folderEntry wordt en daarbij de goeie pagina wordt geinclude.


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
<?php
$f
= '';
if(isset($_GET['f'])) {
  $f = $_GET['f'];
}

switch($f) {
 case
"'.$folderEntry.'": echo'<h1>Module: '.$folderEntry.'</h1>';
include '../modules/'.$folderEntry.'/admin/index.php';
 break;
 
 default:
echo '<h1>Modules</h1>';

$folder=dir("../modules");

while($folderEntry=$folder->read()){
      echo '<a href="?f='.$folderEntry.'" class="contentblock"><img src="images/'.$folderEntry.'.png">'.$folderEntry.'</a>';
}

$folder->close();
}

?>


Op deze manier geeft hij geen fouten, maar de case lijkt niet aangemaakt.

Kan iemand me hier mee helpen?
 
PHP hulp

PHP hulp

21/11/2024 23:31:48
 
- SanThe -

- SanThe -

04/02/2014 15:50:33
Quote Anchor link
Zo te zien bestaat $folderEntry niet op regel 7.
Zet de error reporting eens aan.
 
Ellen Skapandi

Ellen Skapandi

04/02/2014 15:55:55
Quote Anchor link
Dat dacht ik ook al, maar toen ik $folderentry eerder aanmaakte, begon hij wel fouten te geven.

Ik heb zojuist dit toegevoegd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
?>


en dan krijg ik dit eruit:

Notice: Undefined variable: folderEntry in ......modules.php on line 14

Ik heb er dus nu nog wat regels boven staan, dus regel 14 is in mijn eerdere script regel 7
Gewijzigd op 04/02/2014 15:59:36 door Ellen Skapandi
 
- SanThe -

- SanThe -

04/02/2014 15:58:06
Quote Anchor link
Dus die bestaat niet.
 
Ellen Skapandi

Ellen Skapandi

04/02/2014 16:09:28
Quote Anchor link
oke.
Wat ik al zei, heb ik geprobeerd die functie bovenin ook werkende te krijgen.
Hier krijg ik een fout uit
(Parse error: syntax error, unexpected T_WHILE, expecting T_CASE or T_DEFAULT or '}' in ../../../../modules.php on line 15)

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
<?php
$folder
=dir("../modules");
$f = '';
if(isset($_GET['f'])) {
  $f = $_GET['f'];
}

switch($f) {
while($folderEntry=$folder->read()){
 case
"'.$folderEntry.'": echo'<h1>Module: '.$folderEntry.'</h1>';
include '../modules/'.$folderEntry.'/admin/index.php';
 break;
}
 default:
echo '<h1>Modules</h1>';

while($folderEntry=$folder->read()){
      echo '<a href="?f='.$folderEntry.'" class="contentblock"><img src="images/'.$folderEntry.'.png">'.$folderEntry.'</a>';
}

$folder->close();

}

?>
Gewijzigd op 04/02/2014 16:09:58 door Ellen Skapandi
 
- SanThe -

- SanThe -

04/02/2014 16:11:18
Quote Anchor link
Switch() verwacht case of default.
Daar kan geen while() staan.
 
Ellen Skapandi

Ellen Skapandi

04/02/2014 16:12:28
Quote Anchor link
oke. hoe kan ik wel bereiken wat ik wil?
 
- SanThe -

- SanThe -

04/02/2014 16:25:25
Quote Anchor link
Ik denk zoiets:
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
<?php
$f
= '';
if(isset($_GET['f']))
{

    $f = $_GET['f'];
}


$folder=dir("../modules");
$entrys = array();
while($folderEntry=$folder->read())
{

    $entrys[] = $folderEntry;
}

$folder->close();

if(in_array($f, $entrys))
{

    echo'<h1>Module: '.$f.'</h1>';
    include '../modules/'.$f.'/admin/index.php';
}

else
{
    echo '<h1>Modules</h1>';
    foreach($entrys as $folderEntry)
    {

        echo '<a href="?f='.$folderEntry.'" class="contentblock"><img src="images/'.$folderEntry.'.png">'.$folderEntry.'</a>';
    }
}

?>
 
Ellen Skapandi

Ellen Skapandi

04/02/2014 16:31:43
Quote Anchor link
Je bent een held! Het werkt!
Ik geloof dat jij altijd diegene bent die mij met mijn vragen helpt. Bedankt!
 



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.