Navigacija

Vartotojų tinkle

Prisijungusių svečių: 503
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,956
Naujausias narys: saulyzas

Naujausi straipsniai

Paskutiniai nariai

saulyzas 1 diena
MaFetas 3 dienos
TOMIJUS 1 savaitė
ozzWANTED 1 savaitė
Reikalas10 savaitės
Jaunelis16 savaitės
lanis16 savaitės
And2s17 savaitės
Memento Mori22 savaitės
Quwqkibor24 savaitės
asirija28 savaitės
tomeem30 savaitės
weberiz34 savaitės
mRokass36 savaitės
kartoonas37 savaitės
grunskiz40 savaitės
Bruksnys40 savaitės
illusion40 savaitės
ordo41 savaitės
Jurgaila42 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 3.147.72.65
Naujienų: 529
Straipsnių: 235
Temų: 52,588
Postų: 522,537
Postų pask. parą: 0
Shout'ų pask. parą: 0
P.S.C. pask. parą: 0
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

MaFetas
2024 Lap. 13 22:11:57
hey how, geras dar veikiantis saitas?

Jaunelis
2024 Lie. 25 11:07:43
Oho vis dar veikia svetainė akinanti šypsen Šimtas metų, matau Šaukykloje nuostalgija. Smagu panaršyt po forumą ir pažiūrėt senas temas šypsosi

And2s
2024 Lie. 17 19:07:04
2008 pirmą kart čia patekau, man buvo 10m ir čia pramokau programavimo.. smagu skaityti senas žinutes, tokia nostalgija akinanti šypsen ačiū Ozz kad saugoji šitą kultūrinį reliktą šypsosi

ozzWANTED
2024 Sau. 17 01:01:00
Desperatiškus komentarus šaukykloje su accountu po mėnesio prasibuvimo, ištryniau. Pasaulis ir taip juodas. Įjungiam šviesą, prašviesės. šypsosi

Majakas
2023 Gru. 10 19:12:39
Negaliu patikėti jog žinutės/pranešimai visi yra nuo 2008 m akinanti šypsen

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
Modifikacijų kūrimas, formos, lentelės instaliavimas
Taigi pradėsim nuo duomenų bazės lentelės instaliavimo.


Žinoma, tai galima žymiai paprasčiau padaryti:

1) Tiesiog prisijungus prie phpmyadmin ir ten skiltyje mysql įrašyti norimą kodą

2) Prie visų lentelių pačioje apačioje yra skiltis "Create new table" ten įrašote "prefixas_pavadinimas", pasirenkate kiek jums reikės laukelių (id, name, link, url, count ir t.t.) ir spaudžiat go, tada jau visa info susirašot, žinoma galima ir vėliau pridėti tų laukelių, bet apie tai kitą kart.

3) Na šis būdas jau su failais. Naudojamas dažnai modifikacijų instaliavimui.



Pirmiausia susikuriam failą, pvz pavadinimu install.php (būtinai formato *.PHP)



Toliau įkopijuojame tokį turinį:



<?php

/*---------------------------------------------------+

| Sukurė chipass

| El.paštas: chipass@gmail.com

| www.e-studija.lt Internetinių svetainių kūrimas

+----------------------------------------------------*/

require_once "maincore.php";

require_once "subheader.php";

require_once "side_left.php";



//generuojam pranesima apie ivykusia užklausą:

if(isset($status)) {

   if($status == 'irasyta') { 

   opentable('Duomenų bazės instaliavimas');

   echo "<center>Lentelės sėkmingai sukurtos</center>";

   closetable();

   } elseif($status == 'klaida') {

   opentable('Duomenų bazės instaliavimas');

   echo "<center>Lentelės nesukurtos, įvyko klaida.</center>";

   closetable();}

   }

//jeigu uzklausa dar nebuvo vykodoma, tai vykdom   

   else {

//cia visa informacija lenteles, kuria jums reikia patiems pakeisti pagal norima instaliavima lenteles strukturos   

            $result = dbquery("CREATE TABLE ".$db_prefix."lenteles_pavadinimas (

            `1 laukelis` VARCHAR( 255 ) NOT NULL ,

            `2 laukelis` VARCHAR( 255 ) NOT NULL ,

            `3 laukelis` VARCHAR( 255 ) NOT NULL ,

            `4 laukelis` VARCHAR( 255 ) NOT NULL

            );");

            //cia generuojame redirekta, kuris ivyks ivykus uzklausai

            //jeigu uzklausa sekmingai ivykdyta"

            if($result) { redirect(FUSION_SELF."?status=irasyta");   }

            //jeigu uzklausa neivykdyta:

            else { redirect(FUSION_SELF."?status=klaida");   }   

        }

