Kompiuteriai Svetainės kūrimas

PHP, MYSQL pamokos

        

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 10, 16:04

Sveiki visi meistrai,
Na kiek pastebėjau šiame forume nėra php pamokų (tokių kurias suprastu ir naujokai), tai kodėl gi man, pačiam esant moksleiviui, nepasidalinti žiniomis, jas parašant taip kaip aš suprantu? Greičiausiai dabar sakote, kad aš pats nieko nemokėsiu. Na iš dalies esate teisūs, tačiau kartu ir klystate. Kiekvieną dieną aš dirbu su php ir mysql. Visas darbas dedamas į bendrą krūvą (TVS- turinio valdymo sistema) ir po kokio mėnesio bus paleista beta versija. Viskas yra daroma taip, kaip supranta pradinukas. Na, o dabar apie pamokas. Laiko kaip ir turiu, noro taip pat, kadangi padedant kitiems išmoksti ir pats spręsti klaidas. Taigi kartu mokysiuos ir aš, bei padėsiu jums įžengti į šį pasaulį.

Na, mažiau kalbų, daugiau darbų. Tiesa? :)
Pradėsim:
ps. Serverį turite turėti patys, jei tuo užsiimate :)
Pasakome su php norimą sakinį:

Kodas: Pasirinkti visus
<?php
print "Sveiki visi php naujokai. Sekmės moksluose.";
?>

Laikas paaiškinti:
<?php ir ?> yra php kalbos žymės, be jų nebus vykdomos php kalbos dalys.
print ""; yra funkcija kuri spausdina įvestą tekstą tarp "" . Tarkime nurašius mano kodą jūs naršyklėje matysite
Sveiki visi php naujokai. Sekmės moksluose.
. Pakeisite į savo norimą ir turėsite rezultatą.
Beje, kiekvienos funkcijos pabaigoje (kai bus rašome sekanti funkcija) turi būti ; ženklas, nes kitaip jums parodys klaidą.

Kitoje pamokoje if operatorius , kintamasis, else operatorius.

Su pagarba MV (Modestas)
Paskutinį kartą redagavo THa KeinuX 2010 Geg 11, 21:11. Iš viso redaguota 3 kartus.

--------------------------------------


THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 10, 16:44

Kintamieji, if ir else operatoriai:

Kaip atrodo kintamasis:
Kodas: Pasirinkti visus
<?php
$vardai = "Jonas, Petras, Juozas";
?>

Paaiškinimas:
Kintamasis sudarytas iš 2 daliū:
1. $kintamojo_vardas =
2. "Tekstas skliaustuose, kuris ir yra kintamasis";
Vėlgi pažiurėkite į patį kodą, jis turi $ ženklą pradžioje, kuris nusako, kad tai bus kintamasis. Toliau eina pavadinimas - Įrašome tai kaip mes į jį kreipsimes, šiuo atvėju $vardai.
Ir pabaigoje, tarp "" surašyti visi žodžiai, kurie yra po šiuo kintamuoju.

SVARBU:

Kintamasis negali prasidėti skaičiumi!!! Negali būti tarkime $8abc!!!!

If operatorius:

Kas yra if ir su kuo jis valgomas?
Išvertę iš anglų kalbos gauname žodį jei. Tai jau daug ką pasako. Sąlyga yra tokia, kad jis atlieka veiksmą jei sąlyga yra teisinga.
Kaip atrodo pats kodas?
Kodas: Pasirinkti visus
<?php
$vardai = "Jonas, Petras, Juozas";
if($vardai == "Jonas, Petras, Juozas") {
print "Vardai įvesti teisingai";
}
?>

Taigi, mes čia turime:
Kintamajį - vardai.
Sąlygą - Jei kintamasis atitinka vardus Jonas, Petras, Juozas parodo toliau esantį kodą.
Laužtinį skliaustą { } - Tam, kad tarp jų yra kodas kurį rodo, kai sąlyga teisinga.
Print funkcija - Ji parodo mums tekstą, be jos rodytų klaidą.

