Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Aloitussivu ongelma

Hagrid [24.02.2004 14:29:06]

#

Olen tässä harjoitellut php:ta samalla kun olen tehnyt vanhempieni yrityksen kotisivuja uuteen uskoon. Tuli tällainen ongelma vastaan, että omalla palvelimellani sivut näyttävät seuraavilta:

http://koti.mbnet.fi/kozzu/localhost.jpg

Muttakun siirrän ne esim. mbnettiin

http://koti.mbnet.fi/kozzu/ktoy/

niin aloitussivua ei löydy jostain syystä. Olen käyttänyt täältä Ohjelmointiputkasta ja muualtakin löytyviä koodivinkkejä, ja muokannu niitä tarpeen tullen.

Aloitussivun koodia:

//Määritä seuraavaan muuttujaan kansio, missä sivukansiot ovat.
$kansio = "sivut";
//Napataan painettu linkki. Jos GET-metodia ei ole määritelty, avataan Etusivu.
if ( ! ($page = $_GET["page"])) $page = "Aloitus";
//Funktio lukee yllä määritetyn kansion sisällön ja tulostaa linkit
function tee_navi_linkit($dir) {
        $a=@opendir($dir);
            while($file = readdir($a)) {
                if(ereg("^\\.",$file)) continue;
                print "<a href=\"?page=".$file."\">".$file."</a><p>\n";
            }
            closedir($a);
        }
?>
<html>
<head>
<!-- Sivun otsikoksi saa kätevästi halutun sivun. Huom. Otsikko tulostetaan, vaikka sivua ei löytyisi -->
<title>Kuusamon Työkone Oy - <?php print $page; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body> <br>
<center><table width="75%"  height="50%" border=3 bordercolor=#5255BC >
  <tr>
    <td width="15%"  align="left" valign=center bgcolor=#558DE1>
	<p><p>
      <?php
    //Tulostetaan vasempaan sarakkeeseen linkit
    tee_navi_linkit($kansio);
    ?>
    </td>
    <td width="70%" border="3" valign=top >
    <?php
        //Tulostetaan pääsarakkeeseen haluttu sivu. Jossei löydy => error
        if (file_exists($kansio."/".$page."/index.php")) include($kansio."/".$page."/index.php");
        else include("error404.php");
    ?></td>

Juhis [24.02.2004 14:50:49]

#

Ettei vain olisi noissa liitetyissä tiedostoissa header() funkkaria käytössä? silloinhan toi kusee, koska koitat printtailla headereita html:n jälkeen, vaikka ne pitää ennen sitä printata.

Ja ps. opettele koodaamaan näin:

if($var == $arg) {
   // koodi ja sisennykset!
} else {
   // tai muuta
}

folio [24.02.2004 16:18:53]

#

if ( ! ($page = $_GET["page"])) $page = "Aloitus";

Sijoitusoperaattori palauttaa aina true, joten tuo if-lauseesi ei toteudu ikinä.

Käytä isset-funktiota.

Hagrid [24.02.2004 18:16:17]

#

Sain sivut pelaamaan toisella palvelimella (varsinainen palvelin minne sivut tulee), mutta nyt tuli sitten tuon laskurin kanssa ongelmia... Otin sen sivuilta pois väliaikaisesti, kunhan ratkaisen ongelman aiheuttajan.

Sivut löytyy nyt http://www.koillismaa.fi/~knet1163/

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta