Упатство:Први чекори во PHP

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето

http://making-11.mapinews.com/bag-making-macchina/ bag making macchina http://conferencing-90.infolinediary.com/wordpress/conferencing-video/ conferencing video http://unghia-34.infolinediary.com/blog/entry/metodo-di-ricostruzione-unghia/ metodo di ricostruzione unghia http://ottenere-34.infolinediary.com/blog/entry/requisito-ottenere-residenza-comune/ requisito ottenere residenza comune http://medico-73.infolinediary.com/2008/07/lettino-medico/ lettino medico http://galante-pittore-92.indynewsblog.com galante http://ricevere-94.infolinediary.com/wordpress/arte-del-ricevere/ arte del ricevere http://presentazione-49.infoblogdirect.com/2008/07/31/modelli-lettera-di-presentazione/ modelli lettera di presentazione http://rinoas-diary-28.indynewsblog.com/2008/07/diary-of-dreams/ diary of dreams http://eleven-winning-19.indynewsblog.com/blog/entry/walkthrough-winning-eleven/ walkthrough winning eleven http://toshiba-connect-31.indynewsblog.com/2008/07/25/nn-connect/ nn connect http://credit-union-81.infoblogdirect.com/wordpress/immagine-prima-comunione/ immagine prima comunione http://checker-marathon-32.mapinews.com/2008/08/29/msn-checker/ msn checker http://esercizio-fisica-31.indynewsblog.com/2008/08/26/esercizio-abusivo-professione/ esercizio abusivo professione http://pignatelli-99.infolinediary.com/node/laboratorio-analisi-pignatelli/ laboratorio analisi pignatelli http://odore-fenolo-54.mapinews.com odore http://service-24.mapinews.com/2008/07/21/gurkha-service-limited/ gurkha service limited http://natal-brasil-77.indynewsblog.com/viaggi-natale-gruppo/ viaggi natale gruppo http://schema-uncinetto-2.infoblogdirect.com schema http://plasma-9.infolinediary.com/2008/07/13/vendita-televisore-al-plasma/ vendita televisore al plasma http://ennio-morlotti-61.indynewsblog.com/node/esercizio-di-matematica-biennio/ esercizio di matematica biennio http://natural-50.infolinediary.com/wordpress/freedownload-dragon-naturally/ freedownload dragon naturally http://audio-97.infoblogdirect.com/2008/08/06/convertitore-audio-coassiale-ottico/ convertitore audio coassiale ottico http://coppette-67.infolinediary.com/blog/entry/fornitore-coppette-gelato/ fornitore coppette gelato http://rinoas-diary-28.indynewsblog.com/2008/08/dll-diary-of-milf/ dll diary of milf http://elkann-10.infolinediary.com/blog/entry/yaki-elkann/ yaki elkann http://luise-61.infoblogdirect.com/dresda-luisenhof/ dresda luisenhof http://pairs-64.mapinews.com/2008/07/britney-pairs/ britney pairs http://processo-ossidoriduzione-39.indynewsblog.com/blog/entry/programma-processo-lasso/ programma processo lasso http://yahoo-48.mapinews.com/2008/08/22/yahoo-guadagnare-svolgendo-son/ yahoo guadagnare svolgendo son http://elenco-amministrazioni-61.indynewsblog.com/wordpress/elenco-stiliste-donna/ elenco stiliste donna http://impruneta-47.infolinediary.com impruneta http://funzionamento-integrati-49.indynewsblog.com/wordpress/funzionalita-lavagnalettore-cd-funzionamento/ funzionalita lavagnalettore cd funzionamento http://steven-6.infolinediary.com/2008/08/steven-erikson/ steven erikson http://sandra-perez-12.indynewsblog.com sandra http://liceo-severi-28.infoblogdirect.com/2008/07/istituto-liceo-scientifici-mantova/ istituto liceo scientifici mantova http://gabriella-jankov-63.infoblogdirect.com/2008/08/08/gabriella-baldi/ gabriella baldi http://aliquota-82.mapinews.com/2008/07/21/aliquota-iva-in-edilizia/ aliquota iva in edilizia http://quotes-66.infolinediary.com/2008/07/26/free-stock-quotes/ free stock quotes http://quattro-32.infoblogdirect.com/2008/07/15/firenze-quattro-amico/ firenze quattro amico http://rivista-30.indynewsblog.com/blog/entry/rivista-economiche/ rivista economiche http://spaak-63.mapinews.com/blog/entry/caterine-spaak/ caterine spaak http://sorrento-24.infolinediary.com/blog/entry/ricevimento-sorrento/ ricevimento sorrento http://punta-stilo-66.infoblogdirect.com punta http://posizioni-76.infolinediary.com/node/preposizioni-semplici/ preposizioni semplici http://calma-bimbo-36.indynewsblog.com/2008/08/alviero-martini-bimbo/ alviero martini bimbo http://erotic-tales-63.mapinews.com/wordpress/linea-erotica/ linea erotica http://animal-15.infoblogdirect.com animal http://ordine-avvocato-18.indynewsblog.com/circolo-coro-avvocato/ circolo coro avvocato http://evasione-94.infolinediary.com/wordpress/renault-evasione/ renault evasione

http://obxyhqzr.greatnow.com/map.html, http://wicaueij.maddsites.com/free-mobile-sex-video-clips-sites.html Free mobile sex video clips sites, =-P, http://hcaralec.maddsites.com/free-teen-video-sex.html Free teen video sex, qwk, http://mbalbhau.maddsites.com/free-sex-positions-with-video.html Free sex positions with video, 16691, http://wicaueij.maddsites.com/free-mobile-sex-video.html Free mobile sex video, %D, http://konuneto.maddsites.com/chyna-doll-sex-video-free.html Chyna doll sex video free, >:-D, http://wicaueij.maddsites.com/male-gay-sex-free-video.html Male gay sex free video, 107, http://hcaralec.maddsites.com/free-homemade-sex-video-clips.html Free homemade sex video clips, kpu, http://konuneto.maddsites.com Free forced sex video clips, 9698, http://mbalbhau.maddsites.com/free-sex-video-movie-clips.html Free sex video movie clips,  :-], http://hcaralec.maddsites.com/free-oral-sex-video.html Free oral sex video, =-]], http://mbalbhau.maddsites.com/free-video-machine-sex.html Free video machine sex, 3691, http://konuneto.maddsites.com/free-sex-video-clip-downloads.html Free sex video clip downloads, 884082, http://mbalbhau.maddsites.com/better-sex-video-free-sample.html Better sex video free sample, kqpxc, http://opaproly.maddsites.com/free-sex-video-blog.htm Free sex video blog, 22747,

http://aereoporto-84.infoblogdirect.com/node/aereoporto-malpensa-arrivi/ aereoporto malpensa arrivi http://phones-cellular-46.infoblogdirect.com/cell-phones-plans/ cell phones plans http://blacksonblondes-interracial-47.infoblogdirect.com/interracial-cock-cravers/ interracial cock cravers http://content-provider-22.indynewsblog.com/provider-usa/ provider usa http://senior-33.infoblogdirect.com/senior-sluts/ senior sluts http://carina-67.indynewsblog.com/node/carina-uomo-donna/ carina uomo donna http://melanie-hickman-47.indynewsblog.com/want-candy-melanie-c/ want candy melanie c http://ferien-rimini-97.infoblogdirect.com/hotel-rimini-annuali/ hotel rimini annuali http://claris-35.infolinediary.com/2008/07/walter-croce-clarissa-burt/ walter croce clarissa burt http://claudio-baldi-13.mapinews.com claudio http://procedura-qualita-56.infoblogdirect.com/procedura-valutazione-sicurezza-scuola/ procedura valutazione sicurezza scuola http://servo-motore-86.indynewsblog.com/wordpress/charter-motore-crociera/ charter motore crociera http://caricatori-16.indynewsblog.com/node/caricatori-frontali-angeloni/ caricatori frontali angeloni http://usare-utorrent-51.indynewsblog.com usare http://addetto-52.infolinediary.com/wordpress/formazione-addetto-vendita-elettronica/ formazione addetto vendita elettronica http://environmental-issues-15.infoblogdirect.com/wordpress/review-environmental-evaluation-techniques/ review environmental evaluation techniques http://olimpico-99.infoblogdirect.com/blog/entry/stadio-olimpico-torino-juventus/ stadio olimpico torino juventus http://union-80.mapinews.com/blog/entry/unione-chimica-belga-italia/ unione chimica belga italia http://brooks-55.infoblogdirect.com/wordpress/kirk-brooks/ kirk brooks http://marathon-brianza-51.infoblogdirect.com/wordpress/rifacimento-facciata-raso-brianza/ rifacimento facciata raso brianza http://fuoco-eterno-83.infoblogdirect.com/blog/entry/strage-fuoco-d-artificio/ strage fuoco d artificio http://titolo-dottore-65.infoblogdirect.com/dottore-commercialista-prato/ dottore commercialista prato http://colture-88.mapinews.com/tipo-colture/ tipo colture http://techna-71.mapinews.com techna http://ambrogio-grion-85.infoblogdirect.com/2008/07/14/vivai-ambrogio-giovanni/ vivai ambrogio giovanni http://scrivere-7.infolinediary.com/2008/07/mestiere-scrivere/ mestiere scrivere http://reseller-98.infoblogdirect.com/web-host-reseller/ web host reseller http://morando-mangime-89.infoblogdirect.com/2008/09/mangime-petrini/ mangime petrini http://kompressoren-slovakia-65.infoblogdirect.com/node/sex-in-slovakia/ sex in slovakia http://canessa-guendalina-16.mapinews.com/node/blog-canessa-guendalina/ blog canessa guendalina http://purple-6.infoblogdirect.com purple http://lavorazione-plexiglas-61.mapinews.com/2008/07/11/lavorazione-stucco-veneziano/ lavorazione stucco veneziano http://kristen-dalton-82.indynewsblog.com/2008/08/kristen-bell-sexy/ kristen bell sexy http://prostitutas-tunisino-32.indynewsblog.com/prostitutas-tunisino/ prostitutas tunisino http://direttore-commerciale-3.infoblogdirect.com/2008/08/25/cessione-esercizio-commerciale/ cessione esercizio commerciale http://lavorazione-corallo-63.mapinews.com lavorazione http://street-30.indynewsblog.com/wallstreetitalia-itwalt-disney/ wallstreetitalia itwalt disney http://hermitage-silvi-52.indynewsblog.com/node/video-tg-silvia-rocca/ video tg silvia rocca http://urbino-agriturismo-62.infoblogdirect.com urbino http://dialogo-37.infolinediary.com/2008/08/20/dialogo-assicurazione-it/ dialogo assicurazione it http://tiburtina-ciampino-86.indynewsblog.com tiburtina http://selezione-87.infolinediary.com/blog/entry/selezione-riso/ selezione riso http://index-mundi-24.infoblogdirect.com/2008/08/index-of-handjob-jpg/ index of handjob jpg http://kennedy-center-45.mapinews.com/wordpress/contact-center-lombardia/ contact center lombardia http://abbigliamento-forestale-91.mapinews.com/2008/08/21/abbigliamento-stock-firmato/ abbigliamento stock firmato http://adottare-mucca-66.infoblogdirect.com/node/chihuahua-da-adottare/ chihuahua da adottare http://inserzioni-personali-16.indynewsblog.com/node/test-personalita-lavoro/ test personalita lavoro http://uscire-salutare-60.mapinews.com/uscire-dalla-droga/ uscire dalla droga http://sicilia-61.infolinediary.com/volo-castronuovo-sicilia/ volo castronuovo sicilia http://acquatica-setting-19.mapinews.com/node/documents-and-setting-lilia/ documents and setting lilia