Galimi if funkcijos ženklai:
  • == Lygus ( asd == ASD, asd, Asd ir t.t. (palygina reikšmes))
  • != Nelygus ( 1 != 2)
  • <= Mažiau arba lygu ( 1 <= 1,2 )
  • >= Daugiau arba lygu (2 >= 2,1)
  • < Mažiau (1 < 2)
  • > Daugiau (2 > 1)
  • === Identiški (ASD === asd (palygina tipus, tarkim įvedus 2 netiks tipas))

Else operatorius:
Else operatorius labai panašus į if, kadangi ją tik papildo. Taigi ir mes papildykime savo kodą:
Kodas: Pasirinkti visus
<?php
$vardai = "Jonas, Petras, Juozas, Antanas";
if($vardai == "Jonas, Petras, Juozas") {
print "Vardai įvesti teisingai";
}else{
print "Vardai nesutampa";
}
?>

Įvedę šį kodą matysime pranešimą:
Vardai nesutampa

Kodėl?
Todėl, kad prie kintamojo prirašėme dar vieną vardą, o mūsų sąlyga else parodo kodą, kai nesutampa vardai. (manau arba aš čia susivėliau rašydamas, arba čia viskas ok, pasimečiau :oops: )
Žodžiu, dabar mes matome pranešimą, kad vardai nesutampi tik todėl, kad pridėjome operaciją else. Jei jos nebūtų mes nematytume nieko. Vėlgi kodėl? O todėl, kad else operatorius parašo kodą, jei sąlyga neteisinga. Parašykime taip:
<?php
$vardai = "Jonas, Petras, Juozas";
if($vardai != "Jonas, Petras, Juozas") {
print "Vardai nesutampa";
}else{
print "Vardai sutampa";
}
?>
Viskas bus atvirkščiai, kadangi su if operatoriumi mes tikriname, ar kodas nesutampa. Jei nesutapo, parašo, kad nesutapo, o jei sutapo įmanoma vykdyti kitą sąlygą apie kurią plačiau bus kituose pamokos.

Trumpai ir aiškiai:
Else operatorius įvykdomas priešingai iškeltai if operacijai. Jei if operatorius tikrina neteisingą sąlygą ir sąlyga yra neteisinga, ją nutraukia, o else operatorius, jei sąlyga yra teisinga ją tęsia toliau.

Tikiuosi supratote.

Kita pamoka:
Duomenų gavimas iš formos, ir jų panaudojimas sąlygose.

(beje, jei pradėsite rašyti, kad mėtausi ir t.t. pamokos bus nutrauktos, kadangi taip mokiausi pats, ir tikrai sugebu nemažai atlikti ;) )
Su pagarba MV (Modestas)
Paskutinį kartą redagavo THa KeinuX 2010 Geg 11, 21:11. Iš viso redaguota 6 kartus.

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 11, 07:47

Cool, bet kartais 1 pamokoj vietoj print gal geriau echo ? :blin:
Ir dar gal gali paaiškint, kaip padaryt (lyg su array), kad į scriptą įrašytum kelis žodžius ir jie keistūsi kasdien pvz: 16:00h. :up:

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 11, 13:53

Tiesą pasakius, aš echo naudoju tada kai reikia vykdyti html kodą, o print naudoju tada, kai reikia teksto (skirtumo ir pats nežinau).

Padarysiu pamoką specialiai tau :) Tik truputį vėliau.


EDIT: Katik paskaičiau knygoje, kad nėra skirtumo ką tu naudosi. Tiesiog echo yra sakiniams, o print() yra funkcija, o jas galima naudoti kurią tik nori, pasirenki pats :)

Beje, man pagal mastymą lengviau kai print rodo tekstą, o echo kodą :)

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 11, 17:12

