Pereiti prie turinio

Friday

Patvirtinti nariai
  • Pranešimai

    519
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    1
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  2. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  3. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  4. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  5. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  6. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  7. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  8. Patinka
    Friday gavo reakciją nuo Micro Kaip padaryti vardadienių, orų, tv programos ir t.t. autosistemą   
    Iki mokslo metų pradžios dar liko šiek tiek laisvo laiko, tai nutariau parašyti tokį straipsnelį. Gal kam bus naudingas.
     
    Kažkada pačiam niekaip nedavė ramybės klausimas, kaip įmanoma tinklalapyje sukurti sistemą, kad rašytų kokie šiandien vardadieniai, orai, tv programa ir t.t., ir kad automatiškai tai keistųsi, kad nereikėtų pačiam administratoriui keisti. Tokiai sistemai sukurti didelių žinių nereikia, bet vis tiek reikia bent PHP pagrindų išmanymo, tačiau pasistengsiu parašyt paprastai ir aiškiai, kad jei prireiks, tai galėtų pabandyt susikurti ir PHP nemokantys žmonės.
     
    Šį uždavinį galima atlikt ne vienu būdu. Galima naudoti soketus, curl, bet aš parodysiu paprasčiausią variantą, su file() funkcija.
     
    Tarkim darome sistemą, kuri turėtų parodyti šiandienos vardadienius. Pirmiausia turime internete susirasti kitą tinklalapį, kuriame tokia sistema jau yra. Pvz.: http://www.sveikinimai-sveikinimai.lt/vardadieniai/
     
    Darbas:
     
    Pirmiausia reikia mums prisijungti prie tinklalapio, iš kurio imsime informaciją, šiuo atveju vardadienius. Kad būtų aiškiau, pradžiai galima pasirašyti tokį skriptuką:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } echo $src; ?>
    Dabar paleidę šitą kodą pamatysit savo adresą, tačiau http://www.sveikinimai-sveikinimai.lt/vardadieniai/ puslapio išvaizdą. Su file() funkcija prisijungiame prie jau minėto tinklalapio, nuskaitome HTML kodą ir sudedame į masyvą. Toliau seka ciklas. Ciklo tikslas - masyvą su tinklalapio HTML kodu paversti paprastu kintamuoju. Visas tinklalapio HTML kodas yra priskiriamas kintamajam $src. Tam, kad patikrinti ar viską atlikome teisingai, parašome echo $src;
     
    Dabar, kad būtų lengvesnis tolimesnis darbas, eilutę echo $src; ištrinam ir vietoj jos parašom: echo htmlspecialchars($src);
     
    Funkcija htmlspecialchars() išjungia HTML tagus. Tarkime jei parašysime echo '<b>Labas</b>'; tai mums grąžins: Labas, bet jei parašysime echo htmlspecialchars('<b>Labas</b>'); tai mums ir grąžins: <b>Labas</b>.
     
    Taigi, parašę echo htmlspecialchars($src); pamatome visą puslapio HTML kodą. Pamatome todėl, kad atlikus pirmuosius veiksmus, mums buvo grąžintas to puslapio HTML kodas su visais HTML tagais ir mes matėme puslapio išvaizdą, o dabar, kai pasinaudojom funkcija htmlspecialchars(); tai išjungėme visus HTML tagus, ir matome jau nebe puslapio išvaizdą, bet jo HTML kodą.
     
     
    Pirmas darbo etapas įveiktas. Dabar laikas kitam etapui - teksto karpymui.
     
    Turime prieš akis mums reikalingo puslapio HTML kodą. Kad nereiktų ilgai knaisiotis prie kodą, galime tiesiog pasinaudoti ctrl+f. Prieš tai užmetam akį kieno šiandien vardadieniai (šiuo metu, kai rašau straipsnį, vardadienius švenčia: Steigvilė, Augustinas, Patricija). Taigi, spaudžiu ctrl+f ir suvedu tekstą Steigvilė, Augustinas, Patricija (žinoma kas skaitys šį straipsnį kitomis dienomis, tai turės vesti nebe šituos vardus) ir spaudžiu Enter. Mane iškarto "numetė" prie tos HTML kodo vietos, kurioje yra vardai. Aplinkui matome labai daug visokio mums nereikalingo teksto, o mums reikia tik vardų, vadinasi turėsime išsikirpti vardus.
     
    Šiai užduočiai galime naudoti daugybę funkcijų, daugybę būdų, bet asmeniškai tam naudoju explode(), strpos(), substr() ir kartais str_replace() funkcijas.
     
    Paprasčiausiai yra viską atlikti su explode() funkcija (su ja šiuo atveju ir atliksim darbą), bet trumpai apžvelgsiu visas paminėtas funkcijas (gal kam prireiks).
     
    Funkcijos:
     
    strpos() - nustato kokio nors ženklo poziciją tekste. Reikalauja 2 argumentų: 1. Tekstas, kuriame ieškosim mums reikalingo simbolio vietos. 2. Simboli-s/ai, kurių ieškosim tekste. Pavyzdys:

    <?php $pozicija = strpos('a475c45j', 'c'); echo $pozicija; ?>
    Gausim atsakymą: 4, nes ieškom raidės "c" tekste "a475c45j" (P.S. Šitoj funkcijoj pirma pozicija yra prieš pirmą raidę, šiuo atveju prieš raidę "a").
     
     
    substr() - funkcija skirta iškirpti kokią nors vietą iš teksto. Reikalauja 3 argumentų: 1. Tekstas, iš kurio kirpsim. 2. Ženklas (skaičiumi), nuo kur pradėsim kirpti (jei užmeskit akį į strpos() jau manau turėtumėte pastebėt ryšį). 3. Kiek kirpsim (skaičiumi). Pavyzdys:

    <?php $kerpam = substr('labas kaip sekasi?', 6, 4); echo $kerpam; ?>
    Atsakymą gavom "kaip". Skaičius 6 nurodė, kad pradėsim kirpti nuo 6 ženklo, o skaičius 4 parodė, kad kirpsim per 4 ženklus (tarpas taip pat skaičiuojasi kaip ženklas).
     
     
    explode() - funkcija skirta tekstą skaidyti į masyvą pagal kažkokį ženklą. Reikalauja 3 argumentų, tačiau mums svarbūs tik pirmi 2 argumentai: 1. Ženklas, pagal kurį skaidysim tekstą. 2. Tekstas, kurį skaidysim. Pavyzdys:

    <?php $tekstas = 'labas z kaip z sekasi'; $skaidom = explode('z', $tekstas); echo $skaidom[0]; ?>
    Atsakymą gavome "labas". Todėl, kad nurodėme, kad tekstą skaidysime pagal raidę "z". Kadangi raidė "z" paminėta 2 kartus, vadinasi tekstą perskėlėme į 3 dalis: "labas", "kaip" ir "sekasi". echo $skaidom[0]; - laužtiniuose skliaustuose nurodome kokią dalį norime pamatyti (masyve pradedama skaičiuoti nuo 0). Jei parašysime echo $skaidom[1]; - atsakymą gausime "kaip". Jei parašysime echo $skaidom[2]; - atsakymą gausime "sekasi".
     
     
    str_replace() - funkcija skirta vienus žodžius arba ženklus pakeisti kitais žodžiais arba ženklais (dažnai naudojama kuriant įvairias bendravimo sistemas, kad cenzūruoti keiksmažodžius). Reikalauja 3 argumentų: 1. Žodžiai, kuriuos norime pakeisti. 2. Kokiais žodžiais pakeisime tuos neįtikusius žodžius. 3. Tekstas, kuriame bus tie žodžiai. Pavyzdys:

    <?php $tekstas = 'labas kajp tau sekasi?'; $pakeista = str_replace('kajp', 'kaip', $tekstas); echo $pakeista; ?>
    Atsakymą gausime "labas kaip tau sekasi?", nes žodį "kajp" pakeitėme žodžiu "kaip".
    Tikiuosi, kad jau įžvalgesni (nemokantys PHP) suprato, kad argumentai funkcijoje skiriami kableliais. ;)
     
     
    O dabar visas kodas:

    <?php $nuskaityti_i_masyva = file('http://www.sveikinimai-sveikinimai.lt/vardadieniai/'); for($i=0;$i<=count($nuskaityti_i_masyva);$i++) { $src .= $nuskaityti_i_masyva[$i]; } $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ?>
     
    Kodo pradžią jau aiškinau viršuje. Dabar žiūrime toliau. Eilutė: $skeliam_pradzia = explode('"virsus_vardadieniai_tekstas">', $src); - šita eilutė reiškia, kad perskeliam visą tekstą ties žodžiais "virsus_vardadieniai_tekstas"> Jei po šitos eilutės parašysime echo htmlspecialchars($skeliam_pradzia[0])."<br/><br/>"; tai pamatysime visą pirmą teksto dalį, kurią atskėlėme. Iki pat vardų. Tačiau mums pirmos dalies nereikia, mums reikia dalies su vardais, vadinasi $skeliam_pradzia[0] mums netinka. Bandom $skeliam_pradzia[1]. Parašę echo htmlspecialchars($skeliam_pradzia[1])."<br/><br/>"; jau pamatysime vardus, tačiau vis dar gale vardų liks šiek tiek mums nereikalingo HTML kodo. Vadinasi $skeliam_pradzia[1] mums tinkamas, bet dabar dar reikia nuimt tą pabaigą su HTML simboliais ir keliais žodžiais. Žinoma galime pasinaudoti funkcija str_replace(), bet galim dar kartą panaudoti funkciją explode().
    $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); - šita eilutė nurodo, kad skeliam likusį tekstą per simbolį </span>. Jei po eilute $skeliam_pabaiga = explode('</span>', $skeliam_pradzia[1]); parašytumėm echo htmlspecialchars($skeliam_pabaiga[1])."<br/><br/>"; tai gautumėm tuos likusius HTML simbolius ir kelis žodžius, kitaip tariant pabaigą, nes parašėm $skeliam_pabaiga[1], bet mums nereikia tos pabaigos, vardai buvo pradžioje, vadinasi mums tinkamas yra $skeliam_pabaiga[0]
    Pabaigoje paparasčiausiai parašome echo '<b>Dienos vardadieniai: </b>'.$skeliam_pabaiga[0]; ir išvedame šiandienos vardadienius į ekraną. Viskas. ;)
     
    Veikiantį skriptą galite pamatyti čia: http://mobilus24.lt/vardadieniai.php
     
    Pradžioj buvo mintis padaryti ir pavyzdinius orų bei tv programos kodus, bet vėliau patingėjau. :) Vis dėlto, jei kam reikės, prašykit temoj ir turėdamas laiko parašysiu kodą.
  9. Patinka
    Friday sureagavo į petriux Manekenių Lietuvaičių nuotykiai X-Faktoriuje   
    Palyginimui ;)
     

  10. Patinka
    Friday gavo reakciją nuo los bambardyros Dėl erotinio tinklalapio   
    Bet, kad šitas sakinys: "O pornografija tai jau lytinis atktas ar lytinio organo demonstravimas iš arti." lyg ir prieštarauja šitam sakiniui: "MAn prisikabino net dėl paprasčiausios nuotraukos kurioje moters lytinis organas matėsi iš arti." :(
  11. Patinka
    Friday gavo reakciją nuo Backlink Dėl erotinio tinklalapio   
    Taigi, užsiėmiau erotinio tinklalapio kūrimu ir iškilo klausimų dabar. Susiradau kur talpinsiu tinklalapį, bet su domenu problema. Norėjau pirkt domeną su .lt galūne iš Lietuvos, bet pagalvojau, kad jei prisikabins dėl tinklalapio, tai lengvai atseks, kas pirko domeną, nes domeno pardavėjas Lietuvoj (tinklalapis lietuvių kalba). Tada pabandžiau paieškot .lt galūnių ne iš Lietuvos. Radau, bet labai brangu. Ne itin galiu leist sau tokią sumą užmokėt už domeną. Taigi pirmas klausimas. Ar verta rizikuot ir pirkt domeną su .lt iš Lietuvos? Ar daug šansų, kad prisikabins? Ir tik domenas būtų pirktas Lietuvoj, pats tinklalapis patalpintas Kanados serveryje. Bet tinklalapis lietuvių kalba. Ir tinklalapis erotinis, ne pornografinis. Ar geriau nerizikuot ir pirkt kokį nors domeną su .com ar .net galūne iš užsienio? Ir kitas klausimas. Kai kalbėjau su hostingo administratorium, pas kurį talpinsiu, jis sakė, kad erotiką leidžiama talpint, bet ne pornografiją. Ar video, kuriame mylisi 2 (arba daugiau) merginų (vyrų nėra) skaitosi kaip pornografija ar ne? Dėkui už atsakymus.
  12. Patinka
    Friday gavo reakciją nuo Backlink Dėl erotinio tinklalapio   
    Taigi, užsiėmiau erotinio tinklalapio kūrimu ir iškilo klausimų dabar. Susiradau kur talpinsiu tinklalapį, bet su domenu problema. Norėjau pirkt domeną su .lt galūne iš Lietuvos, bet pagalvojau, kad jei prisikabins dėl tinklalapio, tai lengvai atseks, kas pirko domeną, nes domeno pardavėjas Lietuvoj (tinklalapis lietuvių kalba). Tada pabandžiau paieškot .lt galūnių ne iš Lietuvos. Radau, bet labai brangu. Ne itin galiu leist sau tokią sumą užmokėt už domeną. Taigi pirmas klausimas. Ar verta rizikuot ir pirkt domeną su .lt iš Lietuvos? Ar daug šansų, kad prisikabins? Ir tik domenas būtų pirktas Lietuvoj, pats tinklalapis patalpintas Kanados serveryje. Bet tinklalapis lietuvių kalba. Ir tinklalapis erotinis, ne pornografinis. Ar geriau nerizikuot ir pirkt kokį nors domeną su .com ar .net galūne iš užsienio? Ir kitas klausimas. Kai kalbėjau su hostingo administratorium, pas kurį talpinsiu, jis sakė, kad erotiką leidžiama talpint, bet ne pornografiją. Ar video, kuriame mylisi 2 (arba daugiau) merginų (vyrų nėra) skaitosi kaip pornografija ar ne? Dėkui už atsakymus.
  13. Patinka
    Friday gavo reakciją nuo Backlink Dėl erotinio tinklalapio   
    Taigi, užsiėmiau erotinio tinklalapio kūrimu ir iškilo klausimų dabar. Susiradau kur talpinsiu tinklalapį, bet su domenu problema. Norėjau pirkt domeną su .lt galūne iš Lietuvos, bet pagalvojau, kad jei prisikabins dėl tinklalapio, tai lengvai atseks, kas pirko domeną, nes domeno pardavėjas Lietuvoj (tinklalapis lietuvių kalba). Tada pabandžiau paieškot .lt galūnių ne iš Lietuvos. Radau, bet labai brangu. Ne itin galiu leist sau tokią sumą užmokėt už domeną. Taigi pirmas klausimas. Ar verta rizikuot ir pirkt domeną su .lt iš Lietuvos? Ar daug šansų, kad prisikabins? Ir tik domenas būtų pirktas Lietuvoj, pats tinklalapis patalpintas Kanados serveryje. Bet tinklalapis lietuvių kalba. Ir tinklalapis erotinis, ne pornografinis. Ar geriau nerizikuot ir pirkt kokį nors domeną su .com ar .net galūne iš užsienio? Ir kitas klausimas. Kai kalbėjau su hostingo administratorium, pas kurį talpinsiu, jis sakė, kad erotiką leidžiama talpint, bet ne pornografiją. Ar video, kuriame mylisi 2 (arba daugiau) merginų (vyrų nėra) skaitosi kaip pornografija ar ne? Dėkui už atsakymus.
  14. Pagarba
    Friday sureagavo į oxopo Reikia labai paprasto PHP scriptuko..   
    pavyzdžiui

    <html> <head> </head> <body> <?php echo "This is PHP"; ?> </body> </html>
  15. Patinka
    Friday sureagavo į north Reikia labai paprasto PHP scriptuko..   
    Nu jei taip sakai tai tikrai nekoks programuotojas.. :)
  16. Patinka
    Friday gavo reakciją nuo acer2310 Reikia labai paprasto PHP scriptuko..   
    <?php echo '<html> <head> <title>Forma</title> </head> <body>'; switch($_GET['id']) { default : echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id=2"> Vardas: <input type="text" name="vardas" tabindex="1"><br/> Pavarde: <input type="text" name="pavarde" tabindex="2"><br/> <input type="submit" name="ok" value="Toliau" tabindex="3"> </form>'; break; case "2" : $fp = fopen('duomenys.txt', 'a'); fwrite($fp, "Vardas: ".$_POST['vardas']."\nPavarde: ".$_POST['pavarde']."\n\n"); fclose($fp); echo 'Irasyta!'; break; } echo '</body> </html>'; ?>
  17. Patinka
    Friday sureagavo į adijux Muzikos grojimas svetaineje   
    Žinau, kad turbūt mano patarimas nelabai turės reikšmės tavo apsisprendimui, tačiau visgi noriu pasisakyti.
     
    Tikrai nerekomenduoju dėti muzikos į tinklalapį, nes:

    tai erzina lankytojus (pavyzdžiui, aš darbuodamasis prie kompiuterio ar tiesiog naršydamas internete beveik visada klausausi man patinkančios, atsirinktos muzikos, todėl užėjus į tinklalapį, kur pradeda groti kažkokia muzika ir pradeda „pjautis“ su mano muzika, sunervina ir tada kuo greičiau turiu išjungti arba savo grotuvą, arba ieškoti mygtuko tinklalapyje, kurį paspaudus nutiltų ta prakeikta muzika);
     
    tinklalapis, kuriame „streaminama“ muzika, krausis kur kas ilgiau;
     
    muzikos sprendimas tinklalapyje nesudaro solidumo (ypatingai įmonių puslapiams).

     
    Žodžiu, nenurodau, kaip tau elgtis, tiesiog duodu draugišką patarimą.
  18. Pagarba
    Friday sureagavo į blogai cs uzas tik 10lt visam laikui!   
    sveiki pardavineju cs uzus uz 10lt visam laikui menesiui 5lt! serveriai 2 jai pirksit abejuose kitam serve uzas tik 5lt abejuose serveriuose yra supermenu tai reiskia kad galesit prikelt zmogu ir panasias nesamones daryt akinanti šypsena visas funkcijas amx_super suzinosit googlei
     
    DEMESIO! Jus busite salinami nuo uzo pareigu tik ciais atvejeis jai cheatinsit, darysit vsika kad dingtu zmones ir neklausysit manes (as daznai nezaisiu taip kad nematysiu nebent retkarciais i console uzmesiu aki ir tik perspesiu) jaigu nusizengsit gausit ispejima 5ispejimai nuimu uza nuo vieno servo kitam serve lieka tik 2ispejimai ir td tam nuemu beje servas dazniausiai veikia nuo kokiu 9-11 ryto iki kokiu 10-11-12 ir pan ziurint ka darau ir ar nelepia nieks pc isjungt serveriu tipai: 1-surf 2-deathrun jaigu noresit galesiu idet jusu norima plugina (jai jis tikrai bus geras) dar pridesiu jai turit puslapi puslapio reklama i abu serverius zaidejai renkasi ivairiai kartais ijungiu serva per 5min jau buna 7-8 zmones (serveriuose telpa po 18zmoniu) kolkas surf 16 ryt arba veliau padarysiu 18 tai tiek kas susidomjot rasot cia, pm, skype: lukas978
     
    P.S. jaigu norit uz domena taip pat nereiks moketi abejuose serveriuose busit admin ir bus abejuose serveriuso max 10 nusizengimu ne 5 jaigu vienam serve 10 kartu nusizenksit kitam liks 5(domena renkuosi pats)
    P.S.S. Uz cheatus nuimsiu vienam serve visus ispejimus kitam 1liks!
    Atsiskaitymas tele2 papildymu, domenu (kaip minejau), sms gali but dviguma kaina jai rasiu is ko pirkt uza noresit sms galesiu taip pat ir uz sms
     
    78.57.112.81:27015 - Deathrun
    78.57.112.81:27016 - Surf
  19. Pagarba
    Friday sureagavo į Bandiz Ieskau el.parduotuves skripto.   
    Gal kasnors jau turite sukure ir isbandyta el.parduotuves skripta kuriuo nebrangiai noretumete pasidalinti su manimi. Man reiketu tokio skripto kuris butu suristas su mokejimai.lt (Kad eitu atsiskaityti Lietuviskomis banko kortelemis) Neperkrautas per daug ivairiom funkcijom ,nes bus pardavynejamos vienos rusies prekemis. Zodziu laukiu jusu pasiulymu , free shopu nesiulykite tokiu kaip occomerce ,nes jis nelabai atitinka mano reikalavimus, nebent butu modifikuoti free scriptai.
  20. Patinka
    Friday sureagavo į Rimas Apribotas Skype vardo keitimas   
    Sveiki,
     
    Dėl pastaruoju metu forume padažnėjusių vartotojų slaptažodžių vagysčių, nusprendėme apriboti Skype vardo keitimo galimybę.
     
    Nuo šiol pakeisti narių profilyje rodomus Skype vardus galės tik moderatoriai ir administratoriai, ir jie tai darys prieš tai patikrinę, ar dėl pakeitimo kreipiasi tikrasis vartotojo vardo savininkas.
    Tad nuo šiol apgavikai, sužinoję žmogaus slaptažodį, negalės jo greitai visiškai pasisavinti, o tikrajam savininkui bus sudaryta galimybė greitai jį atgauti, tiesiog kreipiantis į administraciją iš profilyje nurodyto Skype vardo.
    Bus išvengta sudėtingų ir abejotinų tikrinimų, ar dėl vartotojo vardo atgavimo kreipiasi tikrasis jo savininkas, ar apgavikas.
     
    Tikiuosi, kad toks pakeitimas nesukels daug nepatogumų.
    Juk Skype vardą keičiame tikrai ne dažnai, o jei prisireikia pasikeisti, tai bus galima padaryti, kreipiantis į bet kurį tuo metu aktyvų moderatorių ar administratorių arba tiesiog paliekant pranešimą šioje temoje. :blink:
     
    Dėkoju, už supratimą.
     
     
     
    Papildymas (2009-08-14):
     
    Pranešu, kad saugumo sumetimais, galbūt laikinai, Skype vardo laukelis buvo paslėptas ir nuo šiol profiliuose nebematomas.
    Administracija ragina sandėrius kuo dažniau vykdyti asmeninėmis žinutėmis, nes toks komunikavimo būdas gerokai sumažina apgavystės tikimybę.
  21. Patinka
    Friday sureagavo į north mokejimai.lt pajungimas savo tinklalapyje   
    Pervadini faila i "d3frwras3sr3321rq3d3qdq12es.php" ir tegu spelioja... :wub:
  22. Patinka
    Friday gavo reakciją nuo KMG mokejimai.lt pajungimas savo tinklalapyje   
    Tech, taigi aš stengiausi kuo paprasčiau, tik kad žmonės esmę suprastų, o ne aukštos kokybės kodą parašyt. :wub:
  23. Patinka
    Friday gavo reakciją nuo KMG mokejimai.lt pajungimas savo tinklalapyje   
    Tech, taigi aš stengiausi kuo paprasčiau, tik kad žmonės esmę suprastų, o ne aukštos kokybės kodą parašyt. :wub:
  24. Patinka
    Friday gavo reakciją nuo Skraidytojas mokejimai.lt pajungimas savo tinklalapyje   
    Atsiprašau, jei kam šituo postu padarysiu antibiznį, tiesiog jau kelintą kartą gaunu prašymą padėt pasijungt mokejimai.lt sistemą savo tinklalapyje. O pasijungti ištikro yra baisiai paprasta ir tik klaidingas įspūdis, kad sunku. Tam tereikia minimalių PHP žinių.
     
    Įsivaizduokim situaciją: turime žaidimą. Reikia padaryt sistemą, kad žmogus išsiuntęs sms žinutę už atitinkamą sumą pinigų, gautų atitinkamai auksinių žaidime. Žmogus sms žinutėje įveda atitinkamą raktažodį, deda tarpą, įveda savo niką ir siunčia sms.
     
    Užsiregistruojam mokejimai.lt, prisijungiam ir spaudžiam "SMS raktažodžiai". Nustatom šalį (šiuo atveju Lietuva), pasirenkam sumą (pvz. 2 lt), renkamės vieną iš duotų numerių (pvz. 1614), įvedam norimą raktažodį (kadangi sakiau, kad darysim sistemą, kad žaidime gauti auksinių, tai vedam raktažodį pvz. auksiniai10), ten kur reikia nurodyti adresą, nurodom adresą PHP failo, į kurį bus kreiptasi po žinutės išsiuntimo. Tą PHP failą reikės pasirašyt. (pvz. http://kazkoksadresas.lt/sms845.php) ir spaudžiam "IŠSAUGOTI PAKEITIMUS". Galim taip daugiau susikurt raktažodžių už skirtingas sumas. Pvz. auksiniai20 - 3 lt, auksiniai50 - 5 lt. Darbas mokejimai.lt sistemoje baigtas.
     
    Tarkim, kad susikūrėm 3 raktažodžius:
    auksiniai10 - 2 lt
    auksiniai20 - 3 lt
    auksiniai50 - 5 lt
     
    Dabar reikia pasirašyt PHP failą. Adrese nurodėm, kad PHP failas bus sms845.php (http://kazkoksadresas.lt/sms845.php). Geriausia, kad failą pavadintumėt kaip nors sudėtingiau, ne šiaip sms.php ar panašiai. Pridėkit skaičių ir t.t., nes jei kas nors atrastų tą failą, tada galėtų nemokamai naudotis paslaugomis. Šiuo atveju gaut auksinių. Taigi susikuriam PHP failą pavadinimu sms845.
     
    Dabar peržiūrim specifikacijas: https://www.mokejimai.lt/mikro_mokejimu_spe...kacija_SMS.html
     
    Šiuo atveju mums greičiausiai nereikės nei numerio, iš kurio buvo išsiųsta žinutė, nei šalies, nei mobiliojo operatoriaus ar panašiai. Užteks žinutės teksto. Taigi, žiūrim žinutės teksto specifikaciją. Parametras: sms ("Žinutės turinys su raktažodžiu bei subraktažodžiu."). Vadinasi į jūsų failą sms845.php žinutės tekstas bus priskirtas kintamąjam $_GET['sms'].
     
    PHP kodas atrodytų taip:

    <?php include "sql.php"; list($raktazodis, $nikas) = explode(" ", $_GET['sms']); $raktazodis = strtolower($raktazodis); if($raktazodis == 'auksiniai10') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+10 WHERE nikas='$nikas'"); echo 'Jus gavote 10 auksiniu! Sekmes zaidziant!'; } if($raktazodis == 'auksiniai20') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+20 WHERE nikas='$nikas'"); echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; } if($raktazodis == 'auksiniai50') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+50 WHERE nikas='$nikas'"); echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; } if($raktazodis != 'auksiniai10' and $raktazodis != 'auksiniai20' and $raktazodis != 'auksiniai50') { echo 'Tokio raktazodzio nera!'; } ?>
     
    Dabar paaiškinimai:
     
    include "sql.php"; - inkliudinam prisijungimą prie sql duomenų bazės. Na arba galit iškarto rašyt viršuj, bet aš pripratęs inkliudint.
     
    list($raktazodis, $nikas) = explode(" ", $_GET['sms']); - jau minėjau sms teksto tvarką. Vartotojas parašo raktažodį, deda tarpa ir savo niką. Tarkim išsiuntėm sms: "auksiniai20 Friday". Žinome, kad tarpas skiria vartotojo niką, šiuo atveju Friday nuo raktažodžio. Taigi pasinaudodami funkcija explode(); kintamajam $raktazodis priskiriam tai, kas yra prieš tarpą (t.y. raktažodį), o kintamajam $nikas priskiriam tai, kas yra po tarpo (t.y. vartotojo niką). Galbūt vėl kilo klausimas, bet kaip iš kur mes gaunam tą tekstą su raktažodžiu ir niku? Atkreipkit į vietą explode(" ", $_GET['sms']); kaip jau minėjau, kintamajam $_GET['sms'] bus priskirtas tekstas, kurį išsiųs vartotojas. Taigi, dabar turim 2 kintamuosius. $raktazodis su reikšme "auksiniai20" ir kintamasis $nikas su reikšme "Friday".
     
    $raktazodis = strtolower($raktazodis); - čia yra labai svarbi vieta. Jei tarkim jūs sukūrėte raktažodį auksiniai20 mokejimai.lt sistemoje, o vartotojas išsiuntė AUKSINIAI20, tai sistema šiuos raktažodžius traktuos kaip skirtingus! Todėl, kad nuo to apsidraustume, ar išsiuntė didžiosiomis, ar mažosiomis raidėmis tą raktažodį, pasinaudodami funkcija strtolower(); paverčiam raktažodį mažosiomis raidėmis.
     
    O toliau viskas labai paprasta. Tiesiog su if'ais tikrinam koks raktažodis. Kadangi šiuo atveju išsiuntėm raktažodį auksiniai20, tai bus vykdomas blokas prie if'o if($raktazodis == 'auksiniai20').
    mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+20 WHERE nikas='$nikas'"); - šitoj vietoj vartotojui Friday suteiksim 20 auksinių.
    echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; - o tekstas, kurį parašysim tarp echo, bus išsiųstas atgal vartotojui į telefoną su sms žinute.
    if($raktazodis != 'auksiniai10' and $raktazodis != 'auksiniai20' and $raktazodis != 'auksiniai50') - jei vartotojas išsiuntė kažkokį kitokį raktažodį, ne auksiniai10, ne auksiniai20, ne auksiniai50, tuomet jis gaus sms su tekstu: "Tokio raktazodzio nera!", kadangi bloke parašyta: echo 'Tokio raktazodzio nera!';
     
     
    Na kaip ir viskas. Tikiuosi kam nors pravers. Jei ką, galit klaust temoj. :wub:
     
    P.S. Tikrai nežinau ar ten be klaidų parašiau, nes net netikrinau, taigi jei pamatėt klaidą, sakykit.
    P.P.S Su switch() daug tvarkingiau atrodo kodas, bet su if() paprasčiau naujokams.
  25. Patinka
    Friday gavo reakciją nuo Skraidytojas mokejimai.lt pajungimas savo tinklalapyje   
    Atsiprašau, jei kam šituo postu padarysiu antibiznį, tiesiog jau kelintą kartą gaunu prašymą padėt pasijungt mokejimai.lt sistemą savo tinklalapyje. O pasijungti ištikro yra baisiai paprasta ir tik klaidingas įspūdis, kad sunku. Tam tereikia minimalių PHP žinių.
     
    Įsivaizduokim situaciją: turime žaidimą. Reikia padaryt sistemą, kad žmogus išsiuntęs sms žinutę už atitinkamą sumą pinigų, gautų atitinkamai auksinių žaidime. Žmogus sms žinutėje įveda atitinkamą raktažodį, deda tarpą, įveda savo niką ir siunčia sms.
     
    Užsiregistruojam mokejimai.lt, prisijungiam ir spaudžiam "SMS raktažodžiai". Nustatom šalį (šiuo atveju Lietuva), pasirenkam sumą (pvz. 2 lt), renkamės vieną iš duotų numerių (pvz. 1614), įvedam norimą raktažodį (kadangi sakiau, kad darysim sistemą, kad žaidime gauti auksinių, tai vedam raktažodį pvz. auksiniai10), ten kur reikia nurodyti adresą, nurodom adresą PHP failo, į kurį bus kreiptasi po žinutės išsiuntimo. Tą PHP failą reikės pasirašyt. (pvz. http://kazkoksadresas.lt/sms845.php) ir spaudžiam "IŠSAUGOTI PAKEITIMUS". Galim taip daugiau susikurt raktažodžių už skirtingas sumas. Pvz. auksiniai20 - 3 lt, auksiniai50 - 5 lt. Darbas mokejimai.lt sistemoje baigtas.
     
    Tarkim, kad susikūrėm 3 raktažodžius:
    auksiniai10 - 2 lt
    auksiniai20 - 3 lt
    auksiniai50 - 5 lt
     
    Dabar reikia pasirašyt PHP failą. Adrese nurodėm, kad PHP failas bus sms845.php (http://kazkoksadresas.lt/sms845.php). Geriausia, kad failą pavadintumėt kaip nors sudėtingiau, ne šiaip sms.php ar panašiai. Pridėkit skaičių ir t.t., nes jei kas nors atrastų tą failą, tada galėtų nemokamai naudotis paslaugomis. Šiuo atveju gaut auksinių. Taigi susikuriam PHP failą pavadinimu sms845.
     
    Dabar peržiūrim specifikacijas: https://www.mokejimai.lt/mikro_mokejimu_spe...kacija_SMS.html
     
    Šiuo atveju mums greičiausiai nereikės nei numerio, iš kurio buvo išsiųsta žinutė, nei šalies, nei mobiliojo operatoriaus ar panašiai. Užteks žinutės teksto. Taigi, žiūrim žinutės teksto specifikaciją. Parametras: sms ("Žinutės turinys su raktažodžiu bei subraktažodžiu."). Vadinasi į jūsų failą sms845.php žinutės tekstas bus priskirtas kintamąjam $_GET['sms'].
     
    PHP kodas atrodytų taip:

    <?php include "sql.php"; list($raktazodis, $nikas) = explode(" ", $_GET['sms']); $raktazodis = strtolower($raktazodis); if($raktazodis == 'auksiniai10') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+10 WHERE nikas='$nikas'"); echo 'Jus gavote 10 auksiniu! Sekmes zaidziant!'; } if($raktazodis == 'auksiniai20') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+20 WHERE nikas='$nikas'"); echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; } if($raktazodis == 'auksiniai50') { mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+50 WHERE nikas='$nikas'"); echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; } if($raktazodis != 'auksiniai10' and $raktazodis != 'auksiniai20' and $raktazodis != 'auksiniai50') { echo 'Tokio raktazodzio nera!'; } ?>
     
    Dabar paaiškinimai:
     
    include "sql.php"; - inkliudinam prisijungimą prie sql duomenų bazės. Na arba galit iškarto rašyt viršuj, bet aš pripratęs inkliudint.
     
    list($raktazodis, $nikas) = explode(" ", $_GET['sms']); - jau minėjau sms teksto tvarką. Vartotojas parašo raktažodį, deda tarpa ir savo niką. Tarkim išsiuntėm sms: "auksiniai20 Friday". Žinome, kad tarpas skiria vartotojo niką, šiuo atveju Friday nuo raktažodžio. Taigi pasinaudodami funkcija explode(); kintamajam $raktazodis priskiriam tai, kas yra prieš tarpą (t.y. raktažodį), o kintamajam $nikas priskiriam tai, kas yra po tarpo (t.y. vartotojo niką). Galbūt vėl kilo klausimas, bet kaip iš kur mes gaunam tą tekstą su raktažodžiu ir niku? Atkreipkit į vietą explode(" ", $_GET['sms']); kaip jau minėjau, kintamajam $_GET['sms'] bus priskirtas tekstas, kurį išsiųs vartotojas. Taigi, dabar turim 2 kintamuosius. $raktazodis su reikšme "auksiniai20" ir kintamasis $nikas su reikšme "Friday".
     
    $raktazodis = strtolower($raktazodis); - čia yra labai svarbi vieta. Jei tarkim jūs sukūrėte raktažodį auksiniai20 mokejimai.lt sistemoje, o vartotojas išsiuntė AUKSINIAI20, tai sistema šiuos raktažodžius traktuos kaip skirtingus! Todėl, kad nuo to apsidraustume, ar išsiuntė didžiosiomis, ar mažosiomis raidėmis tą raktažodį, pasinaudodami funkcija strtolower(); paverčiam raktažodį mažosiomis raidėmis.
     
    O toliau viskas labai paprasta. Tiesiog su if'ais tikrinam koks raktažodis. Kadangi šiuo atveju išsiuntėm raktažodį auksiniai20, tai bus vykdomas blokas prie if'o if($raktazodis == 'auksiniai20').
    mysql_query("UPDATE `nikai` SET auksiniai=auksiniai+20 WHERE nikas='$nikas'"); - šitoj vietoj vartotojui Friday suteiksim 20 auksinių.
    echo 'Jus gavote 50 auksiniu! Sekmes zaidziant!'; - o tekstas, kurį parašysim tarp echo, bus išsiųstas atgal vartotojui į telefoną su sms žinute.
    if($raktazodis != 'auksiniai10' and $raktazodis != 'auksiniai20' and $raktazodis != 'auksiniai50') - jei vartotojas išsiuntė kažkokį kitokį raktažodį, ne auksiniai10, ne auksiniai20, ne auksiniai50, tuomet jis gaus sms su tekstu: "Tokio raktazodzio nera!", kadangi bloke parašyta: echo 'Tokio raktazodzio nera!';
     
     
    Na kaip ir viskas. Tikiuosi kam nors pravers. Jei ką, galit klaust temoj. :wub:
     
    P.S. Tikrai nežinau ar ten be klaidų parašiau, nes net netikrinau, taigi jei pamatėt klaidą, sakykit.
    P.P.S Su switch() daug tvarkingiau atrodo kodas, bet su if() paprasčiau naujokams.
×
×
  • Pasirinkite naujai kuriamo turinio tipą...