http://celestia-starr-71.mapinews.com/2008/07/starr-milf/ starr milf http://slovenia-arrivare-96.indynewsblog.com/2008/08/07/produttore-film-estensibile-slovenia/ produttore film estensibile slovenia http://ingegneri-udine-40.infoblogdirect.com/blog/entry/emporio-ricambio-rosso-udine/ emporio ricambio rosso udine http://albergo-eolie-70.infoblogdirect.com/blog/entry/hotel-albergo-cologno-monzese/ hotel albergo cologno monzese http://fucked-65.infoblogdirect.com/2008/07/15/virgin-fucked/ virgin fucked http://milena-escort-74.mapinews.com/blog/entry/milena-tana/ milena tana http://maestro-8.indynewsblog.com/maestro-muten/ maestro muten http://arredamento-classico-95.mapinews.com/node/casamercato-arredamento/ casamercato arredamento http://luciano-cacciavillani-53.infoblogdirect.com/wordpress/delitto-circeo-izzo-luciano/ delitto circeo izzo luciano http://angeles-21.infolinediary.com/node/los-angeles-habana/ los angeles habana http://folies-1.infolinediary.com/2008/08/14/les-folies/ les folies http://chiamata-infermiera-12.mapinews.com/blog/entry/infermiera-esplorazione-spaziale/ infermiera esplorazione spaziale http://palavalentia-raggiungere-68.indynewsblog.com palavalentia http://vanilla-resident-56.infoblogdirect.com/presidente-legacoop/ presidente legacoop http://blood-dolls-86.infoblogdirect.com/wordpress/make-dolls/ make dolls http://lotteria-merano-91.mapinews.com/wordpress/citta-di-merano/ citta di merano http://musique-arabe-31.mapinews.com/tradizioni-arabe/ tradizioni arabe http://eclipse-50.indynewsblog.com/2008/09/03/bonnie-tyler-eclipse/ bonnie tyler eclipse http://camus-etranger-74.mapinews.com/2008/07/straniero-camus-riassunto/ straniero camus riassunto http://panne-galleggiante-13.infoblogdirect.com/blog/entry/pannello-di-controllo/ pannello di controllo http://magno-salvatore-24.indynewsblog.com/2008/07/pneumatica-emiliano-romagnola/ pneumatica emiliano romagnola http://eccesso-difesa-64.infoblogdirect.com/node/eccesso-velocitГЈ-sentenza/ eccesso velocitГЈ sentenza http://phentermine-worldwide-26.infoblogdirect.com phentermine http://dating-6.mapinews.com/2008/07/christian-dating-service/ christian dating service http://serata-romantica-39.mapinews.com/node/serata-palermo/ serata palermo http://contenitore-latta-26.mapinews.com/2008/07/contenitore-portarifiuti-differenziata/ contenitore portarifiuti differenziata http://attuale-62.mapinews.com/2008/08/catullo-attuale/ catullo attuale http://penis-21.mapinews.com/blog/entry/penis-erection/ penis erection http://farmaceutica-32.mapinews.com/node/lavorare-casa-farmaceutica/ lavorare casa farmaceutica http://hairy-erotica-44.mapinews.com/wordpress/hairy-men/ hairy men http://nicotera-29.infoblogdirect.com/2008/07/17/nicotera-marina/ nicotera marina http://mercato-americano-55.mapinews.com/blog/entry/ipermercato-panorama-via-tiburtina/ ipermercato panorama via tiburtina http://device-58.infoblogdirect.com/node/hyaluronic-acid-device-arthritis/ hyaluronic acid device arthritis http://grafico-55.infoblogdirect.com/node/concorso-fotografico-corigliano/ concorso fotografico corigliano http://pornostar-selen-38.indynewsblog.com/blog/entry/bellucci-pornostar/ bellucci pornostar http://pulire-seppia-46.mapinews.com/pulire-tappeto/ pulire tappeto http://packaging-personalizzato-30.indynewsblog.com/blog/entry/regalo-foto-personalizzato/ regalo foto personalizzato http://marco-pantano-65.mapinews.com/2008/08/09/carre-marco-torino/ carre marco torino http://minogue-86.infolinediary.com/2008/08/dannii-minogue-nude/ dannii minogue nude http://tavoletta-fruttosio-29.mapinews.com/2008/07/14/cecilio-giocondo-and-tavoletta/ cecilio giocondo and tavoletta http://francoforte-vacanza-7.mapinews.com/blog/entry/vacanza-invernali-parigi/ vacanza invernali parigi http://marlin-47.indynewsblog.com/blog/entry/mr-marlin/ mr marlin http://passi-carrabili-84.indynewsblog.com passi http://badge-milano-10.indynewsblog.com/2008/08/20/rimessaggio-camper-barca-milano/ rimessaggio camper barca milano http://stylist-26.infolinediary.com/stylist-sims/ stylist sims http://gazzettino-sampierdarenese-51.infoblogdirect.com/2008/08/02/gazzettino-vesuviano/ gazzettino vesuviano http://trovata-15.infolinediary.com/node/stele-trovata-napoleone/ stele trovata napoleone http://volare-aeromodellismo-27.indynewsblog.com/2008/07/volare-spagna/ volare spagna http://bigiotteria-componente-25.mapinews.com/wordpress/bigiotteria-grossista/ bigiotteria grossista http://european-61.indynewsblog.com/wordpress/european-screwing/ european screwing