Nu jo reik sistema turėt :play:

mode118

Patyręs forumietis
 
Pranešimai: 848

 717.84 Lt

Standartinė » 2010 Geg 11, 20:33

THa KeinuX rašė:Kintamasis negali prasidėti iš didžiosios raidės!!! Negali būti $Vardai!!!!

Skaičium negali prasidėt, o ne didžiąja raide.

EDIT: Čia iš php.net:
Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Kodas: Pasirinkti visus
<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // outputs "Bob, Joe"

$4site = 'not yet';     // invalid; starts with a number
$_4site = 'not yet';    // valid; starts with an underscore
$täyte = 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>



EDIT2: Ir dar manau reikėtų plačiau paaiškinti kuo skiriasi == ir ===.
Tai būtų == lygina tik reikšmes, o === lygina reikšmes ir tipus.
Pvz.:
$string="10";
$integer=10;
Kodas: Pasirinkti visus
if($string==$integer){ //TRUE
// vykdys sita koda
}
if($string===$integer){ //FALSE
// nevykdys sito kodo
}


Dar galima parodyti kaip tikrinti kelis kartus, arba tikrinti kelis dalykus iškart - elseif ir if((0===0)&&(1=="1")) ir t.t.

Tai tiek pastebėjimų.


EDIT3:Ir dar if, elseif ir else yra ne funkcijos, o operatoriai.
Taip pat galėtum paaiškinti ir apie Switch operatorių :)

Dar šiek tiek mano pastebėjimų ;)
Paskutinį kartą redagavo mode118 2010 Geg 11, 20:55. Iš viso redaguota 1 kartą.

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 11, 20:51

Hello hello,
Atėjo metas naujai pamokai 8)

Php kintamojo gavimas iš formos:

Taigi, ką mes čia veiksime? hmm, šioje pamokoje mes pasisveikinsime su įvestu vardu. Tarkim į laukelį vardas įvesiu vardą Jonas (nežinau kodėl jį pasirenku :D ) ir su mumis bus pasisveikinta.

Pradėsim:

Viskas vyks viename faile, todėl jį pavadinsime index.php :)

ps. Nenaudosiu jokių html puslapio pagrindų ir panašiai, norėdami juos įsidėti, žiurėkite mano bendravardžio pamokas :up:
Taigi pirmiausia susikursime lengvą formą:
ir vėlgi nebus lietuviškų raidžių, dėl html nebūvimo :)
Na va ir pati forma:
Kodas: Pasirinkti visus
<?php
echo '
<form action="index.php" method="POST>
<b>Jusu vardas:</b><br />
<input name="vardas" type="text" size="40" maxlength="15"><br />
<input name="send" type="submit" value="&#302;vesti">
</form>
';
?>

Dabar kas čia vyksta?
<form action="Šioje vietoje rašome kur vyks apdorojimas. Šiuo atvėju paliekame index.php" method="Čia rašome kokiu būdu bus apdorojami duomenys. POST yra saugesnis už GET todėl jį ir naudosime (Get rodo viską nuorodos juostoje)">
<b>Jusu vardas:</b><br /> Nu čia manau viskas aišku.
<input name="vardas Nurodome kaip kreipsimės į šį laukelį. " type="text Koks laukelio tipas? Jų yra ne vienas, tačiau dabar naudosime text. (vėliau bus kitų)" size="40 Dydis (galite keisti)" maxlength="15 Kiek ženklų daugiausia"><br /> - Bendrai, čia yra laukelis į kurį įvedame vardą.
<input name="send Vardas kuriuo kreipiames į mygtuką." type="submit Koks tipas? Kadangi mum reikia siųsti tai yra submit, bet šalia gali būti ir reset (atstatyti langelius)" value="&#302;vesti Kas parašyta ant mygtuko."> - Mygtukas, kad apdorotų duomenis.
</form>
';


