phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
[PHP] Przekazywanie zmiennych
Autor Wiadomość
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 28-03-2008, 23:06   [PHP] Przekazywanie zmiennych

Kod:
if ($sid!="halo") {
echo $tresc;
} else {
if ($id="1") { include('plik.php'); };


to wyglada tak: www.wlasna_strona.pl/index.php?sid=halo
i pojawia plik.php na stronie

a jak to zrobic, zeby byly 2 sidy
np. .../index.php?sid=halo&a=jest_ktos
wtedy pojawia podstrona.
Ostatnio zmieniony przez They2 28-03-2008, 23:20, w całości zmieniany 1 raz  
 
     
Gadatliwa Kasia 

   
gaku


Pomógł: 109 razy
Posty: 1095
Wysłany: 28-03-2008, 23:11   

po pierwsze, to się nie nazywa sid, bo sid to jest identyfikator sesji, to jest po prostu przekazywanie zmiennych za pomocą GET'a. Twój kod jest niepoprawny, poczytaj o zmiennych GET i POST
_________________
Pisanie do mnie na gg w sprawie forum mocno nie wskazane
<Cvbge> A szkolisz sie na jakiego informatyka?
http://webmastera.republika.pl/
<QSi> na zajebistego
 
     
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 28-03-2008, 23:18   

no to niech bedzie "przekazywanie zmiennych", sorry ze nie zrozumialem tych nazw w php.

gaku, pokaze ci moja strone http://design.alldeaf.pl/portal.php?mode=0
i widzisz ze dziala ? wiec jest poprawny, tam nie ma get i post, tylko te kody wyzej mam, a chce zeby dodalo jeszcze jeden lub 2 przekazywania zm...
_________________
Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG.
 
     
gaku


Pomógł: 109 razy
Posty: 1095
Wysłany: 29-03-2008, 01:28   

jest poprawny tak długo jak jest register_globals jest ustawione na on. To nie jest bezpieczne, a zasada jest banalna, plik.php?zmienna1=wartosc&zmienna2=wartosc2, a w kodzie jak chcesz wartości zmiennych to już tylko $_GET['zmienna1'] i &_GET['zmienna2']
_________________
Pisanie do mnie na gg w sprawie forum mocno nie wskazane
<Cvbge> A szkolisz sie na jakiego informatyka?
http://webmastera.republika.pl/
<QSi> na zajebistego
 
     
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 29-03-2008, 02:50   

moglbys napisac przyklady w kodzie a nie zamiast pokombinowac dlugo, szkoda czasu.
_________________
Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG.
 
     
gaku


Pomógł: 109 razy
Posty: 1095
Wysłany: 29-03-2008, 09:50   

ehh adres:
Kod:
index.php?mode=0&topic=3

a kod mniej więcej taki:
Kod:
<?php
if (empty($_GET['mode']))
{
  echo("nie wybrano opcji");
}
else
{
  echo($_GET['mode']);
  if(empty($_GET['topic']))
   {
     echo("nie wybrano tematu");
   }
   else
   {
     echo($_GET['topic']);
   }
}
?>

Jeżeli się nie pomyliłem w kodzie- http://szablony.freeware.info.pl/meta-tag.html (kwestia techniczna) to skryp powinien zwrócić wartość 03. Gdy nie jest ustawiona wartość mode to wartość topic nie jest brana pod uwagę nawet jeżeli jest ustawiona
Ostatnio zmieniony przez gaku 25-07-2014, 11:34, w całości zmieniany 1 raz  
 
     
koziolek



Pomógł: 675 razy
Posty: 1925
Wysłany: 29-03-2008, 09:57   

Kod:
<?php
if($_GET['action'] == 'halo')
{
    echo $_GET['tresc'];
}
else if($_GET['action'] == 'file')
{
    include('plik.php');
}
?>
wywołujesz:
Kod:
index.php?action=halo&tresc=Witaj They
i wyświetli Ci napis
Cytat:
Witaj They


jeżeli wywołasz:
Kod:
index.php?action=file
zaincluduje Ci plik plik.php


oczywiście trzeba do tego kodu dopisać jeszcze filtrowanie zmiennych żeby ktoś się nie włamał ;)

They2 napisał/a:
wiec jest poprawny, tam nie ma get i post
masz tam gdzieś logowanie do panelu admina? jeżeli tak to można się włamać ;)
przykład: http://www.webinside.pl/php/artykuly/197
_________________
#4 /xg.xrybvmbx.jjj//:cggu
 
     
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 29-03-2008, 19:43   

koziolek, a teraz jak zrobic zeby byly np. index.php?one=1&two=2 oraz index.php?one=1&two=2&three=3

zrobilem tak:
Kod:
if($_GET['one'] == 'halo')
{
    echo $_GET['tresc'];
}
else if($_GET['one'] == '1')
{
    if($_GET['two'] == '2')
    {
    include('2.php');
    }

    else if($_GET['two'] == '2')
    {
        if($_GET['three'] == '3')
        {
        include('3.php');
        }
    }   
}

ten &two=2 dziala
ale trzeci &three=3 wyswietla raczej drugą :/
_________________
Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG.
 
     
koziolek