http://pacco-danneggiato-95.mapinews.com/node/modulo-partecipazione-trasmissione-pacco/ modulo partecipazione trasmissione pacco http://network-elbalife-60.mapinews.com network http://formazione-prato-99.infoblogdirect.com formazione http://jonny-bravo-55.indynewsblog.com/blog/entry/gonfiatore-elettrico-scoprega-bravo/ gonfiatore elettrico scoprega bravo http://kriege-1.mapinews.com/vom-kriege/ vom kriege http://showgirl-54.indynewsblog.com/showgirl-movie-cast/ showgirl movie cast http://simulazione-55.mapinews.com/2008/08/simulazione-budget/ simulazione budget http://richiesta-63.infolinediary.com/2008/08/17/modulo-richiesta-amministratore-giudiziario/ modulo richiesta amministratore giudiziario http://sapone-chimica-18.infoblogdirect.com/blog/entry/unitГ -didattica-chimica-superiori/ unitГ  didattica chimica superiori http://borsa-milano-73.infoblogdirect.com borsa http://blaupunkt-14.infoblogdirect.com/navigatore-satellitario-gps-blaupunkt/ navigatore satellitario gps blaupunkt http://incidere-27.infolinediary.com/incidere-marmo/ incidere marmo http://leguizamo-pimps-48.mapinews.com/2008/07/united-pimps/ united pimps http://spiritosi-73.mapinews.com/augurio-spiritosi/ augurio spiritosi http://eletronica-34.infolinediary.com/blog/entry/eletronica-braum/ eletronica braum http://infoltimento-60.infolinediary.com/2008/08/infoltimento-capello-uomo-listino/ infoltimento capello uomo listino http://siani-tutti-17.indynewsblog.com/2008/08/salesiani-vomero/ salesiani vomero http://moskva-62.infolinediary.com/wordpress/mosca-univermag-moskva/ mosca univermag moskva http://candice-bradley-58.infoblogdirect.com/2008/07/11/candice-dela-cruz/ candice dela cruz http://curtain-manufacturers-77.indynewsblog.com/node/sporting-goods-manufacturers-association/ sporting goods manufacturers association http://video-umoristici-94.infoblogdirect.com/node/alessia-fabiani-video/ alessia fabiani video http://ground-speed-59.mapinews.com/blog/entry/omega-speedmaster-schumacher/ omega speedmaster schumacher http://hombres-40.indynewsblog.com/wordpress/foto-gay-gratis-hombres/ foto gay gratis hombres http://scommessa-betting-5.mapinews.com/node/bonus-gratis-scommessa/ bonus gratis scommessa http://torneo-95.infoblogdirect.com/blog/entry/torneo-calcio-benevento/ torneo calcio benevento http://roccaforte-17.infolinediary.com roccaforte http://legione-26.infolinediary.com legione http://lennon-84.mapinews.com/wordpress/imagine-spiegazione-john-lennon/ imagine spiegazione john lennon http://clinica-mediche-17.mapinews.com/blog/entry/clinical-biochemical-genetics/ clinical biochemical genetics http://jungle-brothers-51.indynewsblog.com/2008/08/28/tulfo-brothers/ tulfo brothers http://lancaster-italia-94.mapinews.com lancaster http://stitch-65.infolinediary.com/wordpress/provaci-ancora-stitch-locandina/ provaci ancora stitch locandina http://accommodation-chianti-29.infoblogdirect.com/chianti-classico-marketing/ chianti classico marketing http://marge-92.mapinews.com marge http://tuttocita-89.infolinediary.com/blog/entry/citta-tuttocita/ citta tuttocita http://raggiungere-caponord-14.infoblogdirect.com/wordpress/raggiungere-mantova/ raggiungere mantova http://europa-36.indynewsblog.com europa http://castiglione-86.infolinediary.com castiglione http://larry-david-73.indynewsblog.com/wordpress/harley-davidson-marche/ harley davidson marche http://bikini-23.infoblogdirect.com/blog/entry/bikini-see-through/ bikini see through http://patrizio-98.indynewsblog.com/patrizio-bau/ patrizio bau http://forum-43.indynewsblog.com/2008/09/02/forum-dove-fare-appelli/ forum dove fare appelli http://scuola-gregoriano-67.infoblogdirect.com/2008/07/scuola-tai-roma/ scuola tai roma http://sposare-51.infoblogdirect.com/node/sposare-carabiniere/ sposare carabiniere http://feltro-7.infoblogdirect.com/blog/entry/feltro-creare-borsa/ feltro creare borsa http://proroga-35.infolinediary.com/node/congedo-straordinario-proroga-dottorato/ congedo straordinario proroga dottorato http://robin-73.infoblogdirect.com/wordpress/robin-hood-theme/ robin hood theme http://bankash-symantec-40.indynewsblog.com/symantec-norton/ symantec norton http://xoomer-57.infolinediary.com/blog/entry/xoomer-it-arbitro/ xoomer it arbitro http://merlini-3.mapinews.com/pubblicazioni-umberto-merlinicase-umbria/ pubblicazioni umberto merlinicase umbria

http://gkgqidii.ibnsites.com, http://hcaralec.maddsites.com/great-sex-free-video.html Great sex free video,  %[[[, http://mbalbhau.maddsites.com/free-sex-video-satin-nipples.html Free sex video satin nipples, spgjn, http://wicaueij.maddsites.com/adult-sex-video-free.html Adult sex video free, 39623, http://wicaueij.maddsites.com/free-sex-video-nadia-hilton.html Free sex video nadia hilton, nwm, http://wicaueij.maddsites.com/free-video-archive-sex-amature-redhead.html Free video archive sex amature redhead,  :)), http://wicaueij.maddsites.com/free-sex-video-hosting.html Free sex video hosting, qsfz, http://hcaralec.maddsites.com/free-sex-brazil-video.html Free sex brazil video, zghoz, http://hcaralec.maddsites.com/cash-for-sex-free-video.html Cash for sex free video, 8-PPP, http://konuneto.maddsites.com/free-black-girl-sex-video.html Free black girl sex video, cxkrv, http://mbalbhau.maddsites.com/free-gay-sex-video-downloads.html Free gay sex video downloads, =[[, http://konuneto.maddsites.com/free-granny-sex-video-links.html Free granny sex video links, kkofb, http://opaproly.maddsites.com/free-sex-stories-and-video.htm Free sex stories and video, 034942, http://hcaralec.maddsites.com/free-sex-video-forum.html Free sex video forum, nlzcw, http://mbalbhau.maddsites.com/free-download-movie-video-sex-girl.html Free download movie video sex girl, 699127,

http://guarigione-psicosintesi-51.indynewsblog.com/2008/07/guarigione-ferita-seconda-intenzione/ guarigione ferita seconda intenzione http://imbarcazioni-80.infolinediary.com imbarcazioni http://francoforte-61.infoblogdirect.com/blog/entry/hotel-francoforte/ hotel francoforte http://sfera-pressione-45.infoblogdirect.com/abb-trasmettitori-pressione/ abb trasmettitori pressione http://naruto-mugen-29.mapinews.com/blog/entry/naruto-uzumaki-chronicles-soluzione/ naruto uzumaki chronicles soluzione http://vicious-17.infolinediary.com/2008/08/29/felix-vicious/ felix vicious http://melloni-99.infolinediary.com/wordpress/macedonio-melloni-ospedale/ macedonio melloni ospedale http://cracovia-metropolitan-69.indynewsblog.com cracovia http://tranny-69.mapinews.com/wordpress/tranny-action/ tranny action http://antonio-errico-5.indynewsblog.com/2008/08/antonio-villani/ antonio villani http://vecchia-18.infolinediary.com/sor-ugo-aia-vecchia/ sor ugo aia vecchia http://managment-72.infolinediary.com managment http://gilles-29.infolinediary.com/wordpress/gilles-perreal/ gilles perreal http://bassa-marea-93.mapinews.com/ristorante-bassano/ ristorante bassano http://testing-11.indynewsblog.com/dna-testing/ dna testing http://satellite-receiver-64.indynewsblog.com satellite http://sabbia-mobili-63.mapinews.com/2008/07/mobili-per-negozi/ mobili per negozi http://cantante-australiana-7.mapinews.com/2008/08/10/raffaello-cantante-napoletano-it/ raffaello cantante napoletano it http://prostate-surgery-45.mapinews.com/2008/08/conseguenza-prostatectomia/ conseguenza prostatectomia http://while-7.indynewsblog.com/wordpress/while-sleeps/ while sleeps http://laguna-bologna-43.indynewsblog.com laguna http://isola-formentera-13.mapinews.com/node/going-formentera/ going formentera http://poltrona-elena-20.indynewsblog.com/wordpress/elena-guarnieri/ elena guarnieri http://plugin-56.indynewsblog.com/azureus-plugins-download/ azureus plugins download http://cesare-98.infolinediary.com/cesare-brandi/ cesare brandi http://metasearch-engines-55.infoblogdirect.com metasearch http://libro-rialto-83.mapinews.com/blog/entry/schedatura-libro-ilgattopardo/ schedatura libro ilgattopardo http://sabrina-donadel-49.indynewsblog.com/sabrina-salerno-foto/ sabrina salerno foto http://ristorante-valenza-59.mapinews.com/ristorante-taree/ ristorante taree http://vetrine-scarpa-15.mapinews.com/blog/entry/scarpa-pubblicita-masciotta/ scarpa pubblicita masciotta http://capitale-30.infolinediary.com/blog/entry/capitale-isola-cornore/ capitale isola cornore http://canalis-82.indynewsblog.com/video-elisabetta-canalis-nuda/ video elisabetta canalis nuda http://fratello-76.infolinediary.com/blog/entry/grande-fratello-svedese/ grande fratello svedese http://empires-41.infolinediary.com empires http://crazy-24.indynewsblog.com crazy http://together-2.infoblogdirect.com/janet-jackson-together-again/ janet jackson together again http://moltiplicatore-57.infolinediary.com/blog/entry/canon-moltiplicatore/ canon moltiplicatore http://fresatrice-tradizionali-52.infoblogdirect.com fresatrice http://terminus-39.infolinediary.com/node/parigi-terminus-nord/ parigi terminus nord http://pronunciation-class-28.indynewsblog.com/uda-classe-quarta/ uda classe quarta http://mondochat-22.indynewsblog.com/node/ww-mondochat-it/ ww mondochat it http://affittacamera-careggi-17.indynewsblog.com/blog/entry/compro-vendo-appartamento-careggi/ compro vendo appartamento careggi http://cleaning-27.infoblogdirect.com/wordpress/fan-coil-cleaning/ fan coil cleaning http://stecca-1.infolinediary.com/2008/08/22/stecca-netsteel/ stecca netsteel http://foglia-basse-43.infoblogdirect.com/preparazione-pasta-sfoglia/ preparazione pasta sfoglia http://libro-assago-40.indynewsblog.com/2008/08/eneide-libro-ix/ eneide libro ix http://airplane-video-49.indynewsblog.com/video-mario-merola/ video mario merola http://genoa-3.mapinews.com genoa http://kronos-61.infolinediary.com/2008/08/kronos-calzatura/ kronos calzatura http://maschi-pelosi-32.indynewsblog.com/biancheria-intima-maschio/ biancheria intima maschio

