Terug naar vorige pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Luc Baetsle

Luc Baetsle

15/11/2012 20:39:16
Quote Anchor link
Ik heb een PHP scriptje:

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
<?php
$dirname
= "images/".$_POST["code"]."/";
if (is_dir($dirname)) {
$images = scandir($dirname);
$ignore = Array(".", "..");
foreach($images as $curimg){
if(!in_array($curimg, $ignore)) {
echo "<img src='$dirname/$curimg' width='200px' height='200px'/><br>\n";
}
}
}
else {
print 'Sorry, de opgegeven map bestaat niet';
header('location: index.html');
}

?>


Ik wil, indien de opgegeven map niet bestaat, terugkeren naar de html pagina waar de code moet worden ingevuld. Hoe kan ik dit doen ?
Kan ik bij de print ook de ingegeven map (die foutief is) weergeven ?

Mvg,
 
PHP hulp

PHP hulp

25/11/2024 11:50:50
 
Eddy E

Eddy E

15/11/2012 20:50:03
Quote Anchor link
Allereerst je code wat netter.

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
37
<?php
    // verkrijg directory
    $dirname = "images/" . $_POST["code"] . "/";

    // kijk of de opgegeven map bestaat: zo ja: toon de foto's daaruit
    if(is_dir($dirname))
    {

        $images = glob("*");

        if(count($images) > 0)
        {

            foreach($images as $curimg)
            {

                echo '<img src="' . $curimg . '"><br>' . PHP_EOL;
            }
        }

        else
        {
            echo 'Er zijn geen afbeeldingen gevonden in deze map.';
        }
    }

    else
    {
        // functie om de mappen te kiezen
        echo toon_mappen();

        // of gewoon die includen
        include ("vorige_pagina.php");

        // of gewoon een header
        header("Location: welkepaginadanook.php");

        // of gewoon de vorige pagina ophalen en tonen
        echo file_get_contents("vorigepagina.php");

    }

?>


Onderaan staan 4 methoden om te doen wat jij wilt.
Onthoud: gewone (klikkende) gebruikers komen altijd goed uit, want jij stuurt ze daar heen.
Let op dat je de map-namen wel limiteert tot Aa-Zz_- etc.

Toevoeging op 15/11/2012 20:55:50:

Wellicht is deze nog beter:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
    // standaard-dingen
    $fout = false;

    // kijk of er wel een code is
    if(isset($_POST['code']))
    {

        $dirname = $start_dir . $_POST["code"] . "/";

        // kijk of de opgegeven map bestaat: zo ja: toon de foto's daaruit
        if(is_dir($dirname))
        {

            $images = glob("*");

            if(count($images) > 0)
            {

                foreach($images as $curimg)
                {

                    echo '<img src="' . $curimg . '"><br>' . PHP_EOL;
                }
            }

            else
            {
                echo 'Er zijn geen afbeeldingen gevonden in deze map.';
                $fout = true;
            }
        }

        else
        {
            echo 'De opgegeven map bestaat niet.';
            $fout = true;
        }
    }

    else
    {
        $fout = true;
    }


    // bij fouten (geen map / foute map / geen foto's etc)
    if($fout == true)
    {

        // functie om de mappen te kiezen
        echo toon_mappen();

        // of gewoon die includen
        include ("vorige_pagina.php");

        // of gewoon een header
        header("Location: welkepaginadanook.php");

        // of gewoon de vorige pagina ophalen en tonen
        echo file_get_contents("vorigepagina.php");
    }

?>


En ook gelijk even normale HTML (waarom zou je Xhtml gebruiken?) gebruikt.
En probeer \n gewoon als PHP_EOL te typen aangezien dat op alle systemen werkt.
Ook de inline-gegevens van formaat kan moet je vervangen door CSS.
 
Luc Baetsle

Luc Baetsle

15/11/2012 21:40:16
Quote Anchor link
Lukt niet, heb dirname aangepast naar $dirname = "images/".$_POST["code"]."/";, want hierin staan de mappen, en toch krijg ik de melding dat er geen foto's zijn.

Toevoeging op 15/11/2012 22:34:22:

Hoe kan ik maw een html pagina openen als er fout optreedt ?

print 'Sorry, de opgegeven map bestaat niet'; -> Komt op het scherm
header('location: index.html'); -> Lukt blijkbaar niet.

Ik wil dat bij een fout de boodschap wordt getoond, en na een 10'' wordt teruggegaan naar de index.html pagina.
 



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.