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>
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 ( ! ($page = $_GET["page"])) $page = "Aloitus";
Sijoitusoperaattori palauttaa aina true, joten tuo if-lauseesi ei toteudu ikinä.
Käytä isset-funktiota.
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/
Aihe on jo aika vanha, joten et voi enää vastata siihen.