Toliau panaudosime if operatorių, kad tik paspaudus mygtuką kažkas įvyktų:
Beje viską kas bus toliau rašome puslapio viršuje (bus parašyta kada reikės apačioje)

Šia dalį dedame viršuje (prieš mūsų formą):
Kodas: Pasirinkti visus
<?php
if(isset($_POST['send'])){
print "Veikia";

echo "<br /><a href='index.php'>Atgal...</a>";
}else{
?>

O šią dedame po forma:
Kodas: Pasirinkti visus
<?php
}
?>

Failas atrodys šitaip:
Kodas: Pasirinkti visus
<?php
if(isset($_POST['send'])){
print "Veikia";

echo "<br /><a href='index.php'>Atgal...</a>";
}else{
?>
<?php
echo '
<form action="index.php" method="post">
<b>Jusu vardas:</b><br />
<input name="vardas" type="text" size="40" maxlength="15"><br />
<input name="send" type="submit" value="&#302;vesti">
</form>
';
?>
<?php
}
?>

Taigi, ką mes padarome:
Php script pradeda veikti tik tada, kai paspaudžiamas mygtukas siųsti. Kitu atvėju neveikia php script.
Įdėję šį kodą ir paspaudė įdėti mygtuką pamatysime žodį "veikia" ir nuorodą atgal.
Else funkcija panaudojame, kad parašius vardą, mums neberodytų formos (šis operatorius bus reikalingas toliau).

Na o dabar prie rimtesnio darbo (tiesa čia to rimtumo tiek ir yra):

Viršutiniame php kode viską rašysime vietoje eilutės:
print "Veikia";

Rašome taip:
Kodas: Pasirinkti visus
$vardas = "".$_POST['vardas']."";
if($vardas == NULL){
print "Neivestas vardas";
}else{
print "Ivedete";
}

Taigi, varda priskiriame kintamajam vardas. (".$_POST[' ']." rašomas tam, kad atpažintų įvestą tekstą.
Toliau sąlyga if tikrina ar laukelis nėra NULL, jei įvestas tekstas vykdome toliau kas yra po else, šiuo atvėju parašo tekstą "Ivedete". Beje nepamirškite laužtinių skliaustų, kad nebūtų problemų.

Taigi, dabar mūsų failas atrodo šitaip:
Kodas: Pasirinkti visus
<?php
if(isset($_POST['send'])){
$vardas = "".$_POST['vardas']."";
if($vardas == NULL){
print "Neivestas vardas";
}else{
print "ivedete";
}
echo "<br /><a href='index.php'>Atgal...</a>";
}else{
?>
<?php
echo '
<form action="index.php" method="post">
<b>Jusu vardas:</b><br />
<input name="vardas" type="text" size="40" maxlength="15"><br />
<input name="send" type="submit" value="&#302;vesti">
</form>
';
?>
<?php
}
?>


Na ką ir pabaigoje, liko panaudoti mūsų kintamajį. Tai nėra sunku, taigi žiurėkite:
Keičiame šitą vietą:
print "ivedete";

į:
Kodas: Pasirinkti visus
print "Sveiki,<b> ".$_POST['vardas']."</b>, jus atejote i mano puslapi.";

Ir mūsų failas atrodo šitaip:

Kodas: Pasirinkti visus
<?php
if(isset($_POST['send'])){
$vardas = "".$_POST['vardas']."";
if($vardas == NULL){
print "Neivestas vardas";
}else{
print "Sveiki,<b> ".$_POST['vardas']."</b>, jus atejote i mano puslapi.";
}
echo "<br /><a href='index.php'>Atgal...</a>";
}else{
?>
<?php
echo '
<form action="index.php" method="post">
<b>Jusu vardas:</b><br />
<input name="vardas" type="text" size="40" maxlength="15"><br />
<input name="send" type="submit" value="&#302;vesti">
</form>
';
?>
<?php
}
?>


Viskas, jei teisingai viską sudėliojote, turėjote pamatyti rezultatą :)
Jei kas nors neaišku klauskite, tikrai padėsiu ;)

