Įvairūs Internetas, tinklapių kūrimas

 PHP pradžiamokslis

Viskas apie internetą, tinklapių kūrimą, pamokos, patarimai

Standartinė xettit » 2009 Lie 10, 14:09

Šioje temoje bus dedamos smulkios pamokėlės, kaip programuoti su PHP.

Paveikslėlis
------------------------------------------------------------
Taigi dar nemokantis programuoti, taigi išmokinsiu kaip susikurti paprastą "Sveikas, pasauli" skriptą.
------------------------------------------------------------
Susikuriame failiuką "sveikaspasauli.php"
PS. Galite daryti ir kitokį pavadinimą.
Atsidare įrašome tokį kodą:
Kodas: Pasirinkti visus
<?php // PHP failo pradžia.
echo "Sveikas pasauli !"; //Leidimas rašyti tekstą, bei tekstas "Sveikas pasauli !" galite daryti ir kitokį tekstą.
?>


Na štai atsidare šį puslapį išvysite tekstą "Sveikas pasauli !".
Kam padėjau +rep. PS. "?>" tai php kodo pabaiga
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 10, 15:33

Taigi jums paaiškinsiu vieną didelę kai kurių mažai mokančių php žmonių klaidą.
-------------------------------------------------------------------------
Jei jau mokate html, wml tikriausiai dedami paveiksliuką rašote:
Kodas: Pasirinkti visus
<img src="imgadresas" alt="pavadinimas"/>

Na o jei taip rašysite php kalboje jums tesiog mėtis klaidą.
Kad klaidų nebūtų štai jums php kodas:
Kodas: Pasirinkti visus
<img src=\"imgadresas\" alt=\"pavadinimas\"/>

Taigi php kalboje prieš " turi būti ženklas \
-------------------------------------------------------------------------
Taigi štai dar nuorodos pavyzdys:
HTML:
Kodas: Pasirinkti visus
<a href="http://imagination.lt">ŠOK ČIA!</a>

PHP:
Kodas: Pasirinkti visus
<a href=\"http://imagination.lt\">ŠOK ČIA</a>

-------------------------------------------------------------------------
Ir tai netik nuorodos arba paveiksliuko kode tai galioje visoje PHP kalboje ir prieš kiekviena žneklą " turi būti ženklas \
Na štai ir viskas :) Kam padėjau +rep. Tai lengva pamoka, bet kai kuriems gali tikrai priversti.
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 10, 15:34

Taigi dabar jums parašysiu apie echo funkcija.
Echo funkcija leidžia php kode rašyti tekstą, linką ir kt.
Pvz sukuriate php failiuka:
Kodas: Pasirinkti visus
<?php
?>

Jūs norite kad pas jus faile rašytu tekstą? Vietoj savo kodo `<?php ?>` įrašykite tokį:
Kodas: Pasirinkti visus
<?php //PHP failo pradzia//
echo "Jūsų norimas tekstas, img src ar kt.";

//PHP Failo pabaiga//
?>


Na štai, kam padėjau +rep, sorry jei pridariau klaidų.
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 10, 15:35

Taigi paiškinsiu jums `if` funckciją. Turite žinoti bent kiek php jai išmokti.

Taigi Kaip ir kiekvienas php kodas prasideda:
Kodas: Pasirinkti visus
<?php

Ir baigiasi:
Kodas: Pasirinkti visus
?>


Na štai php kodas `if` funkcijos. Tarkim "Jeigu mano vardas yra Arturas rasys Sveikas, arti!, o jeigu mano vardas nera Artūras rašys Dėja tu ne artūras. Su tavim nenoriu sveikintis.
Kodas:
Kodas: Pasirinkti visus
<?php
$vardas = "Tomas";
if ($vardas == "Arturas") {
echo "Sveikas arti!";
} else {
echo "Dėja tu ne artūras. Su tavim nenoriu sveikintis."; }
?>


Šiuo atvėju jums rašys Dėja tu ne artūras. Su tavim nenoriu sveikintis. , nes `$vardas = "Tomas"`.

Taigi if funkcija yra labai paprasta :)

if = jeigu
else = jeigu-ne

Jei kas neaišku rašote man į pm!
Greitai sukursiu daugiau temų :)
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 10, 16:46

Jei ko nors nesuprantate php kalboje parašykite čia paiškinsiu :}
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:13

Dokumento apsaugojimas slaptažodžiu.



Panaudojus šį skriptą, prieš atidarant dokumentą atsiras lentelė.
Joje, suvedus prisijungimo vardą ir slaptažodį, užkraunama dokumento informacija.
Jei duomenys suvedami blogai arba visai nesuvedami, užkraunamas klaidos tekstas.


