Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Proste pytanko
mumiak
post 21.07.2003, 19:59:27
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


Mam nadzieje ze ktos mi pomoze, to jest chyba proste...


Kod
<?php



    $k=$_GET["dalej"];

    

if ($dalej=="")

        {

        include("baner1.htm");

        }





if ($dalej=="")

        {

        include(news/news.php");

        }

if ($dalej=="sonda")

        {

        include("sonda/pokaz.php");

        }

if ($dalej=="surf")

    {

    include("zawartosc/surf.htm");

    }

if ($dalej=="maile")

    {

    include("zawartosc/maile.html");

    }

if ($dalej=="inne")

    {

    include("zawartosc/inne.php");

    }

if ($dalej=="systemy")

    {

    include("zawartosc/systemy.php");

    }

.... etc...


Czy da sie zrobic tak zeby nie pisac tak dlugiego kodu i skrocic to jakos zeby sam pobieral nazwe z katalogu. powiedzmy mam takich 50 linijek z katalogiem zawartosc, mozna jakos to w funkcji napisac...

Z gory dziekuje bardzo za pomoc

pozdr
Go to the top of the page
+Quote Post
Omega
post 21.07.2003, 20:03:26
Post #2





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


Po pierwsze skożystaj z instrukcji switch... a po drugie powiedz o co ci dokładnie chodzi?questionmark.gif :?


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
mumiak
post 21.07.2003, 20:28:29
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


hm jestem poczatkujace to po pierwsze.

a chodzi mi dokladnie o skrocenie tego kodu
zeby nie pisac ciagle tego
Kod
if ($dalej=="xxx")

   {

   include("zawartosc/xxx.php");

   }


a te "xxx" to zawartosc katalogu "zawartosc"

mozesz mi to napisac?questionmark.gif
Go to the top of the page
+Quote Post
Omega
post 21.07.2003, 20:31:46
Post #4





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


Pierwsza sprawa:
pisz code zamykaj tak jak znaczniki HTML...

Druga sprawa, napisz po prostu:
[php:1:b822083736]<?php
include("zawartosc/$dalej.php");
?>[/php:1:b822083736]
i powinno działać...


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
mumiak
post 22.07.2003, 07:58:20
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


Cytat
Druga sprawa, napisz po prostu:
[php:1:fea8fe4ff0]<?php
include("zawartosc/$dalej.php");  
?>[/php:1:fea8fe4ff0]
i powinno działać...


No tak ale nadal moj kod bedzie dlugi.
Zmienna $dalej musi pobierac wartosc z katalogu "zawartosc" i musi byc w petli, mam racje? Tylko jak to napisac.

Dzieki juz mi pomogles biggrin.gif:D:D Jeszcze tylko jak pobrac te nazwy z katalogu?questionmark.gif
Go to the top of the page
+Quote Post
Omega
post 22.07.2003, 08:03:19
Post #6





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

Ostrzeżenie: (0%)
-----


[php:1:c610fed608]<?php
$katalog="./news/";
$uchwyt=opendir($katalog);
while($element = readdir($uchwyt))
{
if ($element!='.' and $element !='..')$elementy[] = $element;
}
closedir($uchwyt);
?>[/php:1:c610fed608]

Takim sposobem masz w tablicy $elementy wszystkie pliki z katalogu news...

Mam nadzieje że o to chodziło... biggrin.gif


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
GeoS
post 22.07.2003, 08:41:16
Post #7





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

Ostrzeżenie: (0%)
-----


Sprawdz to:

[php:1:0ebb619645]<?php

$k = $_GET['dalej'];
$dir = 'zawartosc/';

if(is_file($dir . $k) && !ereg('..',$k))
{
include($dir . $k);
}
else
{
include('baner1.htm');
include('news/news.php');
}

?>[/php:1:0ebb619645]

W tym wypadku zawsze dolaczy Ci ten plik co trzeba i bedziesz mial zabezpieczenie przed wychodzeniem do katalogow nadrzednych aaevil.gif

Mam nadzieje, ze sie nigdzie nie pomylilem.


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
mumiak
post 23.07.2003, 19:42:11
Post #8





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


Pisze tak:
[php:1:6bfa81d2ea]
<?php

$k = $_GET['dalej'];
$dir = 'zawartosc/';

if(is_file($dir . $k) && !ereg('..',$k))
{
include($dir . $k.htm);
}

if ($dalej=="")
{
include('baner1.htm');
include('http://192.168.1.111/~nowy%20folder/news/news.php');
}

?>[/php:1:6bfa81d2ea]

jak jest index.php newsy sie wyswietlaja baner tez, ale jak zmienie adres na np. index?dalej=kurs, gdzie kurs.htm znajduje sie w folderze zawartosc nic sie nie pojawia sad.gif

Albo tez tak chodz to pewnie calkiem zle
[php:1:6bfa81d2ea]
<?php
$katalog="./news/";
$uchwyt=opendir($katalog);
while($element = readdir($uchwyt))
{
if ($element!='.' and $element !='..')$elementy[] = $element;
}
closedir($uchwyt);


$k = $_GET['dalej'];

if ($dalej=="")
{
include('baner1.htm');
include('http://192.168.1.111/~nowy%20folder/news/news.php');
}

if ($dalej=="$element")
(
include('zawartosc/$dalej.htm')
)
?>[/php:1:6bfa81d2ea]

i tutaj blad wyskakuje ze nie ma takiego pliku sad.gifsad.gif

Jesli nadal jestescie chetni mi pomoc bede wdzieczny
pozdr
Go to the top of the page
+Quote Post
borec
post 23.07.2003, 20:12:17
Post #9





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Sprobuj tak:

[php:1:de585195d2]<?php

$k = $_GET['dalej'];
$dir = 'zawartosc/';

if ($dalej=="")
{
include('baner1.htm');
include('http://192.168.1.111/~nowy%20folder/news/news.php');
}
else {
if(is_file($dir . $k.htm) && !ereg('..',$k)) { include($dir . $k.htm); }
else { echo "Nie można odnaleźć strony. Błąd 404."; }
}

?> [/php:1:de585195d2]


--------------------
Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD
Go to the top of the page
+Quote Post
mumiak
post 23.07.2003, 21:41:03
Post #10





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


No i wyswietla mi sie ten komunikat "Nie można odnaleźć strony. Błąd 404. "
Tak jakby nazw z katalogu nie pobieralo sad.gifsad.gif
Go to the top of the page
+Quote Post
borec
post 23.07.2003, 21:51:34
Post #11





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


moze zly dir podales, sprobuj bezwzgledny


--------------------
Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD
Go to the top of the page
+Quote Post
mumiak
post 23.07.2003, 22:20:39
Post #12





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


dir jest raczej dobry bo jak zrobie zwykle
[php:1:e62e8df889]
if ($dalej=="cos");
(
include("zawartosc/cos.htm")
)
[/php:1:e62e8df889]
to wszystko dziala...
Go to the top of the page
+Quote Post
KaMeLeOn
post 23.07.2003, 22:38:03
Post #13





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Sprawdzaj bezpośrednio z superglobali, nie rób kopii zmiennych...
[php:1:0930464359]<?php
$katalog = 'zawartosc/';
if( isset($katalog . $_GET['dalej'] . '.htm') && file_exists($katalog . $_GET['dalej'] . '.htm') );
(
include $katalog . $_GET['dalej'] . '.htm';
)
?>[/php:1:0930464359]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
Seth
post 23.07.2003, 22:45:22
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


borec: Twoj podpis nie jest zgodny z regulaminem. Prsze jak najszybciej go zmienic.
Go to the top of the page
+Quote Post
LeWaR
post 24.07.2003, 08:37:27
Post #15





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 22.04.2002
Skąd: Szubin

Ostrzeżenie: (0%)
-----


Cytat
Pisze tak:
[php:1:7824815d89]
<?php

{
   include('baner1.htm');
   include('http://192.168.1.111/~nowy%20folder/news/news.php');
}

?>[/php:1:7824815d89]

includować to można z lokalnego dysku, a nie po ip czy przez http czy cokolwiek innego...
Go to the top of the page
+Quote Post
mumiak
post 24.07.2003, 09:16:04
Post #16





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 19.03.2003
Skąd: Piła

Ostrzeżenie: (0%)
-----


Cytat
Sprawdzaj bezpośrednio z superglobali, nie rób kopii zmiennych...
[php:1:96729e4c4a]<?php
$katalog = 'zawartosc/';
if( isset($katalog . $_GET['dalej'] . '.htm') && file_exists($katalog . $_GET['dalej'] . '.htm') );
(
 include $katalog . $_GET['dalej'] . '.htm';
)
?>[/php:1:96729e4c4a]


Ok tylko tu jest blad w 3 linijce
Kod
Parse error: parse error, unexpected '.', expecting ',' or ')' in c:usrkrasnalwwwnowy folderindex.php on line 60

probuje wpisac nawias gdzies ale caly czas to samo, mozesz pomoc?questionmark.gif

pozdr
Go to the top of the page
+Quote Post
LeWaR
post 24.07.2003, 09:22:30
Post #17





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 22.04.2002
Skąd: Szubin

Ostrzeżenie: (0%)
-----


Cytat
[php:1:feea2b1b96]<?php
$katalog = 'zawartosc/';
if( isset($katalog . $_GET['dalej'] . '.htm') && file_exists($katalog . $_GET['dalej'] . '.htm') );
(
 include $katalog . $_GET['dalej'] . '.htm';
)
?>[/php:1:feea2b1b96]

Na początek nawiasy:
[php:1:feea2b1b96]<?php
$katalog = 'zawartosc/';
if( isset($katalog . $_GET['dalej'] . '.htm') && file_exists($katalog . $_GET['dalej'] . '.htm') );
{
include $katalog . $_GET['dalej'] . '.htm';
}
?>[/php:1:feea2b1b96]
Widzisz różnice?
Go to the top of the page
+Quote Post
KaMeLeOn
post 24.07.2003, 11:25:30
Post #18





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Na końcu 3 linijki jest niepotrzebny średnik... Ot literówka...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 18:14