WebDeveloper
 g³ówna | forum manual | skrypty |  artyku³y |  projekty | porady |  zasoby |  linki 
dzia³y
  •  manual PHP
  •  skrypty PHP
  •  artyku³y
  •  projekty
  •  porady
  •  zasoby
  •  linki
  •  
    forum
  •  php
  •  apache
  •  mysql
  •  postgresql
  •  faq php
  •  pomocnik php
  •  
    news
  • Porcjowanie wyników zapytania
  • Kartki Internetowe
  • PHP + MySQL + Windows 98
  • Bezpieczne uploadowanie plików
  • Przegl±danie obrazków z bazy PostgreSql.
  • Co to jest WebDeveloper?
  • Instalujemy serwer baz danych !
  • Sesje w PHP4 !
  • Dodaj poradê !!!
  • Zastosowano... PHP !
  • redakcja

    Je¶li masz ciekawe informacje odno¶nie PHP, skrypty, porady, linki itp. lub chcia³by¶ wspó³tworzyæ serwis PHP.zone.pl daj nam znaæ na email !



    dodaj poradê !


    Powered by:
    PHP
    Apache
    MySql
    Linux

    users online: 8

    Artyku³y

    Kurs PHP (2)
    autor: Grzegorz Plebañski

    Krótki kurs jêzyka PHP.

    Instrukcja warunkowa if/else

    Czasem chcemy, ¿eby fragment kodu wykona³ siê tylko pod jakim¶ warunkiem. Stosuje siê wtedy instrukcjê if:
    if($a>$b)
    echo("$a jest wiêksze od $b");

    Je¿eli warto¶æ $a jest wiêksza od $b wy¶wietli siê napis "$a jest wiêksze od $b". Warunek jest spe³niony, je¿eli wyra¿enie w nawiasie ma warto¶æ ró¿n± od zera. Je¿eli bêdzie to np. pusta zmienna warunek nie jest spe³niony. Polecenie w nastêpnej lini zostanie wykonane, je¿eli warunek jest spe³niony. Aby warunek obj±³ kilka poleceñ, stosuje siê nawiasy klamrowe:
    if($a>$b)
    {
    echo("$a jest wiêksze od $b");
    $a++;
    }

    Je¿eli chcemy wykonaæ inny fragment kodu gdy warunek nie jest spe³niony, stosujemy instrukcjê else:
    if($a>$b)
    echo("$a jest wiêksze od $b");
    else
    echo("$a jest mniejsze lubrówne $b");

    Aby uzyskaæ bardziej z³o¿ony warunek mo¿na zastosowaæ operatory logiczne i (&) oraz lub (|):
    if($a>$b|$a<2)
    echo("$a jest wiêksze od $b, lub mniejsze od 2");




    Operatory logiczne

    Aby po³±czyæ kilka warunków mo¿na u¿yæ specjalnych operatorów logicznych. S± to:
    || - alternatywa (lub)
    && - koniunkcja (i)
    ! - negacja (zaprzeczenie)
    Przyk³ad:
    $a=1;
    $a=3;

    if($a==1&&$b==2) echo("A");
    if($a==1||$b==2) echo("B");
    if(!($a==1&&$b==2)) echo("C");

    Wynikiem tego skryptu bêdzie napis "BC". Operator zaprzeczenia mo¿na te¿ dla wygody po³±czyæ z operatorem porównania, np:
    $a=1;
    if($a!=2) echo("Warunek spe³niony");




    Pêtla while


    Aby fragment kodu wykonaæ wiele razy stosuje siê pêtle. PHP obs³uguje 3 rodzaje pêtli: while, do..while i for. Najprostsz± z nich jest pêtla while:
    $a=0;
    while($a<5)
    {
    echo("$a ");
    $a++;
    }

    W pêtli while najpierw sprawdzany jest warunek (w tym wypadku $a<5). Je¿eli jest spe³niony, pêtla wykonuje siê i wraca do sprawdzenia warunku. Je¿eli warunek nie jest spe³niony, wykonanie pêtli koñczy siê. Powy¿szy skrypt wy¶wietli liczby od 0 do 4.


    Pêtla do..while


    $a=0;
    do
    {
    echo("$a ");
    $a++;
    }while($a<5);

    Pêtla do..while ró¿ni siê od pêtli shile tym, ¿e najpierw wykonuje siê pêtla, a dopiero potem sprawdzany jest warunek. Oznacza to, ¿e pêtla zawsze wykona siê co najmniej 1 raz. Powy¿szy skrypt zadzia³a tak samo jak poprzedni. Ró¿nica bêdzie widoczna w poni¿szych pêtlach:
    $a=6;
    do
    {
    echo("$a ");
    $a++;
    }while($a<5); /* ta pêtla wykona siê 1 raz */

    $a=6;
    while($a<5)
    {
    echo("$a ");
    $a++;
    } /* instrukcje w tej pêtli nie zostan± wykonane */




    Pêtla for

    Wykonanie pêtli for:
    for($a=0;$a<5;$a++)
    {
    echo("$a ");
    }

    Odpowiada wykonaniu pêtli:
    $a=0;
    while($a<5)
    {
    echo($a);
    $a++;
    }

    Mo¿na to te¿ zapisaæ jako
    for($a=0;$a<5;echo("$a "), $a++);




    Instrukcje break i continue

    Wykonanie pêtli mo¿na w ka¿dym momencie zakoñczyæ. S³u¿y do tego instrukcja break:
    $a=0;
    while($a<10)
    {
    $a++;
    if($a==3)
    break;
    }

    Ta pêtla nie wykona siê 10 razy - gdy $a osi±gnie warto¶æ 3, wykonanie pêtli zostanie przerwane. Mo¿na te¿ przej¶æ do nastêpnego powtórzenia - s³u¿y do tego instrukcja continue:
    $a=0;
    while($a<10)
    {
    $a++;
    if($a==3)
    continue;
    echo("aaa"); /* ta instrukcja wykona
    siê tylko gdy $a nie jest równe 3 */
    }




    Instrukcja switch


    Czasem zmienna mo¿e mieæ jedn± z kilku warto¶ci, w zale¿no¶ci odktórych nale¿y podj±æ odpowiedni± akcjê. Mo¿na to zrobiæ stosuj±c instrukcjê if:
    if($a==1)
    {
    echo("a jest równe 1");
    }

    if($a==3)
    {
    echo("a jest równe 3");
    }

    if($a==11)
    {
    echo("a jest równe 11");
    }

    Du¿o wygodniejsze jest zastosowanie instrukcji switch:
    switch($a)
    {
    case 1:
    echo("a jest równe 1");
    break;

    case 3:
    echo("a jest równe 3");
    break;

    case 11:
    echo("a jest równe 11");
    break;
    }


    Obs³uga formularzy

    Skryptu PHP mo¿na u¿yæ do obs³ugi formularza. Aby tego dokonaæ, nale¿y najpierw odpowiednio przygotowaæ formularz. W znaczniku FORM w parametrze ACTION nale¿y podaæ adres dokumentu PHP maj±cego obs³u¿yæ ten formularz. Parametr METHOD mo¿e mieæ warto¶æ POST lub GET - obie metody s± obs³ugiwane przez PHP. Jednak nale¿y pamiêtaæ, ¿e formularze wysy³ane przez GET maj± do¶æ ograniczon± d³ugo¶æ. Ich zalet± jest za to, ¿e u¿ytkownik mo¿e zrobiæ sobie zak³adkê do wyników formularza, co nie jest mo¿liwe w przypadku formularzy POST. Nale¿y pamiêtaæ o zdefiowaniu nazw wszystkich pól formularza z których skrypt ma skorzystaæ. Przyk³ad:
    <FORM ACTION=skrypt.php3 METHOD=POST>
    <INPUT TYPE=TEXT NAME=tekst>
    </FORM>

    Napisanie skryptu obs³uguj±cego formularz jest bardzo proste. W³a¶ciwie wiêkszo¶æ pracy wykonuje za nas PHP - po prostu w skrypcie od razu bêd± dostêpne zmienne o nazwach takich jak nazwy pól formularza, zawieraj±ce ich warto¶ci:
    echo($tekst); /* ta linia wy¶wietli zawarto¶æ
    pola tekst z formularza */

    W przypadku pola tekstowego bêdzie to po prostu wpisany przez u¿ytkownika tekst. Je¿eli pole jest typu CHECKBOX warto¶ci± bêdzie "on" je¿eli pole jest zaznaczone, lub zmienna bêdzie pusta je¿eli pole nie zosta³o zaznaczone. Je¿eli w polu typu CHECKBOX podamy parametr VALUE, bêdzie on u¿yty zamiast "on". Tak samo wygl±da obs³uga pola typu RADIO. Warto¶ci± pola SELECT bêdzie warto¶æ parametru VALUE zdefiniowanego w znaczniku OPTION.


    Wysy³anie poczty

    Ze skryptu PHP mo¿na bardzo ³atwo wys³aæ e-maila. S³u¿y do tego funkcja mail. Pobiera ona 4 parametry. Pierwszy z nich to lista adresatów oddzielonych spacjami. Nastêpny to temat wiadomo¶ci. Trzeci parametr to tre¶æ wiadomo¶ci, a czwarty mo¿e zawieraæ dodatkowe pola nagówka wiadomo¶ci (jest dopisywany na koñcu nag³ówka). Przyk³±d:
    mail("ty@twoj.serwer", "Wiadmo¶æ testowa", "Tutaj mo¿na wpisaæ tresæ wiadomo¶ci.\nNastêpna linia.");

    Ten przyk³ad wy¶le wiadomo¶æ na adres ty@twoj.serwer.


    Wysy³anie formularza poczt±

    Maj±c powy¿sze wiadomo¶ci wys³anie formularza poczt± nie powinno stanowiæ problemu. Najpierw trzeba zdefiniowaæ formularz:
    <FORM ACTION=skrypt.php3 METHOD=POST>
    <INPUT TYPE=TEXT NAME=email><BR>
    <TEXTAREA NAME=tresc></TEXTAREA><BR>
    <INPUT TYPE=SUBMIT>
    </FORM>

    Teraz skrypt który wy¶le dane poczt±:
    mail("ty@twoj.serwer", "Formularz", $tresc, "Reply-To: $email");

    Jedna linijka i gotowe.s
    Widaæ tutaj jedno z wa¿niejszych zastosowañ 4 parametru funkcji mail: mo¿na podaæ adres zwrotny listu. Je¿eli teraz u¿ytkownik wpisze do formularza swój e-mail, bêdzie mo¿na odpowiedzieæ u¿ywaj±c funkcji reply programu pocztowego. Uwaga: nie ka¿dy serwer pozwoli na wys³anie wiadomo¶ci z polem Reply-To zawieraj±cej adres na innym serwerze.


    (C)opyright 1999-2000 by Grzegorz Plebañski
    ygreg@and.pl
    http://ygreg.and.pl





    komentarze | artyku³y






    kontakt

    autor:

    Hubert Mierzwiak

    wspó³praca:

    Piotr Karolak

    Chcesz prowadziæ swój dzia³ tematyczny typu XML, SQL, admin, JavaScript, itp?
    Napisz do nas !
     
    skrypty
  • designer.zip
  • vipAuth.tgz
  • phpCenzura.tgz
  • vip_php.tgz
  • pomocnik_light
  • ankieta
    Co s±dzisz o stworzeniu FAQ PHP?
    super!
    po co?

    poprzednie

    newsletter

    wpisz swój email i wci¶nij Enter

    linuxnews.pl
  • KRRiTV stra¿nikiem!?
  • Dzisiejsze zebranie...
  • Felieton w warunkach ekstremalnych
  • Nexidion Designer
  • Solaris OpenSource
  • KDE 2.0.1
  • Jest ju¿ nowy Debian...
  • Tydzieñ min±³...




  • Manual | Skrypty | Artyku³y | Projekty
    Porady | Zasoby | Linki
    G³ówna | Forum

    Copyright 2000 Hubert Mierzwiak