Panaudojimas
Visur kur reikia apsaugoti dokumentą slaptažodžiu.

Duomenų apsaugos skriptas:
Kodas: Pasirinkti visus
<?php
$vardas = "login"; // Prisijungimo vardas.
$slaptazodis = "pass"; // Prisijungimo slaptažodis
function klaida ($klaida) {
echo $klaida."<br>";
exit;
}
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $vardas) && ( $PHP_AUTH_PW == "$slaptazodis" )) ) {
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
klaida("Informacija jums neprieinama !!!"); // klaidos tekstas.
}
?>

<html>
Slapta informacija  // dokumento tekstas, matomas tik suvedus teisingus duomenis.

</html>


Kelių dokumentų apsauga:
Jei turite keletą saugotinų dokumentų, kiekvieno pradžioje patalpinkite šį skriptą (su vienodais prisijungimo vardu ir slaptažodžiu) .
Prisijungimo duomenis reikės suvesti tik vieną kartą( užkraunant vieną iš dokumentų ), o saugomi dokumentai bus keli.


Na, štai ir viskas.
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:16

Funkcija ceil() atlieką skaičių apvalinimą.
Kodas: Pasirinkti visus
<?php
echo ceil ("3.0");    //  išvedama į ekraną   - 3
echo ceil ("3.00001");    //  išvedama į ekraną   - 4
echo ceil ("3.1");    //  išvedama į ekraną   - 4
echo ceil ("3.6");    //  išvedama į ekraną   - 4
echo ceil ("-3.6");    //  išvedama į ekraną   - -3
echo ceil ("001");    //  išvedama į ekraną   - 1
echo ceil ("3zal");    //  išvedama į ekraną   - 3
echo ceil ("zalias");    //  išvedama į ekraną   - 0
echo ceil ("$%%");    //  išvedama į ekraną   - 0
?>
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:18

Funkcijos die() panaudojimas gali būti labai platus. Šiame straipsnyje pateiksiu pora labai paprastų pavyzdėlių, taigi galės pasipraktikuoti ir pradedantieji.

Pasirašome paprastą skriptuką, kuris turėtų atidaryti bla_bla.txt failą.
Kodas: Pasirinkti visus
<?php
$file=fopen("bla_bla.txt","r");
?>


Jeigu failas bla_bla.txt neegzistuoja, gauname kažką panašaus į tai:
Kodas: Pasirinkti visus
<b>Warning:</b> fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:Program FilesEasy PHPwwwtest.php on line 2


Kad nemestų šios klaidos galime panaudoti die() funkciją.
Kodas: Pasirinkti visus
<?php
// jeigu failas neegzistuoja
if(!file_exists("bla_bla.txt"))
 {
// klaidos pranesimas
die("Failas nerastas");
 }
else
 {
 // jeigu failas egzistuoja
$file=fopen("welcome.txt","r");
 }
?>


Jeigu sistema neras failo bla_bla.txt mums išmes nebe klaidą, o pranešimą:
Kodas: Pasirinkti visus
Failas nerastas


Na o jeigu failas egzistuoja mums jį atvers.
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:21

MASYVAS
Sukuriame masyvą $masyvas, iš kurio nuskaitinės duomenis.
Kodas: Pasirinkti visus
$masyvas= Array ('1 eil.', '2 eil.', '3 eil.', '4 eil.', '5 eil.', '6 eil.',
'7 eil.', '8 eil.', '9 eil.', '10 eil.', '11 eil.', '12 eil.', '13 eil.');

echo "<table>";

$sk=1;


Po kiek eilučių
Kodas: Pasirinkti visus
$po_eilut=2;


Po kiek stulpelių
Kodas: Pasirinkti visus
$po_stulp=3;


Paleidžiame ciklą
for ($i=0; $i<$po_eilut*$po_stulp; $i++){
Kodas: Pasirinkti visus
 Sukuriame <td></td> eilutę

$eilute="<td bgcolor=#cccccc>".$masyvas[$i]."</td>";

Jeigu $sk=1, prie eilutės pridedam <tr>

if ($sk==1){

echo "<tr>".$eilute; $sk++;

}

Jeigu $sk=$po_stulp, prie eilutės pridedam </tr>

elseif ($sk==$po_stulp) {

echo $eilute."</tr>"; $sk--;

}

Jeigu $sk=visoms kitoms (tarpinėms) reikšmėms

else {

echo $eilute."</tr>"; $sk--;

[i]}



echo "</table>";

?>[/i]

}
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:23