http://instabilita-figurativa-34.mapinews.com/wordpress/paralisi-arte-figurativa/ paralisi arte figurativa http://physical-78.infolinediary.com physical http://natural-50.infolinediary.com/wordpress/natural-vibrations/ natural vibrations http://saving-silverman-90.infoblogdirect.com/2008/08/saving-trust/ saving trust http://hellas-77.indynewsblog.com/node/hellas-monteforte/ hellas monteforte http://radio-napoletana-29.infoblogdirect.com radio http://vedio-duniya-26.indynewsblog.com vedio http://lettino-chicco-73.mapinews.com/2008/08/16/bollettino-neve-trentino/ bollettino neve trentino http://basic-instinc-64.infoblogdirect.com/2008/07/23/visual-basic-joiner/ visual basic joiner http://slide-projector-54.infoblogdirect.com/2008/07/07/projector-france-collection/ projector france collection http://sottomissione-rasatura-70.mapinews.com/blog/entry/rasatura-pelo/ rasatura pelo http://fabio-borriello-22.infoblogdirect.com fabio http://center-31.infolinediary.com/2008/08/annuncio-lavoro-call-center/ annuncio lavoro call center http://ferien-rimini-97.infoblogdirect.com/bauernhof-ferien-jesolo/ bauernhof ferien jesolo http://active-45.infoblogdirect.com/2008/07/disney-it-disney-interactive/ disney it disney interactive http://encore-99.infolinediary.com/node/traduzione-numb-encore/ traduzione numb encore http://prendere-36.infolinediary.com/wordpress/prendere-urina-gravidanza/ prendere urina gravidanza http://europorn-9.mapinews.com/node/europorn-italia/ europorn italia http://justin-redel-52.infoblogdirect.com justin http://progressive-91.indynewsblog.com/2008/07/progressive-slots/ progressive slots http://mobili-toscani-39.mapinews.com mobili http://fontane-3.mapinews.com/blog/entry/villaggio-fontane-bianche/ villaggio fontane bianche http://slave-chair-58.mapinews.com/wordpress/slave-sex-tortura-thumbnail/ slave sex tortura thumbnail http://ivano-brugnetti-65.indynewsblog.com/2008/08/24/dott-reale-ivano/ dott reale ivano http://ejaculation-female-11.infoblogdirect.com ejaculation http://attrezzo-macchinario-62.infoblogdirect.com attrezzo http://liceo-russell-43.mapinews.com/wordpress/jack-russell-dog/ jack russell dog http://julia-89.mapinews.com/2008/08/juliana-moreina/ juliana moreina http://dating-6.mapinews.com/2008/08/dating-christian/ dating christian http://radiante-riscaldamento-99.indynewsblog.com/soluzione-al-surriscaldamento/ soluzione al surriscaldamento http://borrelli-fabio-97.infoblogdirect.com borrelli http://tamara-escort-35.mapinews.com/blog/entry/zuid-holland-escort/ zuid holland escort http://proiettore-eumig-2.infoblogdirect.com/node/video-proiettore-acer/ video proiettore acer http://ravioli-ripieni-22.mapinews.com ravioli http://marchetti-maurizio-1.mapinews.com/2008/08/13/maurizio-silvestri/ maurizio silvestri http://biliardo-longoni-30.indynewsblog.com/blog/entry/biliardo-pool-stecca/ biliardo pool stecca http://physical-78.infolinediary.com/physical-therapists/ physical therapists http://terry-56.mapinews.com terry http://sfera-eroneerosdc-60.indynewsblog.com/blog/entry/aspartato-amino-transferasi-immagine/ aspartato amino transferasi immagine http://produttore-divano-4.infoblogdirect.com produttore http://cubismo-leger-14.mapinews.com/wordpress/leger-apprendista-pittore/ leger apprendista pittore http://leonardo-83.infoblogdirect.com/node/finished-cross-stitch-leonardo/ finished cross stitch leonardo http://naughty-alisha-34.mapinews.com/wordpress/naughty-wmv/ naughty wmv http://medievali-86.infolinediary.com/blog/entry/mestiere-medievali-firenze/ mestiere medievali firenze http://uniba-rossano-4.indynewsblog.com uniba http://tokyo-66.indynewsblog.com/node/tokyo-requiem/ tokyo requiem http://julia-tania-79.mapinews.com/blog/entry/consulenza-posizionamenti-catania/ consulenza posizionamenti catania http://biathlon-atletico-12.mapinews.com/atletico-nuoro/ atletico nuoro http://ballo-90.mapinews.com/wordpress/operetta-ballo-al-savoy/ operetta ballo al savoy http://jordan-sinclair-30.infoblogdirect.com/jordan-capri/ jordan capri

http://biologica-30.infolinediary.com/2008/08/06/nanotubes-and-biological-applications/ nanotubes and biological applications http://carla-sozzani-47.mapinews.com/2008/08/sintomo-della-scarlattina/ sintomo della scarlattina http://alesandro-magno-9.indynewsblog.com/hotel-carlo-magno-zeledria/ hotel carlo magno zeledria http://cascate-21.infolinediary.com/orari-cascate-delle-marmore/ orari cascate delle marmore http://pensiero-eliot-8.mapinews.com/blog/entry/tatuaggio-missy-eliot/ tatuaggio missy eliot http://sensibili-1.infolinediary.com/node/test-sensibilita-meccanica/ test sensibilita meccanica http://risoluzioni-93.infolinediary.com/2008/08/risoluzioni-contratto-compagnia-telefonica/ risoluzioni contratto compagnia telefonica http://copri-palmare-92.infoblogdirect.com/blog/entry/terminale-palmare-lettore-rfid/ terminale palmare lettore rfid http://office-girls-8.indynewsblog.com/wordpress/office-manufacturer/ office manufacturer http://brico-plans-4.indynewsblog.com/2008/08/att-wireless-plans/ att wireless plans http://scrivimi-concato-47.indynewsblog.com/blog/entry/scrivimi-canzone-testo/ scrivimi canzone testo http://ricevuto-25.infolinediary.com/lettera-ringraziamento-favore-ricevuto/ lettera ringraziamento favore ricevuto http://danza-valzer-5.infoblogdirect.com/blog/entry/gravidanza-prima-visita-ginecologica/ gravidanza prima visita ginecologica http://echange-vitara-35.indynewsblog.com/wordpress/vitara-cabrio/ vitara cabrio http://mappa-pennsylvania-63.infoblogdirect.com/node/mappa-tor-vergata/ mappa tor vergata http://lovers-cerea-15.mapinews.com/2008/08/02/shemale-lovers/ shemale lovers http://avviare-ingrosso-24.indynewsblog.com/node/metro-ingrosso/ metro ingrosso http://hernandez-57.infoblogdirect.com/blog/entry/patrick-hernandez/ patrick hernandez http://ospedale-sciacca-6.indynewsblog.com/2008/08/24/ospedale-bambin-gesu-roma/ ospedale bambin gesu roma http://creditizia-49.infolinediary.com/wordpress/riconversione-creditizia-fisioterapia/ riconversione creditizia fisioterapia http://riding-giants-42.infoblogdirect.com/riding-the-train/ riding the train http://photogallery-38.mapinews.com/blog/entry/alessandro-gassman-photogallery/ alessandro gassman photogallery http://nutrienti-energetici-11.indynewsblog.com/blog/entry/certificatori-energetici-edificio/ certificatori energetici edificio http://assegni-86.infolinediary.com/node/assegni-alimentari/ assegni alimentari http://online-4.indynewsblog.com/2008/08/27/archivio-fotografico-online/ archivio fotografico online http://husky-malamute-23.infoblogdirect.com/node/cucciolo-alaskan-malamute/ cucciolo alaskan malamute http://schiavo-36.mapinews.com/node/danze-schiavo-afroamericani/ danze schiavo afroamericani http://ejaculation-female-11.infoblogdirect.com/female-condition-asia/ female condition asia http://armata-79.infolinediary.com/wordpress/roma-a-mano-armata/ roma a mano armata http://scarpone-piemonte-63.mapinews.com/node/vacanza-piemonte/ vacanza piemonte http://toner-tektronix-57.mapinews.com/2008/07/24/manuale-rigenerazione-cartuccia-toner/ manuale rigenerazione cartuccia toner http://fissaggio-20.infolinediary.com fissaggio http://aereo-parigi-96.mapinews.com/wordpress/aereonautica-militare-meteorologia/ aereonautica militare meteorologia http://montblanc-sfera-34.indynewsblog.com/montblanc-stilografica/ montblanc stilografica http://busting-83.mapinews.com/wordpress/kramer-toad-ballbusting/ kramer toad ballbusting http://salvadori-79.indynewsblog.com/2008/07/16/salvadori-livigno/ salvadori livigno http://circolare-tributarie-27.mapinews.com/wordpress/assegno-circolare-fac/ assegno circolare fac http://equity-interest-43.infoblogdirect.com equity http://perdonare-offesa-58.mapinews.com/blog/entry/commento-perdonare/ commento perdonare http://trasferire-10.infoblogdirect.com/2008/07/trasferire-account/ trasferire account http://alessandro-43.infolinediary.com/blog/entry/alessandro-dumas-bologna-vampiro/ alessandro dumas bologna vampiro http://visita-tricologica-27.mapinews.com/2008/07/visita-medica-togliere-reggiseno/ visita medica togliere reggiseno http://scform-3.infolinediary.com/node/scform-unifi-it-ssis/ scform unifi it ssis http://collins-6.infolinediary.com/giselle-collins/ giselle collins http://struttura-fotovoltaico-31.infoblogdirect.com/2008/08/26/margine-di-struttura/ margine di struttura http://molla-gialla-15.indynewsblog.com/node/boia-chi-molla/ boia chi molla http://compra-software-31.mapinews.com/wordpress/miliaris-software/ miliaris software http://stellar-28.infolinediary.com/wordpress/sfondi-guerre-stellari/ sfondi guerre stellari http://insurance-policy-44.indynewsblog.com/2008/08/whole-life-insurance/ whole life insurance http://astrologia-professionale-47.indynewsblog.com/2008/08/21/astrologia-branco/ astrologia branco

