Kirjaudu sisäänKäyttäjätunnusSalasana
Kirjaa minut aina sisään automaattisesti    
Rekisteröidy
Rekisteröidy
Kirjaudu sisään tarkistaaksesi yksityiset viestit
Kirjaudu sisään tarkistaaksesi yksityiset viestit
Arkku.net Foorumin päävalikko » Ohjelmointi

Lähetä uusi viesti   Vastaa viestiin
PHP - ongelma includen kanssa
Näytä edellinen aihe :: Näytä seuraava aihe  
Kirjoittaja Viesti
Osiris
-


Liittynyt: 09 Jou 2005
Viestejä: 9

LähetäLähetetty: 13.4.2006 12:20    Viestin aihe: PHP - ongelma includen kanssa Vastaa lainaamalla viestiä

http://koopa.arkku.net/mario
Include lähdetiedostossa:
<?php
if($i==''){ $i="news.php"; }
include $i;
?>

Linkkiesimerkki:
<a href="index.php?i=linkit.php">Linkit</a></p>

Osaisiko joku sanoa, mikä on vialla kun include ei toimi. Linkin napsauttaminen ei vaikuta mitenkään. Ennen on toiminut mutta yhtäkkiä lakkasi toimimasta. Huom! Pelit-linkit eivät ole muutenkaan käytössä, joten niitä ei kannata kokeilla.
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti
Lurulude
Arkku.net henkilökunta


Liittynyt: 01 Syy 2005
Viestejä: 213
Paikkakunta: Lohja

LähetäLähetetty: 13.4.2006 12:51    Viestin aihe: Vastaa lainaamalla viestiä

tuo kannattaisi toteuttaa helpommalla tavalla, täälläkin on esitetty useita eri ohjeita kyseiseen toimintoon.
Pikaisesti väsätty purkka, joka ajaa saman asian kuin sun mallis:
Koodi:

<?php
$i = $_GET['i'];
if($i == "")
   {
   include "newsit.php";
   }
if($i == 'jeejee')
   {
   include "jeejee.php";
   }
else
   {
   include "virhe-sivu";
   }
?>


Lefan malli, jossa taulukosta luetaan mahdolliset sivut, sekä sislätää muutamia tietoturvallisuutta lisääviä kommervenkkejä (osoitteet muotoon ?page=jotain):
Koodi:
<?php
// Listaa tahan sivut
$pages = Array (
"etusivu" => "etusivu.php",
"etu" => "etu.php",
);
// Jos sivua ei loydy, naytetaan etusivu
$page = ($_GET["page"] != "") ? $_GET["page"] : "etusivu";
if (isset($pages[$page]) AND file_exists($pages[$page])) {
include ($pages[$page]);
} else {
// Jotakin vaarin! naytetaan 404-viesti
echo "Virhe 404 - Sivua ei löydy!";
}
function MakeArray ($dir) {
global $pages;
$handle = OpenDir ($dir) or die ("Couldn't open $handle!");
while (FALSE !== ($file = ReadDir($handle))) {
if ($file != ".." AND $file != ".") {
if (is_dir($dir . $file)) {
MakeArray ($dir . $file . "/");
} else {
$pages[ereg_replace("\.(.*)$", "", $file)] = $dir . $file;
}
}
}
CloseDir ($handle);
}
?>

Elekazin malli, joka hyödyntää switchiä (osoitteet muotoon ?sivu=jotain)
Koodi:

$sivu=$_GET['sivu'];
switch($sivu){
  case etusivu:
    include "etusivu.php";
    break;
  case tiedot:
    include "tiedot.php";
    break;
  case jotain:
    include "jotain.php";
    break;
  default:
    include "etusivu.php";
    break;
}

_________________
Arkku.net Staff
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti Lähetä sähköposti Käy lähettäjän sivustolla MSN Messenger
Osiris
-


Liittynyt: 09 Jou 2005
Viestejä: 9

LähetäLähetetty: 13.4.2006 14:01    Viestin aihe: Vastaa lainaamalla viestiä

Kiitoksia, nyt toimiit taas.
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 14:32    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 14:48    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 17:00    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Osiris
-


Liittynyt: 09 Jou 2005
Viestejä: 9

LähetäLähetetty: 15.4.2006 16:21    Viestin aihe: Vastaa lainaamalla viestiä

Kun te kerta olette noin hyviä niin osaisitte varmaan auttaa tämän toisenkin ongelman kanssa eli ulkoasunvaihtaja, joka sekin toimi aiemmin ihan hyvin mutta yhtäkkiä, samaan aikaan edellä mainitun includen kanssa, lakkasi toimimasta.

eli:
*index.php:
Koodi:
<?php
if($_COOKIE['layout'] == 'l1') {
      $swoosh="wideout.php";
   } else if($_COOKIE['layout'] == 'l2'){
      $swoosh="liteout.php";
   }else { $swoosh="wideout.php"; }

include $swoosh;
?>


*layoutindex.php:
Koodi:
<?php
    if($setlayout==1){
       setcookie('layout', 'l1', time()+(60*60*24*30)*12);
      $asdf='l1';
   } else if($setlayout==2){
       setcookie('layout', 'l2', time()+(60*60*24*30)*12);
      $asdf='l2';
   }else if ($setlayout==13){
      setcookie('layout', 'l0', time()-1);
   }
 
    if($asdf == 'l1') {
      $swoosh="wideout.php";
   } else if($asdf == 'l2') {
      $swoosh="liteout.php";
   } else { $swoosh="wideout.php"; }
   
   include $swoosh;
?>


ulkoasunvaihtolinkit:
Koodi:
http://koopa.arkku.net/mario/layoutindex.php?setlayout=1
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti
Poistettu
Vieras





LähetäLähetetty: 16.4.2006 1:27    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 16.4.2006 2:20    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Lefa
Arkku.net henkilökunta


Liittynyt: 09 Lok 2004
Viestejä: 827
Paikkakunta: Tampere

LähetäLähetetty: 16.4.2006 11:38    Viestin aihe: Re: PHP - ongelma includen kanssa Vastaa lainaamalla viestiä

IronGuard kirjoitti:
okei. Toi koodi on aika jees. Ei millään pahalla mutta...
koitas heittää koodi sivuille ja kirjoittaa vaikka index.php?i=/etc/passwd
Voipi tulostua nimittäin ko. tiedoston sisältö hyvin näkyviin. Smile


Yleenä voikin, mutta arkussa tämä on tietoturvasyistä estetty Smile
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti Lähetä sähköposti Käy lähettäjän sivustolla MSN Messenger
Näytä edelliset viestit:   
Lähetä uusi viesti   Vastaa viestiin    Arkku.net Foorumin päävalikko » Ohjelmointi Kaikki ajat ovat GMT + 3 tuntia
Sivu 1 Yht. 1

 
Siirry:  
Et voi kirjoittaa uusia viestejä tässä foorumissa
Et voi vastata viesteihin tässä foorumissa
Et voi muokata viestejäsi tässä foorumissa
Et voi poistaa viestejäsi tässä foorumissa
Et voi äänestää tässä foorumissa