Kas yra tas Cookie (sausainėlis)?

PHP Cookie (PHP sausainėlis) dažnai yra naudojamas vartotojui identifikuoti. Cookie yra mažas failas, kurį serveris įstato į vartotojo kompiuterį. Kiekvieną kartą kompiuteriui prisijungus prie serverio, į serverį nusiunčiamas sausainėlis. Taip identifikuojamas vartotojas.

Kaip sukurti Cookie (sausainėlį)?

Sausainėliui sukurti naudojama setcookie() funkcija. Rašytume kažką panašaus į tai:
Kodas: Pasirinkti visus
setcookie(vardas, kazkas, kazkas2, kazkas3, kazkas4);


Dabar pamėginkime sukurti sausainėlį vardu vartotojas, bei turėti reikšmę manoVardas. Taip pat nustatysime, kad sausainėlis nebegaliotų po valandos.
Kodas: Pasirinkti visus
<?php
setcookie("vartotojas", "manoVardas", time()+3600);
?>


Kaip susigrąžinti sausainėlio informaciją?

PHP kintamasis $_COOKIE yra skirtas sausainio informacijai susigrąžinti.

Pavyzdyje mėginsime gauti informaciją apie sausainį vardu "vartotojas", bei atvaizduoti puslapyje.
Kodas: Pasirinkti visus
<?php
// atvaizduoti norimą sausainį
echo $_COOKIE["vartotojas"];

// atvaizduoti visus sausainius
print_r($_COOKIE);
?>


Sekančiame pavyzdyje pavyzdyje naudosimės isset() funkcija.
Kodas: Pasirinkti visus
<?php
if (isset($_COOKIE["vartotojas"]))
echo "Labas " . $_COOKIE["vartotojas"] . "!<br />";
else
echo "Labas, svečias.<br />";
?>


Kaip ištrinti sausainėlį?

Trinant sausainėlį, turite nurodyti datą, kada jis sukurtas. Šiame pavyzdyje trinsime sausainėlį, sukurtą prieš valandą.
Kodas: Pasirinkti visus
<?php
// nustatome sukūrimo laiką sekundėmis
setcookie("vartotojas", "", time()-3600);
?>
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:24

.htaccess ir .htpasswd kas tai?


Šios dvi bylos (tai būtent ir yra bylos) naudojamos Apache HTTP server’io. T.y. jas naudojant galima Apache PĮ nurodyti specifinius parametrus, kuriais remiantis ji turi interpretuoti įvairių publikuojamų katalogų nustatymus.

Ką galima apibrėžti (nustatyti), naudojant šias bylas:

Atliekant struktūrinius pakeitimus (perkeliame, ištriname bylas ar katalogus) .htaccess byloje galime nurodyti kur nukreipti svetainės lankytojus, ieškančius senos informacijos,
Galime nustatyti, kad dinaminėmis būtų ne tik .php išplėtimą turinčios bylos, bet ir statinės (pvz.: .htm ar .html),
Leisti ar drausti katalogo turinio peržiūrą,
Apsaugoti katalogus slaptažodžiu (galime kurti vartotojus bei jų grupes),
Apsaugoti tinklapius nuo paieškos sistemų robotų, blokuoti kai kuriuos spam-robotus.

Pirmiausia apie pačias bylas: bylų pavadinimai prasideda taškais, kadangi daugelis UNIX OS tokiu būdu bylas pažymi nematomomis (hidden). Todėl, norint, kad jos būtų matomos atitinkamai reikės nustatysi savo terminalo arba ftp kliento programą (show hidden).

Bylų .htaccess redaguoti galime paprasčiausiu tekstiniu redaktoriumi (pvz.: Notepad). Šią bylą, minėtu redaktoriumi galime ir patys susikurti, žinoma, saugosime pavadinimu ".htaccess" (be kabučių). Įkeliant bylą į pagrindinį kompiuterį (server) per FTP, reikia nustatyti ASCII režimą (jei jis neparenkamas automatiškai).

.htaccess bylos veikimo sritis yra hierarchinė. T.y. jei ją patalpinome tarkime /home/tomas/public_html/ku/.haccess, ji veiks ir kituose (žemesnio lygio) kataloguose. Na, žinoma, jei žemesnio lygio kataloguose nėra kitos .htaccess bylos.

Nukreipimai