Pomógł: 675 razy
Posty: 1925
Wysłany: 29-03-2008, 20:18   

bo to działa tak:

Kod:
if(...warunek 1...)
{
    ...jeżeli warunek 1 jest spełniony to wykonaj ten fragment...
}
else if(...warunek 2...)
{
    ...jeżeli warunek 1 NIE jest spełniony ORAZ warunek 2 jest spełniony to wykonaj ten fragment...
}
tak będzie działać:
Kod:
if($_GET['one'] == 'halo')
{
    echo $_GET['tresc'];
}
else if($_GET['one'] == '1')
{
    if($_GET['two'] == '2')
    {
        if($_GET['three'] == '3')
        {
            include('3.php');
        }
        else
        {
            include('2.php');
        }
    }
}

to trzeba troche się zastanowic i pomyśleć ;)
_________________
#4 /xg.xrybvmbx.jjj//:cggu
 
     
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 03-04-2008, 12:03   

zrobilem to co podałes i działa, rzeczywiście trzeba dodać } else { .
No i jeszcze zrobiłem jedna funkcje tak zeby kody byly skrocone :P

dzieki

koziolek napisał/a:
They2 napisał/a:
wiec jest poprawny, tam nie ma get i post

masz tam gdzieś logowanie do panelu admina? jeżeli tak to można się włamać ;)
przykład: http://www.webinside.pl/php/artykuly/197
te logowania ani nawet do panelu adm. na stronie nie mam, wiec to zaden problem ?

Pytanie, jesli zamienilem ze zwyklego na $_GET i $_POST i wyłączyłem (na 0) w .httaccess:
Kod:
php_flag register_globals 0
będzie bezpieczny ?

I te logowanie pochodzi z phpBB by Przemo na własnej stronie jest bezpieczny jeśli register_globals jest wyłączony ?
 
     
koziolek



Pomógł: 675 razy
Posty: 1925
Wysłany: 03-04-2008, 17:56   

They2 napisał/a:
Pytanie, jesli zamienilem ze zwyklego na $_GET i $_POST
wiesz że teraz ni będzie Ci to działać, bo zmienne $_POST pochodzą z formularza a nie z paska adresu ;)

They2 napisał/a:
I te logowanie pochodzi z phpBB by Przemo na własnej stronie jest bezpieczny jeśli register_globals jest wyłączony ?
raczej na pewno jest jakieś wbudowane zabezpieczenie ;)
_________________
#4 /xg.xrybvmbx.jjj//:cggu
 
     
Radek



Pomógł: 955 razy
Posty: 4614
Wysłany: 03-04-2008, 22:11   

Jeżeli register globals jest włączone, to po wpisaniu w plik.php kodu:
Kod:
echo $zmienna;

i wywołaniu adresu plik.php?zmienna=test, wyskoczy napis test. Jeżeli strona będzie 'podpięta' pod phpBB albo sam napiszesz kod który usuwa zmienne to nic się nie stanie. phpBB automatycznie usuwa przy wlaczonym register globals te 'zmienne' z adresu - mozna sie do nich dostać tylko GET'em. ;)
 
     
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 05-04-2008, 13:37   

koziolek napisał/a:
wiesz że teraz ni będzie Ci to działać, bo zmienne $_POST pochodzą z formularza a nie z paska adresu ;)
a tak rzeczywiscie to do formularza.

RuseK, rozumiem i dzieki.

Pozostaje tylko mam problem z pobraniem pliku na stronie.
np. http://design.alldeaf.pl/...Polchat_1.8.zip

sprobowalem zamienic w $_GET i tak wyszlo bledy:
Cytat:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

az tyle :/

te kody: fopen, file_exists, flock, fgets, fwrite, fclose - nie moga dzialac ?
_________________
Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG.
 
     
Radek



Pomógł: 955 razy
Posty: 4614
Wysłany: 05-04-2008, 17:44   

A możesz pokazać kod tego pliku pobierz.php?
 
     
Gadatliwa Kasia 

   
They2


Pomógł: 82 razy
Posty: 1297
Wysłany: 05-04-2008, 18:53   

Kod:
<?php
$download = '$dn';

if($_GET['dn'])
{
file_exists("/katalog/$_GET['dn'].'.n"))

//początek licznika
$file=fopen("/katalog/$_GET['dn'].'.n", "r");

flock($file, 1);
$cyfra=fgets($file, 100);
flock($file, 3);
fclose($file);
$cyfra++;

$file=fopen("/katalog/$_GET['dn'].'.n", "w");

flock($file, 2);
fwrite($file, $cyfra);
flock($file, 3);
fclose($file);
// koniec licznika

header("Location: /katalog/$_GET['download']");

}
else
{

$file=fopen("/katalog/$_GET['dn'].'.n", "w");

flock($file, 2);
fwrite($file, "1");
flock($file, 3);
fclose($file);

header("Location: /katalog/$_GET['download']");
}
?>


blad pojawia sie od poczatku file_exist...
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,2 sekundy. Zapytań do SQL: 13
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

Design Cart - Tworzenie sklepu internetowego

www.polsystem.pl

www.bidcar.pl

• Zamów reklamę