Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP-include

Sivun loppuun

Rocceri [12.03.2009 16:45:14]

#

Minulla on koodi

<?php
foreach(file('bannatut.txt') as $ip)
{
  if (trim($ip) == $_SERVER['REMOTE_ADDR'])
    exit('Sinulla on porttikielto');
}
?>

ja haluaisin tuohon 'Sinulla on porttikielto' kohtaan laittaa include käskyn. Jos sen kirjoittaa ' ja ' merkkien sisään, se printtaa koodin sivulle, jos niitä ei laita, ei tapahdu mitään.
Miten saan siihen include käskyn?

Juhko [12.03.2009 17:05:39]

#

Mikset vain ohjaa bannattuja uudelle sivulle?

EDIT: Tai sitten echo readfile("sinut_on_bannattu.html"); Mutta siinä sinut_on_bannattu.html-tiedostossa ei vissiin voi käyttää PHP-koodia.

Rocceri [12.03.2009 17:07:10]

#

Voisihan sen tehdä sillälaillakin :)
Kiitos

Grez [12.03.2009 17:13:39]

#

Rocceri kirjoitti:

Minulla on koodi...
Miten saan siihen include käskyn?

Näin:

<?php
foreach(file('bannatut.txt') as $ip)
{
  if (trim($ip) == $_SERVER['REMOTE_ADDR'])
    include('tiedosto.php');
    exit();
}
?>

Rocceri [12.03.2009 17:36:49]

#

Joo, tää on paljon parempiiii ;)

kinnala [12.03.2009 18:41:25]

#

Grez kirjoitti:

Rocceri kirjoitti:

Minulla on koodi...
Miten saan siihen include käskyn?

Näin:

<?php
foreach(file('bannatut.txt') as $ip)
{
  if (trim($ip) == $_SERVER['REMOTE_ADDR'])
    include('tiedosto.php');
    exit();
}
?>

Taitaa tuosta uupua aaltosulkeita. Kas näin

<?php
foreach(file('bannatut.txt') as $ip)
{
  if (trim($ip) == $_SERVER['REMOTE_ADDR'])
  {
    include('tiedosto.php');
    exit();
  }
}
?>

TeNDoLLA [12.03.2009 20:42:44]

#

Toimii ilman aaltosulkuja niin kauan kun koodia suoritetaan vain yks rivi ehdon jälkeen http://www.w3schools.com/php/php_if_else.asp .

GimPeltzi [12.03.2009 20:44:59]

#

TeNDoLLA kirjoitti:

Toimii ilman aaltosulkuja niin kauan kun koodia suoritetaan vain yks rivi ehdon jälkeen http://www.w3schools.com/php/php_if_else.asp.

Mutta siinä on kaksi, include(); ja exit(); ?

TeNDoLLA [12.03.2009 20:47:06]

#

Eli ymmärtääkseni se menee niin, että se eka rivi sen ehdon jälkeen suoritetaan jos ehto täyttyi ja sen jälkeen tulevat rivit aina jokatapauksessa siitä huolimatta, vaikka ehto ei olisikaan täyttynyt. Joten tuo kyllä toimii, mutta jos halutaan suorittaa useempi rivi ehdon täyttyessä niin tarvitaan aaltosulut. Eli tässä tapauksessa tuo exit(); suoritetaan siis aina täytty ehto tai ei. Eli hieman huonosti ilmaisin tuon, että "koodia suoritetaan vain yks rivi", koodiahan kyllä suoritetaan eteenpäin, mutta se että riippuuko se ehdosta vai ei on eri asia.

tsuriga [12.03.2009 21:10:52]

#

Tässähän alunperin haettiin sitä exittiä silloin, kun ehto täyttyy — siispä: ei toimi (halutulla tavalla).

Grez [12.03.2009 22:32:54]

#

Niin siis tosiaan tarkoitukseni oli laittaa versio, missä olisi ne aaltosulut. Nyt vaan editoin koodia lainaus-ikkunassa ja tunkasin sen yhden rivin sinne väliin katsomatta tarkemmin -> pieleen meni.

Eli Kinnalan vastaus on se mitä tarkoitin.

Rocceri [13.03.2009 08:14:38]

#

Joo, en kyllä itekkään huomannut ennen Kinnalan kommenttia. Testailin aluksi vaan tyhjällä sivulla, niin tuo Grezin toimi mahtavasti, mutta sitten kun sivuilleni oikein laitoin, niin hävis sisältö.


Sivun alkuun

Vastaus

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

Tietoa sivustosta