PHP условни наредби

Понекогаш кога пишувате код, доаѓа до случај кога треба да се избере едно или друго. Овде се користат наредби за услов. Условните наредби се сет од команди користени да изведуваат различни акции врз основа на различни услови. Овде ќе се разгледаат две структури: if…else и switch.

if…else

На пример треба да се провери дали една променлива има вредност точно или неточно, дали некоја текстуална променлива го содржи одреден текст, дали објектот е празен или полн... Условот може да биде што и да е, што и да поставиме. Синтаксата на if структурата е:

   if (услов) {
   	наредби1
   } else {
   	наредби2
   }

Пр.

   <?php
        $rezultat = 70;
        if ($rezultat >= 57) {
            echo "Uslovot pomina kako token <br />";
        }
        else {
       	    echo "Uslovot ne pomina <br />";
        }
    ?>

Следниот пример ќе покаже работа со elseif. Тоа се користи во сличаи кога треба за повеќе вредности да се прикажат различни резултати.

   <?php
       $rezultat = 70;
       if ($rezultat >= 75) {
           echo "izlez 1";
       }
       elseif ($rezultat >= 60) {
           echo "izlez 2";
       }
       elseif($rezultat >= 45) {
      	    echo "izlez 3";
       }
       else {
   	    echo "izlez 4";
       }
   ?>

Командата switch

Оваа команда работи исто како if. Со неа се овозможува проверка за повеќе вредности што кај if e понепрегледно и побавно. Синтаксата за switch:

   switch (израз) {
      case случај 1:
         наредби_1
         [break;]
      case случај_2:
         наредби_2
         [break;]
      ...
      default:
        наредби_n
        [break;]
   }

Програмата прво бара случај што се поклопува и потоа му ја предава контролата нему. Ги извршува наредбите што се дадени и излегува од switch. Ако не се пронајде случај кој се поклопува програмата бара default и ако постои ги извршува тие наредби. Ако не најде ни default програмата продолжува со работа без приказ од switch. break се користи за да се прекине автоматско поминување на следниот случај. Кога ќе се извршат наредбите од пронајдениот случај, програмата да продолжи со работа надвор од switch. Пр.:

   $flower = "rose";
   switch ($cokolado)
   {
       case "milka" : 
       echo $cokolado." costs 60den.";
       break;
       case "nestle" : 
       echo $cokolado." costs 50den.";
       break;
       case "kandi" : 
       echo $cokolado." costs 10den";
       break;
       default : 
       echo "Nema takvo cokolado vo prodavnicata :(";
       break;
   }

Може да се прават проверки со математички операции како поголемо, помало или еднакво:

   <?php
       $broj = 5;
       switch ($broj) {
       case 0:
           echo "Nula ne e validen slucaj.";
           break;
       case $ broj < 0:
           echo "Negativni broevi ne se dozvoleni.";
           break;
       default:
           echo "Vnesen e pozitiven broj.";
       break;
       }
   ?>

Откако ќе пронајде услов кој се исполнува PHP престанува со барање друг случај.

Циклуси

Во програмирањето, често е потребно да се повторува еден ист блок од наредби. Тоа се случува одреден број пати, дадено од програмерот, или додека не се исполни некој услов. Ова се прави со наредби за скок или циклуси. PHP има две главни групи на овие наредби: for и while. Наредбата for, најмногу ни служи за повторување одреден број пати некои наредби да се извршуваат. Наредбата while, се користи за повторување на неодреден број пати, додека некој услов не се исполни. Овде се користат break и continue за контрола на скоковите.

while

Наредбата while извршува еден блок наредби, ако и додека еден услов е точен. Ако условот станува неточен, контролата се префрла на наредбата што следува после неа. Синтаксата е ваква:

   while (condition) 
   {
       naredbi;
   }

Блокот наредби кој е внатре во while циклусот секогаш е затворен со { и }. Овие загради му кажуваат на PHP кои наредби да ги повторува. while се користи за работење со листи каде што не се знае точниот број на елементи во неа:

   while (seuste ima redovi vo bazata)
   {
   	citaj od eden red;

pomini na sledniot red;

   }

Следниот пример извршува циклус каде што почетната вредност е 0. Овој циклус ќе се повторува се додека i е помала или еднаква на 10, а ќе се зголемува на секој скок:

   <?php
       $i = 0;
       while ($i <= 10)
       {
           echo "Brojot e: ".$i."<be/ >";
   	    $i++;
       }
   ?>

Сега да погледнеме покорисен пример. Еве како се прави паѓачко мени за денови, месеци и години. Овој код може да се искористи во форма за регистрација:

   <?php
       $month_array = array( "January", "February", "March", "April", "May", "June",
                     "July", "August", "September", "October", "November", "December");
       echo "<select name=\"day\">";
       $i = 1;
       while ( $i <= 31 ) {
           echo "<option value=".$i.">".$i."</option>";
          $i++;
       }
       echo "</select>";
       echo "<select name=\"month\">";
       $i = 0;
       while ( $i <= 11 ) {
           echo "<option value=".$i.">".$month_array[$i]."</option>";    
       $i++;
       }
       echo "</select>";
       echo "<select name=\"year\">";
       $i = 1900;
       while ( $i <= 2007 ) {    
          echo "<option value=".$i.">".$i."</option>";    
          $i++;
       }
       echo "</select>";
   ?>

Бидете сигурни дека условот во некој случај ќе стане неточен. Инаку, циклусот нема никогаш да заврши.

do...while

Наредбите do...while се слични на while, само што условот се проверува на крајот од секое извршување на наредбите во него. Тоа значи дека do...while секако ќе се изврши барем еднаш. Еве ја синтаксата:

   do
   {
       naredbi;
   }
   while (condition);

Следниот код, ќе ја зголемува вредноста на i за еден се додека таа е помала или еднаква на 10:

   <?php
        $i = 0;
        do {
    	    echo "Brojot e ".$i."<br/>";
	    $i++;
        }
        while ($i <= 10);
    ?>

for

Наредбата for се користи кога точно знаете колку пати сакате некоји наредби да се извршат. Затоа за for се вели дека е конечен циклус. Синтаксата е поразлична од претходните:

   for (inicijalizacija; uslov; skok)
   {
   	    naredbi;
   }

Трите изрази што ги добива for се разделени со ;. Ова се случува кога се извршува for: 1.Се иницијализираат бројачи, кои ќе се менуваат според скокот. 2.Се проверува условот. Ако условот е точен, се извршуваат наредбите внатре, ако не-се прекинува. 3.Се изменува бројачот според скокот. 4.Се извршуваат наредбите и контролата оди пак на чекор 2.

Еве еден едноставен пример:

   <?php 
        for ($i = 0; $i <= 10; $i++)
        {
            echo "Brojot e ".$i." <br/>";
        }
    ?>

Пр. со вгнездени циклуси:

   <?php
        echo "<h1>Multiplication table</h1>";
        echo "<table border=2 width=50%"; 

        for ($i = 1; $i <= 9; $i++ ) {   //nadvoresen ciklus
            echo "<tr>";
            echo "<td>".$i."</td>";
  
        for ( $j = 2; $j <= 9; $j++ ) { // vnatresen ciklus
            echo "<td>".$i * $j."</td>";
        }

        echo "</tr>";
        } 
        echo "</table>"; 
    ?>

