RicoRoco - HOME Azure v.116
Witamy, Gość. Zaloguj się lub zarejestruj

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
| VISTA - UNATTENDED | XP - UNATTENDED | Instalacje Nienadzorowane: Windows VISTA & Windows XP! - Zapraszam!
  HOME   FORUM   HELP SEARCH Kalendarz Download Gallery Chat Zaloguj się Rejestracja  
Theme

TOP SITES
Recent Top
By Yurek3
[29.03.2009, 08:27:18]

By PdM
[11.06.2008, 18:21:50]

By gm1004
[19.05.2008, 16:53:50]

[18.05.2008, 18:38:30]

By Yurek3
[30.03.2008, 16:06:21]

By Yurek3
[29.03.2008, 04:40:05]

By Yurek3
[27.02.2008, 00:35:27]

[13.02.2008, 10:50:11]

[09.02.2008, 11:44:18]

[22.01.2008, 10:36:45]
Strony: [1]   Do dołu
 Drukuj 
Autor           Wątek: PHP w przykładach.... dla zielonych  [Przeczytany 6122 razy]
0 users i 1 Gość przegląda ten wątek.
#Paps

Moderator
*****
Offline
Poland Sex:Mężczyzna
Poland


Posty 23


 [19.02.2007, 18:32:15]

Proponuję tutaj zamieszczać proste skrypty php wraz z krótkim wytłumaczeniem o co w nim biega. Chodzi o to, aby pokazać, że język PHP wcale nie jest taki trudny, jakby się mógł wydawać, przez co zachęci webmasterów korzystających do tej pory jedynie z HTML (XHTML) do nauki tego barwnego języka.

Na początek prościutki skrypt kalkulatora

Kalkulator

GeSHi -› Code: [select]
// GeSHi -› [code=php]
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
    <title>Kalkulator</title>
</head>
<body>
    <h1>KALKULATOR</h1>
<FORM action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Liczba 1: <INPUT TYPE="text" NAME="liczba1" SIZE="12"> <br>
Liczba 2: <INPUT TYPE="text" NAME="liczba2" SIZE="12"> <br><br>
Wybierz: <br>
dodawanie<INPUT TYPE="radio" NAME="obliczanie" VALUE="dodaj"> &nbsp;&nbsp;
odejmowanie<INPUT TYPE="radio" NAME="obliczanie" VALUE="odejmij"> &nbsp;&nbsp;
mnozenie<INPUT TYPE="radio" NAME="obliczanie" VALUE="pomnoz"> &nbsp;&nbsp;
dzielenie<INPUT TYPE="radio" NAME="obliczanie" VALUE="podziel"> <br> <br>
<INPUT TYPE="submit" VALUE="Oblicz"> &nbsp;&nbsp;
<INPUT TYPE="reset" VALUE="Wyczy&#182;ć"> <br>
</FORM>
<hr width="40%" align="LEFT" size="2" />

<?php

$liczba1 = $_POST['liczba1'] ;
$liczba2 = $_POST['liczba2'] ;
$obliczanie = $_POST['obliczanie'] ;

    if($obliczanie=="dodaj") {
        $wynik=$liczba1+$liczba2;
        }
    else if($obliczanie=="odejmij") {
        $wynik=$liczba1-$liczba2;
        }
    else if($obliczanie=="pomnoz") {
        $wynik=$liczba1*$liczba2;
        }
    else if($obliczanie=="podziel") {
        $wynik=$liczba1/$liczba2;
        }

    echo "Wynik: <b>$wynik</b>";

?>
</body>
</html>



Wyjaśnienia:
Użyliśmy tutaj połączenia prostego formularza HTML ze skryptem php. Z oczywistych względów pomijam opis html'a.

Pierwsze co rzuca nam się oczy to atrybut action z wpisem: <?php echo $_SERVER['PHP_SELF']; ?>, gdzie  $_SERVER['PHP_SELF']; oznacza tablicę zmiennych środowiskowych .... ble ble ble. Poprostu chodzi o to, aby akcja była wykonana w obrębie tego pliku. Równie dobrze można by wpisać action="obliczaj.php" i nazwać tak samo cały plik. Efekt będzie taki sam.