Tarkime reorganizuojame svetainės struktūrą ir perkeliame bylas/katalogus iš vienos vietos į kitą (pvz.: http://www.ku.lt/libr/ katalogą perkeliame į http://www.ku.lt/administracija/libr/. Norėdami, kad vartotojai pasiektų perkelto katalogo turinį turėtume .htaccess byloje įrašyti:

RewriteEngine on
RewriteRule ^libr/(.*)$ administracija/libr/$1
RewriteRule ^libr$ /libr/ [R]
Šis pakeitimas atlieka paprastą veiksmą "libr/" kataloge kreipiantis į bylą (.*) - ji imama iš "administracija/libr/" katalogo. Naudodami skliaustelius galime apibrėžti perduodamus parametrus. Šiuo atveju - tai bylos pavadinimas. Sudarinėdami tokias taisykles naudojame reguliarius išsireiškimus (REGEXP).

Statinis turinys tampa dinaminiu
Kartais tenka susidurti su atvejais, kai sukuriamas tinklapis saugomas, naudojant ".htm" arba ".html" išplėtimą, tačiau puslapių kode naudojamas Server-Side kodas (pvz.: PHP instrukcijos). Tam, kad nereikėtų keisti "httpd.conf" bylos, kur nustatomas Apache serveris, vėlgi galime pasinaudoti .htaccess byla:

RewriteEngine on
RewriteRule ^(.*).html$ $1.php [T=application/x-httpd-php]
Panašiai elgtumėmės ir su kitomis skriptinėmis kalbomis (ASP, CGI, Perl ir kt.).

Bylų/katalogų apsaugojimas slaptažodžiais


Tai - vienas paprasčiausių būdų, kaip apsaugoti savo turinį nuo pašalinių akių. Šiuo atveju teks pasitelkti papildomą bylą - .htpasswd. Ji sukuriama komandinėje eilutėje įvykdžius:

htpasswd -c $HOME/public_html/ku/slapta/.htpasswd admin
Ʋinoma, kataloge "slapta/" teks sukurti .htaccess bylą, kuri atrodytų taip:

AuthUserFile $HOME/public_html/ku/slapta/.htpasswd
AuthGroupFile /dev/null
AuthName "Slaptas katalogas"
AuthType Basic

require user admin
Naudojant šį būdą galima apsaugoti ne tik katalogus, bet ir atskiras bylas.

Kaip apsisaugoti nuo el. pašto adresus renkančių robotų (spam-bots)?


.htaccess byloje nurodome kurias programas naudojantys vartotojai turėtų būti peradresuojami:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Ants.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*attach.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Widow.*$ [OR]
[Ir taip toliau...]
RewriteRule /* http://www.vmi.lt [L,R]
Paskutine eilute nukreipiame tokius piktavalius vartotojus į mokesčių inspekcijos tinklapį (gali būti bet kuris tinklapis).

Kaip ieškoti bylos keliuose kataloguose (egzotika)?

Naudojant .htaccess bylą įmanoma sukurti taisykles, kuriomis remiantis galime priversti Apache serverį atlikti bylos paiešką, nurodydami katalogus, kuriuose ta paieška turi būti vykdoma. Pateikiu instrukcijų pavyzdį:

RewriteEngine on
RewriteCond /home/tomas/ku/libr/%{REQUEST_FILENAME} -f
RewriteRule ^(.+) /home/tomas/ku/libr/$1 [L]

RewriteCond /home/tomas/ku/libr2/%{REQUEST_FILENAME} -f
RewriteRule ^(.+) /home/tomas/ku/libr2/$1 [L]

RewriteRule ^(.+) - [PT]
Šis būdas galėtų būti naudingas atliekant svetainės pertvarkymus - vienu metu galima naudotis keliais katalogais.

Nustatyti klaidų (pvz nerasto puslapio) klaidos puslapius
ErrorDocument 403 /forbidden.html // uždrausta
ErrorDocument 404 /notfound.html // nerastas
ErrorDocument 500 /servererror.html // serverio klaida

Pakeisti pradinį puslapį
DirectoryIndex myhome.htm index.htm index.php
Blokuoti vartotojus, kad neįeitų į puslapį
<limit GET POST PUT>
order deny,allow
deny from 202.54.122.33 //IP'ai
deny from 8.70.44.53
deny from .spammers.com
allow from all
</limit>

Leisti tik LAN'o naudotojus
order deny,allow
deny from all
allow from 192.168.0.0/24

Nukreipti lankytojus į naują puslapį ar direktoriją
Redirect oldpage.html http://www.domainname.com/newpage.html
Redirect /olddir http://www.domainname.com/newdir/

Blokuoti" Karštas" Nuorodas/Srauto šokinėjimus
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

Blokuotį tinklalapį nuo specifinių " referrerių"
RewriteEngine on
RewriteCond %{HTTP_REFERER} site-to-block\.com [NC]
RewriteCond %{HTTP_REFERER} site-to-block-2\.com [NC]
RewriteRule .* - [F]

Neleisti peržiūrėti .htaccess failo (ar bet kokio kito)
<files file-name>
order allow,deny
deny from all
</files>

Tausoti srautą
# Only if you use PHP
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

Išjunkti magic_quotes_gpc
# Only if you use PHP
<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>

Išjunkti direktorijos peržiūrą
Options All -Indexes

Įjunkti direktorijos peržiūrą
Options +Indexes
## block a few types of files from showing
IndexIgnore *.wmv *.mp4 *.avi

Blokavimas IP adreso iš .htaccess.
Susikūriate ir įrašote:
deny from 000.000.000.000 (IP adresas vietoj 000.000 ir t.t.)

Norit,kad jūsų saitas nebūtų atakuojamas spammerių?
Tai galima padaryti,ir spammeriams bus daug sunkiau surasti jus.
Įrašome į .htaccess :
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPickerSE [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPickerElite [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ExtractorPro
RewriteRule ^.*$ X.html [L]

Jei nenorite,kad žmones naudotų jūsų paveikslėlius savo puslapyje tam tiks šis .htaccess įrašome :
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?adresas.lt/.*$ [NC] RewriteRule \.(gif|jpg)$ - [F]
Kur paryškinau keisti į jūsų puslapio adresą
be to galima priskirti šį dalyką,ne vien uždraustri naudoti jūsų paveiksliukus,bet ir failus.
Beje pamiršau paminėti,jog galima padaryti,kad į saitą įleistų tik kelis arba vieną IP.
allow from 000.000.000.000

Dinaminiai linkai (kažkas forume jau minėjo,bet čia kitoks mano variantas)
Pvz.
Paprastas linkas: http://adresas.lt/tutorials.php?cat=php&id=1
Dynaminis linkas: http://adresas.lt/tutorials/php/1//
Įrašom :
Options +FollowSymLinks
RewriteEngine on
RewriteRule tutorials/(.*)/(.*)/$ /tutorials.php?cat=$1&id=$2
-------------------------------------------------------------------------------
Gal už šį +rep?
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:26

Straipsnis skirtas tiems, kurie nežino kaip išjungti ar įjungti safe mode režimą. Iš tikrųjų tai yra labai paprasta.

Spaudžiate Start -> Run -> vedate į laukelį C:\ (jei jūsų hardas D:\ ar dar koks veskite D:\ arba tokią raidę, kurioje yra jūsų operacinė sistema patalpinta, kuria naudojatės tuo metu).

Pagal viską turėtų būti folder'is pavadinimu PHP. Tai ten ir eikite. Tada susirandate failą pavadinimu php (turėtų būti du failai, vienas paveiksliukas, kitas .ini failas, kurį jums reikės atidaryti). Tada atsidarykite php.ini failą, spauskite Ctrl+F ir įveskite safe_mode žodį. Tada spauskite Find Next ir po = (lygu) pamatysite Off užrašą. Jį keičiate į On. Jeigu norite išjungti, jums tereikia On keisti į Off.

Šis straipsnis skirtas tiems, kurie turi nuomojamą serverį arba serverį savo kompiuteryje. Safe Mode (Saugumo Režimas) jeigu yra įjungtas jis uždraus kai kurias funkcijas saugumo sumetimais, kuriomis pasinaudojus galima išgauti žymiai daugiau duomenų įsilaužimo atveju kai saugumo režimas yra išjungtas.
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:27

Robots.txt failas naudojamas paieškos varikliams teisingai oreantuoti svetainėje, nurodant kokį turinį indeksuoti o kurio nerodyti. Šio failo pagalba galite ir visiškai uždrausti paieškos vorams matyti jūsų svetainę

Robots.txt Pradmenys
Norėdami pasidaryti robots.txt jūms tereikia atsidaryti notepad (ar kitą tekstų redaktorių) ir išsaugoti parašytą failą kaip robots.txt Tada jūms teliks patalpinti robots.txt faila pagrindinėje tinklapio direktorijoje.

Yra keletas svrbiausių parametrų rašant šį failą: "User-agent" "Allow" "Disallow". User agent parametras nurodo kuriam paieškos voriukui skirta komanda. Disallow parametras nurodo kurias vietas ar failus/pletinius neindeksuoti.

Leisti visus paieškos robotus
User-agent: *
Disallow:

Uždrausti visus paiesškos robotus
User-agent: *
Disallow: /

Neleisti Google paieškos robotui pas jus lankytis
User-agent: Googlebot
Disallow:


Daugiau paremetrų
Galite naudoti parametrą "Allow". Jei pavyzdžiui norite uždrausti googlei indeksuoti visus paveikslėlius išskyrus vieną

Leidžiame indeksuoti tik vieną išskirtinį paveikslėlį

User-Agent: Googlebot
Disallow: /images/
Allow: /images/example.gif

Kitas svarbus parametras kurį rekomenduoju naudoti - "Sitemap".

Nurodome kur yra tinklapio žemelapis (sitemap)
User-agent: *
Disallow:
Sitemap: http://www.uzdarbis.biz/sitemap.xml

Wordpress pavyzdys
Štai pavyzdys kurį naudoja manasis wordpress naudojantis blogas

User-agent: *
# Neleidžiame indeksuoti failų esančių šiose direktorijose

Disallow: /cgi-bin/
Disallow: /stats/
Disallow: /dh_
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /contact/
Disallow: /wp-content/b
Disallow: /wp-content/p
Disallow: /wp-content/themes/askapache/4
Disallow: /wp-content/themes/askapache/c
Disallow: /wp-content/themes/askapache/d
Disallow: /wp-content/themes/askapache/f
Disallow: /wp-content/themes/askapache/h
Disallow: /wp-content/themes/askapache/in
Disallow: /wp-content/themes/askapache/p
Disallow: /wp-content/themes/askapache/s
Disallow: /trackback/
Disallow: /*?*
Disallow: */trackback/

User-agent: Googlebot
# Neleidžiame indeksuoti failų su šiais plėtiniais

Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.cgi$
Disallow: /*.xhtml$
Disallow: /*.php*
Disallow: */trackback*
Disallow: /*?*
Disallow: /z/
Disallow: /wp-*
Allow: /wp-content/uploads/

# Leidžiame google robotui indeksuoti paveikslėlius.

User-agent: Googlebot-Image
Allow: /*

# Leidžiame adsense botui naršyti ir ieškoti raktažodžių

User-agent: Mediapartners-Google*
Disallow: /*?*
Allow: /about/
Allow: /contact/
Allow: /wp-content/
Allow: /tag/
Allow: /*.php$
Allow: /*.js$

# Neleidžiame archyvuoti tinklapio

User-agent: ia_archiver
Disallow: /

# uždraudžiame lankytis duggmirror
User-agent: duggmirror
Disallow: /
Apibendrinimas
Robots.txt nėra kažkas labai sudėtingo, tačiau pravers apsaugant administratoriau "ploteli" ar privačias zonas tinklapyje. Jei turite minčių kaip papildyti šį straipniuką leiskite man žinoti :)


Norėdami patalpinti šią informaciją savo tinklalapyje, nepamirškite nurodyti straipsnio autoriaus tinklalapio adreso: http://uzdarbis.biz
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:27

PHP operatoriai
Šioje pamokoje aptarsime PHP kalboje egzistuojančius operatorius, kurie sudaro programos griaučius. Sąlygos operatoriai ir ciklai padeda išpręsti daug užduočių.

Sąlygos operatoriai
Sąlygos operatoriai leidžia rašyti kodą, kuris bus vykdomas tik esant kažkokioms sąlygoms. PHP kalboje yra dvi sąlyginės konstrukcijos.
Pirmoji iš jų yra if...elseif...else, leidžianti patikrinti keletą išsireiškimų ir vykdyti kodą, priklausomai nuo tų išsireiškimų reikšmės. Jeigu reikia palyginti vieną išsireiškimą su keletu reikšmių, tai PHP leidžia naudotis konstrukcija switch....case, atliakančia šią užduotį.

Operatorius if
Operatorius if yra viena iš svarbiausių galimybių visose programavimo kalbose.Jis leidžia vykdyti tam tikras kodo eilutes, tik esant nurodytoms sąlygoms. Operatoriaus if sintaksė:
if (sąlyga) {
....kodas...
}
Jeigu sąlygos sakinyje vykdome daugiau nei vieną kodo eilutę, kodą reikia apskliausti riestiniais skliaustais. Jei vykdome tik vieną eilutę, to daryti nėra būtina.
// šis kodas išves "Lietuva.", jei kinamojo $salis reikšmė bus "lt".
if ($salis == "lt")
echo("Lietuva.");
// šis kodas išves "Lietuva. Jos sostinė - Vilnius", jei kinamojo $salis reikšmė bus "lt".
if ($salis == "lt") {
echo("Lietuva. ");
echo("Jos sostinė - Vilnius");
}
Operatoriuje if tikrinama sąlyga turi turėti loginio tipo(boolean) reikšmę true arba false. Bet kokia neįvykdoma sąlyga, nulis, tuščia eilutė, nenustatytas dydis ir PHP konstanta false turi reikšmę false. Pavyzdžiui, visi žemiau pateikti išsireiškimai turės reikšmę false:
if (5<4) echo ("Tai nebus išvesta");
if (false) echo ("Tai nebus išvesta"); //false yra PHP konstanta
if ("0") echo ("Tai nebus išvesta"); //Apdorojant eilutes, "0" virsta 0
if ($g) echo("Tai nebus išvesta"); //Tuo atveju jei $g nėra priskirta reikšmė
Dydis true yra ekvivalentus bet kokiai reikšmei, nelygiai nuliui, tuščiai eilutei, svarbu kad sąlyga bšti patenkinta. Ʋemiau pateikti išsireiškimai įgyja reikšmes true:
if ("false") echo ("Tai bus išvesta); // false jau yra nebe konstanta, o eilutė
if ("00") echo ("Tai bus išvesta); // eilutė iš dviejų nulių nėra perdirbama į sveikojo tipo reikšmę
if (0 ==0) echo ("Tai bus išvesta); // nulis lygus nuliui, todėl sąlyga patenkinta
Tačiau sąlygas galima padaryti ir sudėtingesnes, apjungiant kelias sąlygas loginiais operatoriais.
if (((4<5) && (3>2)) xor (5 == 5)) echo ("Tai išvesta nebus"); // teisingos abi sąlygos, apjungtos operatoriusmi xor, todėl viso išsireiškimas neteisingas
Paneigtos sąlygos
Jeigu tikrinama sąlyga grąžina false, tai PHP leidžia nurodyti kitą kodo bloką, kuris bus vykdomas, panaudojant else sakinį. Pavyzdžiui:
if ($k < 0) {
echo ("Neigiamas skaičius);
} else {
echo ("Teigiamas skaičius);
}
Duotasis sakinys tikrina, ar kintamojo reikšmė mažesnė už nulį. Jei taip, tai išvedama "Neigiamas sakičius". Jei yra priešingai, išvedama "Teigiamas skaičius". Egzistuoja sakinys elseif, leidžiantis patikrinti alternatyvias sąlygas. Pvz.:
if ($k < 0) {
echo ("Neigiamas skaičius);
} elseif ($k ==0) {
echo ("Nulis");
} else {
echo ("Teigiamas skaičius);
}
Pavyzdyje pateikta konstrukcija tikrina, ar kintamojo reikšmė mažesnė už nulį. Jei taip, parašoma, jog tai neigiamas kaičius. Jei nepatenkinama pirmoji sąlyga, tikrinama, ar kintamais lygus nuliui. Jei taip, parašoma jog tai nulis. O jeigu nepatenkinama nei viena iš ankstesnių sąlygų, parašoma, jog tai teigiamas skaičius.

Operatorius switch
Tarikime, jog turime kintamajį $salis, kuriame yra saugomas sutrumpintas valsybės pavadinimas, tačiau mes norime išvesti pilną tos šalies pavadinimą. Jei darbą atliktume su konstrukcija if...elseif....else, tai atrodytų maždaug taip:
if ($salis== "ca") {
echo ("Kanada");
} elseif ($salis == "cr") {
echo ("Kosta Rika");
} elseif ($salis == "de") {
echo ("Vokietija");
} elseif ($salis == "uk") {
echo ("Didžioji Britanija");
} else {
echo("JAV");
}
Šiame pavyzdyje, mes kiekvieną kartą lyginome kintamajį $salis su tam tikra reikšme ir priklausmai nuo to, išvesdavome reikšmę. Tai yra pakankamai neefektyvu. Tai galima ištaisyti, naudojant konstrukciją switch/case. Operatorius switch naudojamas tada, kai reikia vieną kintamajį palyginti su keliomis reikšmėmis.
switch($salis) {
case "ca" :
echo ("Kanada");
break;
case "cr" :
echo ("Kosta Rika");
break;
case "de" :
echo ("Vokietija");
break;
case "uk":
echo ("Didžioji Brotanija");
break;
default:
echo ("JAV");
}
Operatorius switch ima reikšmę iš kintamojo $salis ir lygina ją su reikšmėmis pateiktomis case sakiniuose. Kai randama sutampanti reikšmė, vykdomas kodas, kol randamas operatorius break. Jei nėra sutampančių reikšmių vykdomas default sakinyje parašytas kodas.
Na, o dabar smulkiau panagrinėsime operatorių break. Jis leidžia sustabdyti operacijas case operatoriuose. Jei $salis reikšmė yra cr, tai išvedama "Kosta Rika", ir operatorius break sustabdo tolesnį vykdymą. Jei break neegzistuotų, programa būtų vykdoma toliau ir į ekraną būtų išvesti visų likusių valstybių pavadinimai. Tai gali būti naudinga, bet gali ir pakenkti. Mūsų atveju, tai pakenkė. Tačiau šią problema gali mums padėti išspręsti kitą užduotį:. mes galime apjungti kelis operatorius case ir jei bent vieno iš jū reikšmė atitiks reikiamą, bus vykdomas kodas.
switch($salis) {
case "ca" :
case "cr" :
case "us" :
echo ("Šiaurės Amerika");
break;
case "de" :
case "uk" :
echo ("Europa");
break;
}
Jei kintamojo $salis reikšmė yra ca, cr arba us, tai į ekraną išvedama "Šiaurės Amerika", jeigu de arba uk, išvedama "Europa".
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką

Standartinė xettit » 2009 Lie 11, 03:29

Padarykime Paprastą mail'o siuntimo formą (skriptą). Mes naudosime paprastą PHP funkciją mail(). Ką ši funkcija daro...Štai jos aprašymas:
Kodas: Pasirinkti visus
mail($adress, $subject, $msg, "From: Nuo php.....");


Iš aprašymo turėtų būti viskas aišku :) Ši funkcija laišką adresatui. Mums lieka susikurt kintamuosius ir įvykdyti funkciją. Pradžioje sukursime skriptą mail.php, o vėliau ir formą, kurios pagalba bus perduodami duomenys:
Kodas: Pasirinkti visus
<?php
$address="Jonas_jonaitis@centras.lt"; //Čia adresas kur siunčiat
$subject="Laiškas nuo: $from"; /* kintamajį $from skriptas ims iš formos */
mail ($address,$subject,$msg,"From: $from"); /* kintamasis $msg taip pat bus imamas iš formos */
?>


Štai ir sukūrėme skriptą. Jums lieka jį išsaugot vardų mail.php. Dabar mums reikia sukurti formą, iš kurios bus siunčiamas laiškas. Čia ir sužinosite kaip kintamiejį per formą perduodami skriptui (Elementarus, legvas dalykas) . Mums reikia sukurti formą su dviem laukais: nuo ko laiškas ir laiško turinys. Taip ir padarysime:
Kodas: Pasirinkti visus
<FORM METHOD="POST" ACTION="mail.php">
<I> - Įveskite duomenis:</I><BR>
<INPUT TYPE="text" size="20" NAME="from"><BR>
<TEXTAREA NAME="msg" ROWS="3" COLS="20"> </TEXTAREA> <BR>
</FORM>


Štai ir viskas. Daugiau nieko daryti jums nebereikia. Juk tai paprasta? Kintamieji from ir msg automatiškai bus perduodami į skriptą, o funkciją mail() juos panaudos.
Kam naudotis kažkieno padarytais skriptais? Taigi visai paprastą norimą skriptą pasidaryti pačiam, pagal save. O tai atlikti galite tikrai labai nesunkiai ir per trmpą laiko tarpą.
Panašiai yra ir su adresinų duomenų perdavimu. Tarkime mums reikia, kad į administravimo skriptą ateitų duomenys username ir password. Tai galima padaryti kreipdamiesi į skriptą tokiu pavidalu:
Kodas: Pasirinkti visus
http://www.tarambaram.lt/darkasnors/admin.php?user=jonas$pswd=jonaitis


(Žinoma čia pvz bent man nesaugausias.)
Tada skripte admin jūs gaunate kintamuosius $user ir $pswd ir galite juos sutikrinti su jūsų norimais.

P.S Pirmasis straipsnis nesmerkit tiek manęs. Antra straipsnio dalis būs apie Platesnė informaciją apie funkciją mail()
Vartotojo avataras
xettit
Dalyvis
 
Pranešimai: 128
Miestas: Vilnius
Taškai: 68

Kovų lygis: B

Reputacija: 3 Pridėti reputacijos tašką



Įvairūs Internetas, tinklapių kūrimas

Prisijungti

Forumo stilius

Pasirinkimas:

free tattoo Designs mezoterapija