Еве уште еден пример што користи две променливи. Една за да ги собира сите броеви од 1 до 10, а друга да ги собира само истите.

   <?php
        $total = 0;
        $even = 0;
        for ($x = 1, $y = 1; $x <=10; $x++, $y++)
        {
            if (($y % 2) == 0)
            {
                $even = $even + $y;
            }
            $total = $total + $x;
        }
        echo "Celiot zbir e ".$total."<br/>";
        echo "Zbirot na ednakvite e ".$even;
    ?>

foreach

foreach е варијација на for и помага да се итерира низ елементи од една низа. Има две различни варијанти на foreach циклусот:

   foreach (array as value)
   {
       naredbi;
   }

и

   foreach (array as key => value)
   {
       naredbi;
   }

Пример, печатење вредности од една низа:

   <?php
        $email = array('john.smith@server.com', 'alex@server.com' );
        foreach ($email as value)
        {
            echo "Sending mail to ".$value."<br/>";
        }
    ?>

PHP ги извршува наредбите кои му се дадени на foreach онолку пати колку што има вредности во низата. Елементите се пронаоѓаат според нивниот внатрешен редослед. Циклусот продолжува се додека не се поминат сите елементи и не дојде до крај на низата. Другиот вид на foreach наредби се користи со асоцијативни низи:

   <?php
        $person = array('name' => 'Andrew', 'age' => 21, 'address' => '77, Lincoln st.');
        foreach ($person as $key => $value)
        {
            echo $key." is ".$value."<br/>";
        }
    ?>

Во овој случај, клучот за дава на променливата $key, а вредноста на променливата $value. За време на извршувањето на foreach циклусот, тој не работи со вистинската низа, туку со копија од неа. За време на секој циклус, може да се манипулира со $value, но вистинската вредност останува иста.

break и continue

Понекогаш не треба да се чека циклусот да заврши сам од себе, туку треба да и се даде контрола на некоја наредба таа да го прекине. Тоа се извршува со continue и break. break, го прекинува тековниот while или for циклус и продолжува со извршување на кодот после нив. Дури може да се даде вредност после break, со која ќе се каже колку нивоа да бидат прескокнати. Еве пример за користење на break:

   <?php
        echo "<p><b>Example of using the Break statement:</b></p>";

        for ($i=0; $i<=10; $i++) { 
            if ($i==3){break;} 
            echo "The number is ".$i;
            echo "<br />"; 
        }

        echo "<p><b>One more example of using the Break statement:</b><p>";

        $i = 0;
        $j = 0;

        while ($i < 10) {
            while ($j < 10) {
                if ($j == 5) {
                    break 2;
                } // breaks out of two while loops
                $j++;
            }
            $i++;
        }

        echo "The first number is ".$i."<br />";
        echo "The second number is ".$j."<br />";
    ?>

Наредбата continue го прекинува извршувањето на блокот наредби и продолжува со извршување со следниот скок:

   <?php
        echo "<p><b>Example of using the Continue statement:</b><p>";

        for ($i=0; $i<=10; $i++) { 
            if (i==3){continue;} 
            echo "The number is ".$i; 
            echo "<br />"; 
        } 
    ?>

Функции

Функција е блок наредби, кои може да бидат повикани од кој и да е дел од скриптата откако таа ќе биде декларирана. Кодот запишан во функција се игнорира, се додека таа функција не се повика. Со ова се добива на брзина, се намалуваат грешките и се зголемува прегледноста затоа што не се користат долги, комплицирани кодови. За да се декларира функција, потребна е оваа синтакса:

   <?php
       function ime_na_funkcija(param_1, ... , param_n)
       {
           naredbi;
           return povratna_vrednost;
       }
   ?>

Во функциите може да се додаваат и други вредности како променливи, така што тие ќе бидат локални променливи.

Креирање едноставна функција

Првата функција, ќе отпечати "php rulez" пет пати, но таа нема да прими параметри. Втората ќе добие параметри. Параметарот е податок кој е потребен за функцијата да се изврши. Пр: <?php function first() { for($i = 0; $i !=5; $i++) echo "<p>php rulez!</p>"; } function second($num, $msg) { for($i = 0; $i != $num; $i++) echo "<p>". $msg ."</p>"; } echo "Ova e pred da se povikaat funkciite.<br>"; echo "Izlezot od prvata funkcija e: " first(); echo "Ova e izlezot od vtorata funkcija: " second(5, "bla bla bla"); echo "Ova e posle dvete funkcii<br>";  ?> Следниот пример, креира функција која може да пресмета аритметичка средина и да го даде резултатот: <?php function ar_sr($a, $b) { $result = ($a + $b) / 2; return $result; } echo ar_sr(4, 6), "<br>"; echo ar_sr(2314, 12412), "<br>";  ?>

Домен на променливите и време на живот

Важно е да се напомне дека ако дефинирате променливи внатре во функциите, таа променлива е достапна само внатре во функцијата. Таа не може да се користи во другиот дел од кодот или во друга функција. Доменот на променливите во функцијата е локален. Функцијата што треба да користи променлива која е дефинирана надвор од неа, мора да ја повика со клучниот збор global:

   <?php
        function AddingNumbers()
        {
            global $sum = 2 + 2;
        }
        $sum = 0;
        AddingNumbers();
        echo "2 + 2 = ".$sum;
    ?>

Додека доменот на променливата дефинирана во функцијата е локален, променливата во главниот код е глобална. Зборчето global му кажува на PHP да бара променлива надвор од функцијата. Променлива која е дефинирана во програмскиот код, е жива се додека скриптата се извршува. Кога таа ќе заврши, престанува да постои. Променлива која е во функција, постои се додека се извршува функцијата.

Обработка на форми со PHP

Една од најдобрите работи во PHP е можноста да одговори на барања на корисникот и да испраќа податоци од HTML форми. Можете да обработувате податоци генерирани од една HTML форма, да донесувате заклучоци врз основа на неа и да креирате динамични веб страни.

HTML форма

Пред да почнете да ги обработувате информациите добиени од корисникот, треба да креирате HTML форма од која тие податоци ќе ги соберете. Има два методи кои се користат за праќање податоци: GET и POST. Овие два методи се дефинирани во HTML елементите, како нивни атрибути. Исто така ќе мора да дадете и адреса на датотеката која ќе ги обработува овие информации. Еве една HTML форма која ќе испраќа податоци, користејќи го POST методот. Информациите пратени од формата со овој метод се невидливи за другите и не е ограничена количината на податоци кои се праќаат. Името на оваа датотека нека биде form.html.

   <html> 
    <head> 
        <title>Process the HTML form data with the POST method</title> 
    </head> 
    <body> 
      <form name="myform" action="process.php" method="POST">
        <input type="hidden" name="check_submit" value="1" />
        Name: <input type="text" name="Name" /><br />
        Password: <input type="password" name="Password" maxlength="10" /><br />
        Select something from the list: <select name="Seasons">
          <option value="Spring" selected="selected">Spring</option>
          <option value="Summer">Summer</option>
          <option value="Autumn">Autumn</option>
          <option value="Winter">Winter</option>
        </select><br /><br />
        Choose one: 
          <input type="radio" name="Country" value="USA" /> USA
          <input type="radio" name="Country" value="Canada" /> Canada
          <input type="radio" name="Country" value="Other" /> Other
        <br />
        Choose the colors: 
          <input type="checkbox" name="Colors[]" value="green" checked="checked" /> Green
          <input type="checkbox" name="Colors[]" value="yellow" /> Yellow
          <input type="checkbox" name="Colors[]" value="red" /> Red
          <input type="checkbox" name="Colors[]" value="gray" /> Gray
        <br /><br />
        Comments:<br /> 
        <textarea name="Comments" rows="10" cols="60">Enter your comments here</textarea><br />
        <input type="submit" />
      </form>
    </body>
    </head>
    </html>

Примерот вклучува повеќе елементи: поле за внес на податоци, поле за избор од неколку можности, поле за текст и копче за испраќање на формата. Кога корисникот го притиснува копчето, податоците се праќаат до process.php датотеката. Забележувате дека на елементите за избор, обележано или не (checkbox), има додадено средни загради []. Ова му кажува на PHP дека вредностите овде може да се низа од податоци. Корисникот може да избере од повеќе вредности и PHP ќе ги смести нив во низа. Пр. ако изберете Green и Yellow и ја извршите формата, тогаш $_POST['Colors'] е низа. $_POST['Colors'][0] е Green, а $_POST['Colors'][1] е Yellow. Ова е затоа што атрибутот name на оваа контрола е со []. Ако не беше, $_POST['Colors'] ќе беше обичен текст кој содржи само една од избраните вредности.

Обработка на податоците од формата

Следно, треба да се направи PHP датотеката која ќе ја обработи формата. Кога ќе се изврши формата со кликнување на копчето (submit), тогаш автоматски се генерираат две суперглобални променливи: $_GET и $_POST, со сите податоци пратени co GET и POST соодветно. Така, контролата наречена Name, која беше пратена со POST, ќе биде зачувана како $_POST['Name']. Снимете го овој код во датотека process.php во истиот директориум како и form.html:

   <?php
    //Check whether the form has been submitted
    if (array_key_exists('check_submit', $_POST)) {
       //Converts the new line characters (\n) in the text area into HTML line breaks (the <br /> tag)
       $_POST['Comments'] = nl2br($_POST['Comments']); 
       //Check whether a $_GET['Languages'] is set
       if ( isset($_POST['Colors']) ) { 
         $_POST['Colors'] = implode(', ', $_POST['Colors']); //Converts an array into a single string
       }    
    
       //Let's now print out the received values in the browser
       echo "Your name: {$_POST['Name']}<br />";
       echo "Your password: {$_POST['Password']}<br />";
       echo "Your favourite season: {$_POST['Seasons']}<br /><br />";
       echo "Your comments:<br />{$_POST['Comments']}<br /><br />";
       echo "You are from: {$_POST['Country']}<br />";
       echo "Colors you chose: {$_POST['Colors']}<br />";
    } else {
        echo "You can't see this page without submitting the form.";
    }
    ?>