Jako że przy pewnych ustawieniach serwera dostęp do danych formularza może być utrudniony, dodajemy krótkie nazwy zmiennych:

$liczba1 = $_POST['liczba1'] ;
$liczba2 = $_POST['liczba2'] ;
$obliczanie = $_POST['obliczanie'] ;


Z kilku powyższych linijek kodu można by zrezygnować, ale wówczas w pliku konfiguracyjnym serwera wartość register_globals musi być ustawiona na on. Niezależnie od tego, jak mamy ustawiony serwer, krótkie nazwy zmiennych proponuję zostawić.

W formularzu zastosowano INPUT TYPE="radio", pozwoli to na wykonanie unikalnego działania, obliczenia.

   if($obliczanie=="dodaj")
    {
    $wynik=$liczba1+$liczba2;
    }
   else if($obliczanie=="odejmij")
    {
    $wynik=$liczba1-$liczba2;
    }


Instrukcje warunkowe if, else if jak sama nazwa wskazuje służą do postawiania warunków. Czyli np. "jeżeli coś tam jest równe czemuś tam to zrób tak i siak. Na naszym przykładzie będzie to: " jeżeli zaznaczono pole dodaj to zsumuj liczbę 1 i 2 i przypisz ją do zmiennej $wynik. Jeżeli zaś wybrano pole odejmij to odejmij liczbę pierwszą  od drugiej i przypisz ją do zmiennej $wynik" itd.
Kilka razy padło słowo "zmienna", pewnie zastanawiasz się co to takiego. Jest to nic innego jak pamięć podręczna przechowująca jakieś dane, w php poprzedzona znakiem $. Zwróć uwagę na nazwy pól w formularzu oraz na nazwy zmiennych - one nie są przypadkowe, bo właśnie w ten sposób mamy dostęp do danych formularza!

echo "Wynik: $wynik"; wyświetli obliczony wcześniej wynik.

Powyższy kod zapisz pod dowolną nazwą ( byle z rozszerzeniem *.php) Smiley i wgraj na serwer. Sprawdź efekt działania.

A tak powinno to wyglądać w formie surowej:





EDIT'ka:

Może fajniej byłoby popatrzyć, jak wygląda to w oryginale..:

Kalkulator by Paps:

[Ostatnia zmiana: 07.05.2008, 17:59:20 by: Rico Roco] IP Zapisane
#Paps

Moderator
*****
Offline
Poland Sex:Mężczyzna
Poland


Posty 23


Odp. #1 [28.03.2007, 01:02:22]

Kilka filmów w odtwarzaczu multimedialnym

GeSHi -› Code: [select]
// GeSHi -› [code=php]
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
</head>
<body>

<object type="video/x-ms-wmv" data=" <?php echo $_POST['film']; ?>" width="330" height="275">
<param name="src" value="<?php echo $_POST['film']; ?>">
<param name="autostart" value="false">
<param name="controller" value="true">
</object><br>

<form action="index.php" method="post">

<?php
$katalog = './filmy/';
$katal = opendir($katalog);
while($plik = readdir($katal)) {
    if (($plik!='.')&&($plik!='..'))
    {
    echo '<input type="radio" name="film" value="./filmy/'.$plik.'">'.$plik.' <br>';
    }
}
    closedir ($katal);
?>

<input type="submit" value=" wybierz film">
</form>
</body>
</html>



Wyjaśnienia:
W tym przykładzie zastosowany został osadzony obiekt multimedialny (Windows Media Player) + formularz. Oczywiście można użyć dowolnego obiektu multimedialnego, zależnie od potrzeb.
Do pełnego działania potrzebny jest jeszcze pusty katalog o nazwie filmy. Tam właśnie będziemy wrzucać wszystkie filmy, a efekt tego od razu ujrzymy na stronie w postaci pól radio wraz z nazwą filmu.