Kitoje pamokoje, bandysime padaryti paprastą prisijungimą, kuris tikrins ar įvesti duomenys atitinka mūsų esamus kintamuosiuose (Nelabai naudinga, bet suprasite kaip veikia session funkcija).

Ačiū už dėmesį, tikiuosi pamokos Jums padeda :)
Su pagarba MV (Modestas)
Paskutinį kartą redagavo THa KeinuX 2010 Geg 11, 21:08. Iš viso redaguota 1 kartą.

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 11, 20:57

Mode118,
Ačiū už pastebėjimą, pats katik pasiskaičiau knygoje, kad negali būti skaičius :)

== ir === yra skirtumas parašytas.
== yra lygus (AsD == asd)
=== yra identiški (AsD === AsD)

Na bet bandysim papildyti :)

Taip, dėl kelių laukų tikrinimo iškart, bus vėliau parodyta t.y. sekančioje pamokoje ;)

Edit, dabar teks daug keisti pamokuose, nes buvo klaidų. Ačiū, kad parašai :)
Paskutinį kartą redagavo THa KeinuX 2010 Geg 11, 21:07. Iš viso redaguota 1 kartą.

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 11, 20:58

:clap:

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 11, 21:10

Dar keli prašymai iš mano pusės:

Jei kas pastebite rašybos klaidų praneškite būtinai.
Jei žinote, kad mano pamokoje parašytas dalykas yra neteisingas, patikslinkite jį ir tai bus pataisyta.

Ačiū.
Su pagarba MV (Modestas)



ps. Switch operatorius bus paaiškintas vėliau :) Viskas iš eilės eina :)

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 13, 15:07

Gal jau parasyk ta pamoka su array :lol:

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 13, 16:09

Am, bus vakarop viena pamoka.
O dėl šito taigi googlei galima rast bent daba.

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 13, 16:50

Ko panasiai ieskot reiktu ? Array su laiku ? ar pan :lol:

THa KeinuX

Forumo gyventojas
 
Pranešimai: 1200
Sun-City

 0.00 Lt

Standartinė » 2010 Geg 13, 19:19

Specialiai Sashai:

Kodas: Pasirinkti visus
<?php
date("H");
function pranesimas(){
if(date("H") < 12){
print "Labas rytas";
}elseif(date("H") > 11 && date("H") < 18){
print "Laba diena";
}elseif(date("H") > 17){
print "Labas vakaras";
}
}
pranesimas()
?>


sorry, tačiau nelabai paaiškinsiu kas čia yra, bet viską manau suprasi.

Su pagarba MV (Modestas)

Vartotojo avataras

Sasha

Patyręs forumietis
 
Pranešimai: 723
Šakių raj.

 4,903.31 Lt

Standartinė » 2010 Geg 13, 19:50

Pabandysiu issiaiškint. Ačiū ;)

EDIT: Supratau, bet nesupratai manes tu :kill: man reik, kad kas dien lygiai 00.00 pasikeistų tekstas. Pvz:yra savaitės dienos. Ir yra 7 žodžiai: 1=Jonas, 2=Petras, 3=Bronius, 4=Juozas, 5=Algis, 6=Rimas, 7=Darius. Tai va, kad sekmadienį 00.00 žodis pasikeistų į 1, pirmadienį žodis pasikeistų į 2, antrdienį į 3 ir t.t Čia jau labiai išsamiai paaiškinau savo mintį :mrgreen:



Kompiuteriai Svetainės kūrimas





 
Dabar prisijungę

Šiuo metu prisijungę 0 narių :: 0 registruotų, 0 slaptų ir 0 svečių
Daugiausia vartotojų (812) buvo 2020 Bal 28, 22:08

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 0 svečių