Во првиот ред, се проверува дали е страната со податоци испратена и оваа скрипта да не се изврши сама. Следно, се конвертираат новите редови во HTML
. Потоа се проверува дали низата полна, а ако е се користи функцијата implode() да се конвертира $_POST['Colors'] низата во една текстуална променлива. Последно, се печатат податоците во прелистувачот.

GET и POST

Кога дефинираме метод да испраќа податоци до PHP скрипта, користиме или GET или POST методи. И двата праќаат променливи до скриптата, но тоа го прават на различен начин. GET методот ги праќа своите променливи во адресата на веб прелистувачот, во URL. Така пратените податоци, може лесно да се видат од од други корисници, а може и да се изменуваат. Затоа, овој метод не треба да се користи кога се праќаат шифри или други приватни податоци. Исто така, не треба да се користат кога се прават некои акции и измени на серверот, како менување и снимање податоци во бази. Меѓутоа, се користи поради тоа што кога податоците се прикажани во URL-то, таа страна може да се сними во омилени и да се запамти (bookmarks). Методот GET има лимит за пратените податоци. Така, како резултат на ова, ако испраќате голем број податоци има можност да изгубите голем дел од нив. Методот POST, ги праќа своите променливи во позадина и нема лимит на големината на испратените податоци. Бидејќи податоците не се пратени преку URL, не може оваа страна да се стави во омилени.

PHP колачиња

Колаче, е име кое се користи за порака која е пратена од веб серверот до клиентскиот веб прелистувач. Прелистувачот ги памти овие пораки во мали текстуални датотеки локално, на компјутерот на корисникот. Секој пат, кога истиот компјутер ќе побара страна, колачето се праќа назад до серверот. Има многу работи кои може да се прават користејќи колачиња. Тие се користат за чување податоци за корисникот, посетени страни, резултати од гласања итн. Главна намена на колачињата е да идентификуваат корисници и (ако е можно) да ги припремат страните за прикажување. Обично колачињата се користат за чување мала количина податоци. веб страните можат да ги читаат податоците од колачињата и да ги користат по потреба. Иако колачињата не можат да наштетат, некои корисници забрануваат пристап до нивните компјутери со помош на колачиња, бидејќи се загрижени за приватноста. Во овој случај мора да користите сесии (Sessions).

Како да се креира колаче?

PHP колачињата може да се креираат користејќи ја функцијата setcookie(). Синтаксата е следна: setcookie(name[, value[, expire[, path[, domain[, security]]]]])

[name] – Името на колачето. Имињата на сите пратени колачиња се снимани како суперглобална низа $_COOKIE. [value] – Вредноста на колачето. Таа е врзана со името. [expire] – Времето за кое колачето веќе нема да биде валидно (во секунди). [path] – Ја дава точната адреса на домејнот кој може да го користи тоа колаче. [domain] – Домејнот за кој колачето е валидно. Ако не е специфицирано, тогаш оваа вредност е домејнот на оној кој што го креирал колачето. [security] – Кажува дали колачето ќе биде пратено преку HTTPS. Вредноста 1 кажува дека ќе биде пратено преку сигурна врска, но дека може да не е сигурно. Колачето е обична текстуална датотека, па не е секогаш сигурно. Вредноста 0 значи дека ќе биде пратено низ стандарда HTTP постапка. Во овој пример, ќе се креира колаче со име "MyCookie" и ќе му се даде вредност "PHP tutorial". Исто така, се даваат информации дека колачето ќе престане да важи после 1 час и дека тоа важи за сите страни во директориумот tutorials.

   <?php
        setcookie("myCookie", "PHP Tutorial", time()+3600, "/tutorials");
    ?>

Поради начинот на кој работат колачињата со HTTP, важно е да се праќаат сите колачиња пред било каков излез на екран. Ова значи дека ќе се повикаат сите функции пред да се отпечатат или прикажат резултати. Ако не, тогаш PHP ќе соопшти и колачињата нема да бидат испратени.

Како да се добијат податоци од колаче?

Откако е направено колачето, податоците од него треба да се извлечат. Како што е претходно кажано, имињата на колачињата се снимени во суперглобалната низа $_COOKIE. Во овој случај, ќе се повика претходното колаче кое го креиравте:

   <?php
        echo "The cookie value is ".$_COOKIE['myCookie'];
    ?>

Излезот од ова е: "The cookie value is PHP Tutorial".

Како да се избрише колаче?

По правило, колачињата се бришат кога ќе се затвори прелистувачот. Тоа може да се измени со тоа што ќе се даде вредност, време, за колку тоа колаче да се избрише. За да се осигурате дека тоа време, не е поминато време (време во минатото), се користи функцијата time() која ќе го даде моменталното време.

Динамично генерирање слики

Динамичното генерирање слики може да биде многу корисна вештина. PHP има неколку вградени функции за генерирање слики, пр., да се генерираат, да се менуваат постоечки... За да се користат овие, треба да биде инсталирана GD библиотеката. Во овој туторијал, ќе биде покажано како да се добијат интересни и корисни ефекти користејќи функции за работа со слики. Ќе се разгледаат две практични операции: креирање сигурносни слики (captcha) и график користејќи нумерички вредности добиени од MySQL база на податоци.

Креирање сигурносни слики

Еве ја функцијата која креира сигурносна слика (captcha). Следно ќе биде детално разгледан секој чекор во генерирањето слика.

   <?php
        create_image();
        exit;

        function create_image()
        {
            $md5 = md5(rand(0,999));
            $pass = substr($md5, 10, 5);
            $width = 100;
            $height = 20;
            $image = ImageCreate($width, $height);
            $white = ImageColorAllocate($image, 255, 255, 255);
            $black = ImageColorAllocate($image, 0, 0, 0);
            $grey = ImageColorAllocate($image, 204, 204, 204);
            ImageFill($image, 0, 0, $black);
            ImageString($image, 3, 30, 3, $pass, $white);
            ImageRectangle($image, 0, 0, $width-1, $height – 1, $grey);
            imageline($image, 0, $height/2, $width, $height/2, $grey);
            imageline($image, $width/2, 0, $width/2, $height, $grey);
            header("Content-Type: image/jpeg");
            ImageJpeg($image);
            ImageDestroy($image);
        }
    ?>

За да се креира нова слика или да се измени постоечка, треба да се направи идентификатор за неа. Во претходниот пример, креиравме празен простор со повикување на функцијата ImageCreate() и со давање на параметрите $width и $height. Друг начин ова да се направи е со повикување слика од постоечка датотека. Во зависност од форматот на сликата, може да се користат следниве функции: ImageCreateFromPNG(), ImageCreateFromGIF(), ImageCreateFromJPEG(). Параметарот на секоја од овие функции е името на датотеката. Потоа треба да ги изберете боите кои ќе се користат при цртањето. За ова се користи функцијата ImageColorAllocate() и идентификатори за црвена, зелена и сина боја. Во следниот чекор, се генерира сликата. Прво користејќи ја функцијата ImageFill() креирате црна позадина. Параметри овде се идентификаторот за сликата, координати и боја. Тогаш користите ImageString() за да се додаде текст на сликата. Нејзини параметри се идентификатор за сликата, фонт, координати за текстот и боја на текстот. На крај, се цртаат две линии и правоаголник за да се заштити сликата. Правоаголникот е со димензии помали од целата слика, за да не се поклопи со рамката на сликата. Кога сликата е направена, може да ја користите како посебна слика и во прелистувач. Во овој пример е покажано како таа се користи директно во прелистувачот. Прелистувачот треба да се информира за тоа каква датотеката доаѓа кај него, па затоа се користи функцијата header() која кажува од кој MIME тип е датотеката. Откако ќе се заврши со работа со сликата, треба да се исчисти просторот кој таа го зафатила во меморија. За тоа се користи ImageDestroy().

Креирање график

Во следиот пример, ќе биде направен график користејќи податоци од MySQL база на податоци. Прво ќе биде дадено како да се направи базата и податоците во неа, а потоа пристапот до нив со PHP.

   CREATE DATABASE `poll`;
    USE poll;
    
    CREATE TABLE `results` ( 
       book_type VARCHAR(50), 
       num_votes INT
    );
    
    INSERT INTO `results` values  
        ('Classic', 15), 
        ('Fantasy', 7), 
        ('Humor', 32), 
        ('Mystery', 12), 
        ('Poetry', 25);

