Avatar billede djalex Praktikant
20. juni 2007 - 11:52 Der er 10 kommentarer og
1 løsning

Php-indhold vises ikke

Kan nogen fortælle mig hvad der er galt med dette script (noget af det er copy/paste og andet har jeg selv lavet):


<? php
    if ($_REQUEST['dir'] == 'tom')
    {   
        //Vi starter tabellen til layout'et
        echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";   
        //sætter tabel til 1 for at kunne lave opdeling
        $tabel = 1;         
       
        //define the path as relative
        $path = "/home/web/web126139/alex/galleri";

        //using the opendir function
        $dir_handle = @opendir($path) or die("Unable to open $path");

        //running the while loop
        while ($file = readdir($dir_handle))
            {
           
            if($file!="." && $file!="..")
                  {
                if($tabel == '1')
                    {
                    echo "<tr><td><a href=index.php?s=content&p=galleri&dir=$file > <img src=/galleri/$file/logo.jpg align=\"middle\" border=0 alt=\"\" > $file</a><br/><br/></td>";
                    $tabel = 2;
                    }
                else
                    {
                    echo "<td><a href=index.php?s=content&p=galleri&dir=$file > <img src=/galleri/$file/logo.jpg align=\"middle\" border=0 alt=\"\" > $file</a><br/><br/></td></tr>";
                    $tabel = 1;
                    }
                }
            }
        //closing the directory
        closedir($dir_handle);
       
    //Slut tabellen af
    echo "</table>";
    }
   
    else
    {
        //Vi starter tabellen til layout'et
        echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";             
        //sætter tabel til 1 for at kunne lave opdeling
        $tabel = 1;
       
        $mappe = $_REQUEST['dir']
        //define the path as relative
        $path = "/home/web/web126139/alex/galleri/" . $mappe;

        //using the opendir function
        $dir_handle = @opendir($path) or die("Unable to open $path");

        //running the while loop
        while ($file = readdir($dir_handle))
            {
            if($file!="." && $file!=".." && $file!="logo.jpg")
                  {
                if($tabel == '1')
                    {
                    echo "<tr><td><a href=galleri/$mappe/$file target=_blank> <img src=/galleri/$mappe/$file/small/0001.jpg align=\"middle\" border=0 alt=\"\" > $file</a><br/><br/></td>";
                    $tabel = 2;
                    }
                else
                    {
                    echo "<td><a href=galleri/$mappe/$file target=_blank> <img src=/galleri/$mappe/$file/small/0001.jpg align=\"middle\" border=0 alt=\"\" > $file</a><br/><br/></td></tr>";
                    $tabel = 1;
                    }
                }
            }
        //closing the directory
        closedir($dir_handle);
       
    //Slut tabellen af
    echo "</table>";
    }   

?>
Avatar billede olebole Juniormester
20. juni 2007 - 12:05 #1
<ole>

Prøv at vise kode, PHP spytter ud

/mvh
</bole>
Avatar billede djalex Praktikant
20. juni 2007 - 12:25 #2
http://alex.wattez.dk/index.php?s=content&p=galleri&dir=tom

Ingenting altså + den afbryder at køre resten af alt php kode og resten af mit template..

(jeg har en template_h.php fil der bliver kaldt af index.php. efter den fil kommer den almindelige kode og så sluttes der af med template_f.php)
Avatar billede djalex Praktikant
20. juni 2007 - 12:41 #3
Hvis jeg fanger filen direkte:
http://alex.wattez.dk/code/gall.php?dir=tom

Så får jeg en parse error:
Parse error: syntax error, unexpected T_IF in /usr/home/web/web126139/alex/code/gall.php on line 2
Avatar billede olebole Juniormester
20. juni 2007 - 12:54 #4
Jeg får en fejl i linje 49. Hvad står der i koden fra 5 linjer før til 5 linjer efter linje 49?
Avatar billede djalex Praktikant
20. juni 2007 - 13:00 #5
Jeg prøver løbende at ændre det for at se om jeg kan eliminere fejlen... Men anyway:

    {
        //Vi starter tabellen til layout'et
        echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";             
        //sætter tabel til 1 for at kunne lave opdeling
        $tabel = 1;
       
        $mappe = $_REQUEST['dir']
        //define the path as relative
        $path = "/home/web/web126139/alex/galleri/$mappe";

        //using the opendir function
        $dir_handle = @opendir($path) or die("Unable to open $path");

Linje 49 er:
$path = "/home/web/web126139/alex/galleri/$mappe";


Men jeg kan lige se at jeg har glemt et ; i linje 47... :)
Avatar billede djalex Praktikant
20. juni 2007 - 13:01 #6
Nu virker det :)

Smid et svar, så deler vi point ;)
Avatar billede olebole Juniormester
20. juni 2007 - 13:07 #7
Ja, et manglende semikolon udløser altid en parseerror - som PHP opfatter, som hørende til den efterfølgende linje.
Da linje 48 er en PHP-kommentar, tælles den ikke med - og resultatet bliver derfor linje 49.

Læg selv et svar og accepter det, så dine points bliver tilbageført. Så venter vi med points-uddeling til engang, hvor jeg bidrager med mere substans, før løsning bliver fundet  ;o)
Avatar billede djalex Praktikant
20. juni 2007 - 13:12 #8
Bare i orden så :)

Men takker for hjælpen anyway - jeg googlede lidt på fejlen og det så ud til at det også kunne være mine tuborg klammer, så dem har jeg været godt og grundigt igennem alle sammen :)
Avatar billede olebole Juniormester
20. juni 2007 - 13:20 #9
Fejlen i linje 2 kan meget vel have hidrørt fra en Tuborg - eller mangel på samme. Læg mærke til at den fejl kaldtes en 'syntax error' - og det passer fint med en manglende Tuborg. Et manglende semikolon giver derimod en 'parse error'  =)

- og selvtak  ;o)
Avatar billede djalex Praktikant
20. juni 2007 - 13:23 #10
fejlen i linje 2 skyldtes:
<? php

i stedet for:
<?php

Googlede jeg mig frem til :)
Avatar billede olebole Juniormester
20. juni 2007 - 13:36 #11
- sæ'fø'li' var det dét, der var fejlen  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester