Php odnośniki


(Olejniczak Michal 0) #1

http://www.leon.w-wa.pl/texts/kurs/trans.php#links

Czy ktoś może mi wyjaśnić o co w tym chodzi??

Złączono Posta : 07.04.2006 (Pią) 15:44

P.S. Chodzi o "odnośniki"


(Balon) #2

nic kosmicznie trudnego ;p

zalozmy ze masz tablice z 3 wartosciami

<?php

$tablica = array( 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' );

?>

i chcesz wyswietlac jeden z nich w zaleznosci od jakiegos parametru (tu skorzystamy z GET)

<?php

$id = $_GET['id'];

$tablica = array( 0 => 'zero', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' );


echo $tablica[$id];

?>

i teraz zalozmy ze ten skrypt nazywa sie liczby.php... i uruchamiasz skrypt w ten sposob

www.example.com/liczby.php?id=2

wyswietli sie w tym momencie

jesli chcesz miec wiecej parametrow to musisz odzielac je ampersandami np.

www.example.com/liczby.php?id=2&cosinnego=3&jeszczeinne=lala

metoda GET pobiera po prostu parametry za adresu URL... jednak ten skrypt nie jest bezpieczny poniewaz co sie stanie jesli ktos nie wpisze liczby ? a wpisze jakis kod ? dlatego trzeba filtrowac dane ktore otrzymujemy np tak (przerobie nasz przyklad)

<?php

if( !is_numeric( $_GET['id'] ) )

{

	$id = 0;

}

else 

{

	$id = $_GET['id'];

}


$tablica = array( 0 => 'zero', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' );


echo $tablica[$id];

?>

teraz skrypt sprawdza czy wartosc jest liczba ... jesli nie to przypisuje do zmiennej $id liczbe 0, jelsi natomiast jest ona liczba to do zmiennej $id jest przypisywany ten parametr :]

pozdrawiam


(Olejniczak Michal 0) #3

Tylko gdzie się wyświetli :?:

Złączono Posta : 07.04.2006 (Pią) 16:14

na stronie http://www.example.com/liczby.php :?:

Złączono Posta : 07.04.2006 (Pią) 16:19

jeszcze jedno: jak zrobić aby po wpisaniu

www.example.com/liczby.php?id=2

wyświetliło się więcej niż "dwa" tylko jeszcze coś co śię zmienia,

i w odpowiednim miejscu tej strony np pod tekstem :?:


(Balon) #4

tak

nie wiem o co CI biega

widze ze nie kapujesz... to np tak

<?php

echo $_GET['nick']

?>

i wpiszesz taki link

index.php?nick=michal17

to wyswietli Ci to


(Olejniczak Michal 0) #5

tekst "zmienna1" takst "zmienna2" tekst

http://www.example.com/liczby.php?zmienna1=wartość&zmienna2=wartość2

Wystarczy aby obydwie zmienne się znieniały :?:


(Balon) #6

to zalezy od Ciebie, w jaki sposob i do czego chcesz wykorzystac to


(Olejniczak Michal 0) #7

A jak zrobić aby w zależności od odnośnika wyświetlało dopowiedni obrazek (z tekstem oczywiście)? Czy to będzie tak:

<?php 

$id = $_GET['id']; 

$tablica = array( 0 => 'opis', 1 => 'opis'); 


echo $tablica[$id]; 

?>[/code]

(Balon) #8

dokładnie tak :]


(Olejniczak Michal 0) #9

Dzięki.

Złączono Posta : 10.04.2006 (Pon) 14:10

jeszcze jedno: czy da się ustawić wartość domyślną (jak się wpisze:

http://www.example.com/liczby.php

to w miejscu $zmienna pojawi się ta wartość domyślna) :?:


(Balon) #10

robisz to tak, najpierw sprawdzasz czy ustawiono zmienna w adresie, jesli nie to definijuesz standardowa

<?php

if( isset( $_GET['example'] ) )

{

	$example = $_GET['example'];

}

else 

{

	$example = 0; # wartosc domyslna

}

(Olejniczak Michal 0) #11

A całość będzie wyglądać tak:

<?php 

if( isset( $_GET['example'] ) ) 

{ 

   $example = $_GET['example']; 

} 

else 

{ 

   $example = 0; # wartosc domyslna 

}

$tablica = array( 0 => 'zero', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); 


echo $tablica[$example]; 

?>

:?: A nie powinno być:

<?php 

if( isset( $_GET['example'] ) ) 

{ 

   $example = $_GET['example']; 

} 

else 

{ 

   $example = 0; echo wartosc domyslna 

}

$tablica = array( 0 => 'zero', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); 


echo $tablica[$example]; 

?>

:?: Złączono Posta : 10.04.2006 (Pon) 20:30

else 

{ 

   $example = 0; # wartosc domyslna 

}

i

else 

{ 

   $example = 0; echo wartosc domyslna 

}

(Cudny) #12

nie nie powinno - wyskoczy ci blad


(Olejniczak Michal 0) #13

Czyli

<?php 

if( isset( $_GET['example'] ) ) 

{ 

   $example = $_GET['example']; 

} 

else 

{ 

   $example = 0; # wartosc domyslna 

} 

$tablica = array( 0 => 'zero', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); 


echo $tablica[$example]; 

?>

:?:


(Balon) #14

tak :]

# jest znakiem komentarza

# i wszystkie znaki ktore znajduja sie

# po takim hashu nie beda wyswietlane, chyba ze ktos

# zrobi enter i bedzie pisal bez tego znaku

ale to glupio napisałem xD


(Olejniczak Michal 0) #15

Czyli kod będzie wyglądać tak:

<?php 

if( isset( $_GET['example'] ) ) 

{ 

   $example = $_GET['example']; 

} 

else 

{ 

   $example = 0; 

} 

$tablica = array( 0 => 'wartość domyślna', 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); 


echo $tablica[$example]; 

?>

:?:


(Balon) #16

tak ;] i parametr jaki bedziesz mogl dopisywac do adresu to example


(Olejniczak Michal 0) #17

Zrobiłem takie coś:

<?php 

if( isset( $_GET['nr'] ) ) 

{ $nr = $_GET['nr']; } 

else {$nr = 0} 

$foto = array( 0 => '

| 1.jpg2.jpg3.jpg4.jpg5.jpg |
| 6.jpg7.jpg8.jpg9.jpg10.jpg', 1 = ' 1.jpg |


(Balon) #18
<?php

if( isset( $_GET['nr'] ) )

{  

	$nr = $_GET['nr'];  

}

else 

{

	$nr = 0;

}

$foto = array( 0 => '

| 1.jpg2.jpg3.jpg4.jpg5.jpg |
| 6.jpg7.jpg8.jpg9.jpg10.jpg', 1 = ' 1.jpg |


(Olejniczak Michal 0) #19

Dzięki. Już działa. Tylko co było żle :?:

Złączono Posta : 13.04.2006 (Czw) 23:18

Już chyba wiem o co chodzi:

if( isset( $_GET['nr'] ) ) 

{ $nr = $_GET['nr']; } 

else {$nr = 0}

a powinno być:

if( isset( $_GET['nr'] ) ) 

{  

   $nr = $_GET['nr'];  

} 

else 

{ 

   $nr = 0; 

}

:?:


(Balon) #20

nie tylko, miałeś też za mało przecinków w tablicy ;] w tablicy dajesz przecinki tylko miedzy poszczegolnymi kluczami, a przy ostatnim kluczu nie dajesz przecinka :]

czyli tak jest niepoprawnie

array( 'a', 'b', 'c', );

poprawnie

array( 'a', 'b', 'c' );