Zacznijmy od formularza.
action="index.php" method="post"
akcję wykoujemy w pliku index.php i tak powinien być nazwany cały stworzony plik. Można również użyć wspomnianego we wcześniejszym poście <?php echo $_SERVER['PHP_SELF']; ?>

$katalog = './filmy/';
$katal = opendir($katalog);
while($plik = readdir($katal))


Tworzymy zmienną $katalog i przypisujemy do niej nazwę katalogu w którym będą filmy.
Otwieramy katalog "filmy" i przypisujemy do zmiennej $katal
Czytamy otworzony katalog, przypisując ją do zmiennej $plik. Korzystamy z pętli while, aby mieć dostęp do wszystkich plików. Pętla while będzie tak długo pracować aż nie przeczyta wszystkich plików w warunku $plik = readdir($katal).

if (($plik!='.')&&($plik!='..')) Wspomniana wcześniej pętla przeczyta wszystko z katalogu. Z tym że my nie chcemy zobaczyć na naszej stronie kropeczek będących w strukturze katalogu uniksowego.
Jeżeli nie wiadomo o czym pisze, można usunąć wspomnianą linię z kodu. Efekt będzie widoczny Smiley

echo '<input type="radio" name="film" value="./filmy/'.$plik.'">'.$plik.'
';
Wyświetlamy listę pól radio w formularzu.
name="film" przyda się do formularza, bo do tego miejsca będziemy się odwoływać.
value="./filmy/'.$plik.' ścieżka dostępu dla filmu.
'.$plik.' nazwa filmu

closedir ($katal); zamykamy katalog filmy

<?php echo $_POST['film']; ?> wstawiamy w obiekt multimedialny w miejsce gdzie powinna byś ścieżka do pliku. Odwołujemy się tutaj do pola radio które zaznaczy użytkownik.

Oto przykład:


[Ostatnia zmiana: 07.05.2008, 18:02:14 by: Rico Roco] IP Zapisane
PdM

Moderators
*****
Offline
Poland Sex:Mężczyzna
Poland


Posty 7


Odp. #2 [23.05.2007, 20:52:42]

Nie studiowałem jeszcze całych skryptów odtwarzacza i kalkulatora, ale nie bardzo rozumiem, po co wskazanie na wykonywany plik w tagu <form> w atrybucie action. Przecież, gdy będzie on pusty, przeglądarka domyślnie prześle dane do tej samej strony. Tak więc wynik działania skryptu z $_SERVER['PHP_SELF'] i bez będzie dokładnie taki sam.
IP Zapisane
#Paps

Moderator
*****
Offline
Poland Sex:Mężczyzna
Poland


Posty 23


Odp. #3 [24.05.2007, 10:52:47]

Tak, to prawda
zastosowanie pustego atrybutu action="" da identyczny rezultat.
Pytasz po co $_SERVER['PHP_SELF']?
Cały temat jest swojego rodzaju tutorialem, a celem jest podanie pewnej dawki informacji. Ponadto uważam, że dobrym zwyczajem jest jednak wpisanie ścieżki, gdzie ma zostać wykonana akcja i nieważne czy przez $_SERVER['PHP_SELF'] czy też ręczne wklepanie nazwy pliku.

PdM zachęcam do rozwijania tematu, wpisywania kolejnych tutków.

PS
Do wszystkich:
Chciałbym, aby w tym wątku wpisywać tylko tutoriale, dzięki temu zostanie zachowana czytelność.
1. Jeżeli macie jakieś uwagi natury technicznej, proszę najpierw skontaktować się z autorem danego posta via PM.
2. Jeżeli chcecie rozwinąć, zmodyfikować któryś z przykładów, to po prostu załóżcie nowy temat.

IP Zapisane
Strony: [1]   Do góry
 Drukuj 
 
Skocz do:  

Geo Visitors Map  
17.05.2024, 13:22:34