require_once "side_right.php";

require_once "footer.php";

?>





Čia prašom skaityti komentarus, ir suprasit.



Papildoma informacija:



(M) Skaičius



Laukelio pasirinktys (tiksliau nurodoma ar į jį bus įrašomas skaičius ar tekstas bei visų šitų ilgiai)

TINYINT[(M)]

Labai mažas sveikasis: su ženklu – nuo -128 iki 127; be ženklo – nuo 0 iki 255.



SMALLINT[(M)]

Mažas sveikasis: su ženklu – nuo -32768 iki 32767; be ženklo – nuo 0 iki 65535.



MEDIUMINT[(M)]

Vidutinio dydžio sveikasis: su ženklu – nuo -8388608 iki 8388607; be ženklo – nuo 0 iki

16777215.




INT[(M)]

Normalaus dydžio sveikasis: su ženklu – nuo -2147483648 iki 2147483647; be ženklo – nuo

0 iki 4294967295.




INTEGER[(M)]

Tai yra INT sinonimas.



BIGINT[(M)]

Didelis sveikasis: su ženklu – nuo -9223372036854775808 iki 9223372036854775807; be

ženklo – nuo 0 iki 18446744073709551615.




CHAR(M)

Fiksuoto ilgio eilutė, įrašant glaudžiama prie dešiniojo krašto. M = 1-255. CHAR rikiuojamos ir

palyginamos nepaisant registro.




TEXT

Ilgam tekstui



bei kiti, kuriuos tingiu rašyt.

Šitie visi rašomi ten kur pažymėjau raudonai.





Toliau, dažnai žmonėms prireikia kad id generuotų automatiškai, ta prasme vis vienu vienetu didesnį (taip kaip yra pvz vartotojo id), tai taip galima padaryti laukeliui nustačius auto_increment, kode atrodytų taip:



`id` INT( 10 ) NOT NULL AUTO_INCREMENT



nu ir visas kodas:



$result = dbquery("CREATE TABLE ".$db_prefix."lenteles_pavadinimas (

`id` INT( 10 ) NOT NULL AUTO_INCREMENT,

`2 laukelis` VARCHAR( 255 ) NOT NULL ,

`3 laukelis` VARCHAR( 255 ) NOT NULL ,

`4 laukelis` VARCHAR( 255 ) NOT NULL

);");







Sekanti kaip ir pamoka, formos kūrimas.






Susikurkime failą, pvz pavadinimu kaledos.php ir jame toki turini:



<?php

/*---------------------------------------------------+

|Sukure chipass

|chipass@gmail.com

|www.e-studija.lt Internetinių svetainių kūrimas

+----------------------------------------------------*/

require_once "maincore.php";

require_once "subheader.php";

require_once "side_left.php";

//jeigu jau gavom atsakyma is scripto apie duomenu irasyma, tai juos ir atvaizduokim.

if(isset($status) && $status == 'pateikta') {

opentable('Jusu aprasymas sekmingai pridetas');

echo "Sveikiname, jus sekmingai uzsiregistravote kalediniame zaidime. Aciu jums uz informacija<br><br>";

echo "<center><a href='".BASEDIR."'>Grįžti į pagrindinį</a> | <a href='".FUSION_SELF."'>Grįžti į skripto pradžią</a></center>";

closetable();

}

elseif($status == 'atmesta') {

//cia info jeigu neirase....

}







//jeigu duomenu nepostinom irasymui i db, tuomet atvaizduojame formą:

if(!isset($_POST['pateikti']) && !isset($status)) {

opentable('Kažkoks pavadinimas formos');

echo "

<form method='POST' action='".FUSION_SELF."'>

 <table border='0' cellspacing='1' width='100%' class='tbl-border'>

    <tr>

      <td width='50%'>

      <p align='right'>Vartotojas:</td>

      <td width='50%'>

      <input type='text' name='vardas' style='width:250px;' size='20'></td>

    </tr>

    <tr>

      <td width='50%' valign='top'>

      <p align='right'>Gautos dovanos:</td>

      <td width='50%'>

      <textarea rows='8' name='dovanos' style='width:250px;' cols='20'>Cia irasom gautas dovanas</textarea></td>

    </tr>

    <tr>

      <td width='50%'>

      <p align='right'>Laimingas?</td>

      <td width='50%'><select size='1' name='laimingas' style='width:250px;'>

      <option selected value='0'>Taip</option>

      <option value='1'>Ne</option>

      </select></td>

    </tr>

    <tr>

      <td width='100%' colspan='2'>

      <p align='center'><input type='submit' value='Pateikti' name='pateikti'>&nbsp;

      <input type='reset' value='Isvalyti laukelius'></td>

    </tr>

  </table>

</form>";

closetable();

}