Скриптата за правење график е прилично долга, па ќе биде поделена на два дела и дискутирана поединечно. Првата скрипта се врзува за базата и ги зема податоците кои ќе бидат прикажани.

   <?php
        $dbhandle = mysql_connect("localhost", "root", "")
            or die("Unable to connect to mysql");
        $selected = mysql_select_db("poll", $dbhandle)
            or die("Cannot select examples");
        $result = mysql_query("SELECT * FROM results");
        $num_poller = mysql_num_rows($result);
        $total_votes = 0;
        while($row = mysql_fetch_array($result)){
            $total_votes += $row{'num_votes'};
        }
        mysql_data_seek($result, 0);
        mysql_close($dbhandle);

Во вториот дел на скриптата ќе биде пресметано се што е потребно за графикот. Тогаш ќе се спреми примарната слика и излезот со податоците. Резултатите од секој тип се добиени од базата, процентите се пресметани и столбовите и текстот под нив се прикажани. Во оваа скрипта ќе се користат TrueType фонтови. Прво треба да се даде адресата на која се наоѓаат фонтовите. За ова постои системска променива GDFONTPATH. Потоа се кажува името на фонтот. TrueType фонтовите се обработуваат со ImageTTFText(). Еве ја и скриптата. Таа користи функции кои веќе се објаснети во цртањето сигурносна слика:

   putenv('GDFONTPATH='pateka_do_font');
    $font = 'arial';
    $y = 50;
    $width = 700; //Image width in pixels
    $bar_height = 20; //Bars height
    $height = $num_poller * $bar_height * 1.5 + 70; //Calculating image height 
    $bar_unit = ($width - 400) / 100; //Distance on the bar chart standing for 1 unit
    
    //Create the image resource 
    $image = ImageCreate($width, $height); 
    
    //We are making four colors, white, black, blue and red 
    $white = ImageColorAllocate($image, 255, 255, 255); 
    $black = ImageColorAllocate($image, 0, 0, 0); 
    $red = ImageColorAllocate($image, 255, 0, 0); 
    $blue = imagecolorallocate($image,0,0,255); 
    
    //Create image background 
    ImageFill($image,$width,$height,$white); 
    //Draw background shape 
    ImageRectangle($image, 0, 0, $width-1, $height-1, $black); 
    //Output header 
    ImageTTFText($image, 16, 0, $width/3 + 50, $y - 20, $black, $font, 'Poll Results'); 
    
    while ($row = mysql_fetch_object($result)) { 
        if ($total_votes > 0) 
            $percent = intval(round(($row->num_votes/$total_votes)*100)); 
        else 
        $percent = 0; 
    
        //Output header for a particular value 
        ImageTTFText($image,12,0,10, $y+($bar_height/2), $black, $font, $row->book_type); 
        //Output percentage for a particular value 
        ImageTTFText($image, 12, 0, 170, $y + ($bar_height/2),$red,$font,$percent.'%'); 
    
        $bar_length = $percent * $bar_unit; 
    
        //Draw a shape that corresponds to 100% 
        ImageRectangle($image, $bar_length+221, $y-2, (220+(100*$bar_unit)), $y+$bar_height, $black); 
        //Output a bar for a particular value 
        ImageFilledRectangle($image,220,$y-2,220+$bar_length, $y+$bar_height, $blue); 
        //Output the number of votes 
        ImageTTFText($image, 12, 0, 250+100*$bar_unit, $y+($bar_height/2), $black, $font, $row->num_votes.' votes cast.'); 
    
        //Going down to the next bar 
        $y = $y + ($bar_height * 1.5); 
        
    } 

    //Tell the browser what kind of file is come in 
    header("Content-Type: image/jpeg"); 
    
    //Output the newly created image in jpeg format 
    ImageJpeg($image); 
    
    //Free up resources 
    ImageDestroy($image); 
    ?>

Користење динамички генерирани слики на други страници

Бидејќи заглавјето (header), се испраќа само еднаш до серверот и тоа е единствениот начин да му се каже на прелистувачот што да очекува, не е лесно да се стават автоматски генерирани слики. Има три начини да се направи тоа: 1.Целата страна да зависи од сликата 2.Ќе ја снимите сликата како некоја датотека ќе се обраќате кон неа со <img> 3.Ќе ставите скрипта која сама ќе генерира слика во <img>

   <img height="120" alt="Dynamically generated image" src="generate_image.php" width="200">

Безбедно качување датотеки на сервер

PHP го прави качувањето датотеки на сервер едноставно. Можете да качите каква и да е датотека на веб серверот. Но со едноставноста доаѓа и опасноста, па мора да бидете внимателни кога дозволувате качување. Во овој туторијал ќе биде разгледано како да качите датотеки во одреден директориум на веб серверот, а притоа да не настанат проблеми и ќе бидат разгледани безбедносните проблеми кои може да се јават.

HTML форма

Пред да го користите PHP за управување со датотеките, треба да се направи HTML формата која ќе даде интерфејс за корисникот, да ја пронајде и качи својата датотека.

   <html> 
    <body>
      <form enctype="multipart/form-data" action="upload.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
        Choose a file to upload: <input name="uploaded_file" type="file" />
        <input type="submit" value="Upload" />
      </form> 
    </body> 
    </html>
    

Има неколку правила што треба да ги знаете за кога правите HTML форма. Прво, бидете сигурни дека го користите POST методот. Второ, на формата и е потребен enctype="multipart/form-data" атрибутот. Без ова качувањето на датотеки нема да работи. Друго нешто што треба да се спомне е скриеното поле во формата, наречено MAX_FILE_SIZE. Некои прелистувачи ја гледаат оваа променлива и нема да дозволат качување на датотеки поголеми од овој број (во бајти). За оваа променлива треба да внесете број ист како што е внесено во php.ini датотеката, за најголемо качување на датотеки. Во php.ini е внесено upload_max_filesize = 2MB. Но, сепак не можете да бидете сигурни дека скриптата нема да биде нападната со поголем број податоци. На пр., напаѓач може да внесе во скриптата повеќе датотеки со максимална големина, со цел да се сруши серверот. Затоа, наместете го post_max_size во php.ini на максималната големина што сакате да ја добие Вашиот веб сервер (мора да биде поголема од upload_max_filesize). Основната вредност е 10МВ. Ова ја контролира максималната големина на сите POST податоци, во еден обид. Исто така осигурајте се дека file_uploads во php.ini е наместен на On. Погледнете го делот со type="file". Тоа е наместено така, за да овозможи наоѓање датотеки на системот. Овозможува внесување адреса до датотеката и копче Browse. Кога корисникот внесува патека до датотеката, кликнува на копчето Submit и датотеката ќе биде пратена до upload.php. PHP скриптата ја превзема контролата.

Обработување на податоците од формата

Кога датотеката е качена, PHP креира привремена копија од неа и гради суперглобална низа $_FILES која содржи податоци за датотеката. За секоја датотека се запишуваат пет податоци: $_FILES["uploaded_file"]["name"] – Оригиналното име на датотеката од корисничката машина $_FILES["uploaded_file"]["type"] – MIME типот на качената датотека $_FILES["uploaded_file"]["size"] – големината на качената датотека $_FILES["uploaded_file"]["tmp_name"] – локацијата на која е снимена датотеката привремено $_FILES["uploaded_file"]["error"] – код со грешка која се јавила за време на качувањето Следниот пример покажува прифаќање на датотека и нејзино снимање во директориум upload. Скриптата дозволува качување само на JPEG слики помали од 350КВ:

   <?php
    if ((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
        $filename = basename($_FILES['uploaded_file']['name']);
        $ext = substr($filename, strpos($filename, '.') + 1);
        if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && ($_FILES["uploaded_file"]["size"] < 350000)) {
            $newname = dirname(__FILE__).'/upload/'.$filename;
            if (!file_exists($newname)) {
                if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $newname))){
                    echo "It's done! The file is saved as: ".$newname;
                } else {
                    echo "Error: a problem occurred during file upload";
                }
            } else {
                echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists";
            }
        } else {
            echo "Error: Only .jpg images under 350Kb are accepted for upload";
        }
    } else {
        echo "Error: No file uploaded";
    }
    ?>

Пред што и да правите со качените датотеки, треба да проверите дали тие се вистински качени. Потоа проверувате дали датотеката е JPEG и нејзината големина помала од 350KB. Следно, се проверува дали постои патеката на која треба да се качи датотеката и дали постои веќе некоја со исто име. Откако ќе се завршат овие проверки, се копира датотеката од локалниот компјутер на серверот. Ако е качувањето успешно, ќе биде објавена позитивна порака. Бидете сигурни дека датотеката на која сакате да запишувате на веб серверот има дозвола за запишување и читање.

Праќање e-mail (Текст/HTML/Датотеки)

Email е најпознатиот сервис на Интернет денес. Целта на овој туторијал е да покаже како да генерирате и праќате email со PHP. Email може да се праќа од апликацијата со директно барање на корисникот или пак на одредено време, пр. месечен весник. Понекогаш email-от содржи датотеки кои се прикачени на него. Тие можат да бидат чист текст, HTML делови и др. За да се разбере како функционира праќањето email ќе почнеме од поедноставни примери. Забелешка: За да праќате email со PHP Ви треба функционален email сервер на кој имате дозвола да работите: за UNIX често е Sendmail, за Windows мора да се намести SMTP наредбата во php.ini да покажува на email серверот.