//jeigu paspaude prideti, tai vykdom skripta

elseif (isset($_POST['pateikti'])) {

//laukelio informacija perduodama POST rezimu, kuri galime isgauti parase ".$_POST['laukelio_pavadinimas']."  (pvz: name='laimingas')

        $result = dbquery("INSERT INTO ".$db_prefix."lentele (id, vartotojas, dovanos, laiminas) VALUES ('', '".$_POST['vartotojas']."', '".$_POST['dovanos']."', '".$_POST['laimingas']."')");

//jeigu pridejo, griztam ir parodom kad pridejo

      if($result) { redirect(FUSION_SELF."?status=pateikta");   }

//jeigu nepridejo griztam ir parodom kad nepridejo      

      else { redirect(FUSION_SELF."?status=atmesta");   }   

        }





require_once "side_right.php";

require_once "footer.php";

?>





Na viska galite koreguoti pagal save.





Zinoma, Postintus duomenis reiktu filtruoti nuo kenksmingo kodo, toliau jeigu postinama koks nors id reiktu tikrint ar postinamas skaicius ir t.t.



bet apie tai ir apie atvaizdavima kada nors veliau... gal kas nors kitas teiksis parasyt...





Autorius: @chipass

Straipsnio informacija

Autorius
bruzgis
Parašymo data
2008 gruodžio 16 22:12:55
Komentarų
20
Skaityta
3125
Spausdinti Spausdinti
Komentarai
Kelmas 2008 gruodžio 16 22:12:46
Kadangi turiu biški laisvo laiko biški paplatinsiu straipsnį:

Zinoma, Postintus duomenis reiktu filtruoti nuo kenksmingo kodo, toliau jeigu postinama koks nors id reiktu tikrint ar postinamas skaicius ir t.t.


Gerai pradedam nuo postinamo skaičiaus:
Tarkim jūs norite inserti dainos koki id'ą pagal kintamąjį $testas. Ir tai turtu būt kažkas tokio linke:

failas.php?testas=7




Čia yra būtina skaičiaus apsauga, kad nebūtu bajerių įvedus koki šūda kaip:

failas.php?testas=




Tada mes rašom toki if'ą:

1. if (!isNum($testas)) fallback("index.php");
2. if (!isNum($testas)) fallback(FUSION_SELF);
3. if (isset($testas) && !isNum($testas)) fallback("index.php");




Dabar paaiškinsiu ką parašiau viršūje.
Pirmas variantas yra paprastas jeigu nėra skaičiaus rediktinam į index.php failą.
Antrasis variantas yra taspats irgi tik tas kad būs metama ten kokiame faile esame. Pvz.: jeigu jūs šita kodą sukišit į testas.php tai jis ir numes tenpat. O trečiasis variantas tinka tik tada kada yra naudojama isset funkciją. (Isset turite žinoti ką reiškia, nes aš žodžiais nemoku paaiškint šitos funkcijos).

Viska greitai rašiau iš atminties, tai jeigu kas nors klauskit.

P.S Kolkas tiek, kai turėsiu dar daugiau laiko paaiškinsiu dar įdomesniu dalyku. Kaip laukelių tikrinimai ir pan. :)
----------------------------------
Redagavo Kelmas 2008 Gru. 16 22:12:13
bruzgis 2008 gruodžio 16 22:12:56
Saunu, kad kazkas prisideda, beje pridursiu kad prie dragelio pateiktu ifu, reiktu viena issirinkt šypsosi ir geriausiai tiktu paskutinis.

toliau filtravimui yra kelios funkcijos, kurios aprasytus ar tai modu saite ar tai pas digi, neatsimenu. o siaip filtruojama pagal toki pavizdi:

$vardas = stripinput($_POST['vardas']);

Galimas dvigubas filtravimas:

$vardas = descript(stripinput($_POST['vardas']));

Galimas ir trigubas:

$vardas = md5(descript(stripinput($_POST['vardas'])));
bruzgis 2008 gruodžio 16 23:12:38
Isset tai kaip sakant ar nurodyta, ivesta... Nu ar yra toks kintamasis nurodytas pvz adresas.lt?kalba=lt

tai uzklausa if(isset($kalba))
uzklausiame ar yra nurodytas kintamasis $kalba

pagal pavizdi mums bus atsakymas TRUE o jeigu linkas butu
adresas.lt?locale=lt
tai butu FALSE

Taip pat naudojama ir POST pavidalu papostintiems kintamiesiems (Gal geriau sakyti nezinomiesiems)
Niger 2008 gruodžio 16 23:12:50
be zodziu !!!!merkia akį;)
Kelmas 2008 gruodžio 16 23:12:29
Dar galima ir pridurti tai, kad galima pasinaudot pačiam išsivest koki erroro atvaizdavimą ir tikrint, kad pagal toki if'ą:


if (strlen($kintamasis_kur_rasome_teksta) < 5) {
echo "Per trumpas tekstas";
}




Tai tada norint atlikti koki užklausą į duomenų bazę tektu daryt taip:

if (strlen($kintamasis_kur_rasome_teksta) < 5) {
echo "Per trumpas tekstas";
} else {
užklausa...



----------------------------------
Redagavo Kelmas 2008 Gru. 16 23:12:59
Žmogus 2008 gruodžio 17 14:12:12
Vietoj to install.php galima manau daryti infusion.php
bruzgis 2008 gruodžio 17 18:12:44
ten gali rasyt ka tik nori.... o infusionui yra sdk modas, ta prasme sablonas modifikacijos kurimui
ex-it 2008 gruodžio 18 13:12:34
Viska galima rasti nete, tik va gerai kad isversta i lt kalba ir paaiskintamerkia akį
bruzgis 2008 gruodžio 18 14:12:29
isversta akinanti šypsen deja, bet viskas savom rankom parasyta
ex-it 2008 gruodžio 18 14:12:56
Klaidingai supratai, viskas kas parasyta tai yra anglu kalba, o pas ju PAAISKINIMAI lt kalba, tik tas pliusas. As nekalbu apie pati koda.
ex-it 2008 gruodžio 18 17:12:05
Beje butu vienas klausimas, tarkim downloads.php faile
as noriu irasyti download_id i kita lentele su linko paspaudimu, kaip butu galima padaryti
be formos su tuo isset'u? iterpti $data['download_id'] ar kaip?
----------------------------------
Redagavo ex-it 2008 Gru. 18 17:12:22
bruzgis 2008 gruodžio 18 23:12:19
paaiskink zmogiskai pirma...
ex-it 2008 gruodžio 19 14:12:30
Downloads.php


Download 1 [prideti]
Download 2 [prideti]
Download 3 [prideti]


Paspaudus [prideti] salia Download 1, jo duomenys isiraso i db'e esancias mano sukurtas lenteles.
----------------------------------
Redagavo ex-it 2008 Gru. 19 14:12:17
bruzgis 2008 gruodžio 19 22:12:31
downloads.php?topas=id


if(isset)($topas)) {

insertint id... tik dar reiktu tikrint ar tokio nera, tada tikrint kiek jau tam tope yra...
ex-it 2008 gruodžio 19 23:12:23
Aciu :)
----------------------------------
Redagavo ex-it 2008 Gru. 22 23:12:10
TaduXxX 2008 gruodžio 24 13:12:30
O kaip daryti,jog ištrintų info iš duomenų bazės?
MAnjack 2008 gruodžio 24 17:12:29
DROP TABLE
bruzgis 2008 gruodžio 29 15:12:14
DELETE o ne drop akinanti šypsen
Spyware 2009 vasario 10 17:02:10
pzz, gera pamoka lb šypsosi
weberiz 2010 balandžio 11 21:04:39
V7 NETINKA blogaiblogaiblogaiblogai
Rašyti komentarą
Prisijunkite, norėdami parašyti komentarą.
Reitingai
Balsuoti gali tik nariai.

Prašome prisijungti arba prisiregistruoti.

Nuostabu! Nuostabu! 100% [2 Balsų]
Labai gerai Labai gerai 0% [Nėra balsų]
Gerai Gerai 0% [Nėra balsų]
Patenkinamai Patenkinamai 0% [Nėra balsų]
Blogai Blogai 0% [Nėra balsų]