-
Posts
219 -
Joined
-
Last visited
-
Days Won
1
Everything posted by ciubyever
-
Cum sa iti faci un post TV pe internet?
ciubyever replied to ciubyever's topic in Tutoriale in romana
dap , asta de acolo l-am luat, dar nu am vazut nici o regula -
nu l-am luat de acolo
-
Ati putea face si un blog pe wordpress sau blogspot, in care sa atrageti privirile mai multor persoane talentate in programare,web design,hacking....Fiecare cu priceperea lui! Si uite-asa o sa intre mai multi apoi, pe site! Puneti si voi un responsabil cu facerea unui blog! (Un new thread in care fiecare are un blog sa si-l arate, si care e mai talentat, si are mai multi vizitatori la blogu lui, sa fie pus responsabil cu crearea blogului) Eu am dat doar o idee mica, care se poate dezvolta si.... Va fi site mai activ(sper)!
-
ce minte creatza....
-
Este recunoscut progu de antivirusuri?
-
da.... am.... ti le pot da...o sa le uploadez pe rshare si o sa dau aici arhiva ca sa le vezi...
-
aha, XaraX, am auzit de el... dar de putine ori, si nu l-am folosit niciodata, dar o sa-l incerc...
-
Stiti de fapt, ce inseamna FBI? Fabrica de Blide si Ibrice, asa ca tot RST Team is the Best! hehe...
-
hehe... htmll, php, photoshop (pt web design), comenzi importane din cmd.... etc...
-
ce exemplu interesant ;)" http://rstcenter.com/kw3rln.rst "
-
este interesant prgu dar au dreptate baietii... Link rshare...
-
whoaw ... ms mooolt Ravennn!!! Am fost in cautarea unui asemenea prgram ... thx a lot
-
nice...really nice...
-
BUNNN mie imi zice ca este un virus..... (am antivirus internet security 2009[kaspersky]).... si dak nu sting antivirusu nu-mi merge...si totusi e riscant.... thx oricum!
-
Cum sa faci un virus / trojan / keylogger indetectabil 100%
ciubyever replied to CODEX's topic in Tutoriale in romana
hai sa fim seriosi ca, orice i-ai face tot il detecteaza antivirusul, daca are update la zi... bineinteles! -
STERS http://77one.com/Tutoriale-Diverse/Cum-sa-ti-deschizi-un-post-de-televiziune-online.html
-
In zilele noastre calculatorul a devenit o necesitate, dar ce este un computer fara un sistem de operare? Este… egal cu zero. Totusi, inca mai exista oameni care nu stiu cum sa instaleze un system de operare. Aici intervenim noi si incercam sa dam o mana de ajutor ajuntandu-i pe utilizatorii nostri juniori cu cateva indicatii legate de instalarea Windows XP. Inainte de a incepe instalarea va rugam sa va asigurati ca aveti la indemana toate cd-urile importante primite odata cu achizitionarea calculatorului, mai exact discurile cu drivere pentru: placa de baza, placa audio, placa video, placa de retea/modem (daca aveti) si pentru S-ATA (daca detineti un astfel de hard disk). Daca instalati un Windows XP care nu are integrat Service Pack 2, va rugam sa scoateti cablul de retea din calculator inainte de inceperea instalarii. De asemenea, daca reinstalati Windows-ul, asigurati-va ca orice fisier sau director important din directoarele My Documents, Program Files, Windows sau de pe Desktop a fost mutat intr-o locatie de backup. Acestea fiind spuse, porniti calculatorul si intrati in BIOS (de obicei se face prin apasarea tastei Delete). Cautati sectiunea de Boot (ar trebui sa fie in meniul principal sau la Advanced BIOS Features) si verificati ca prima componenta de pe care calculatorul va boota este CDROM-ul. Acum introduceti CD-ul de instalare a Windows XP in unitatea optica si puteti iesi din BIOS, salvand schimbarile bineinteles. Dupa cateva secunde calculatorul va va cere sa apasati o tasta pentru a boota de pe CD. (Atentie! Acesta este singurul moment in care calculatorul trebuie sa booteze de pe CD). Dupa inspectarea configuratiei calculatorului, utilizatorul este rugat sa apese tasta F6 daca detine o discheta pentru hard disk-ul sau S-ATA. Este foarte important sa nu sariti sau omiteti acest pas daca aveti un astfel de hard. Daca ati apasat tasta F6, dupa cateva secunde veti fi rugat sa specificati unitatea de stocare pe S-ATA. Apasati tasta S, introduceti discheta cu driver S-ATA si apasati Enter. Dup ce isi va copia driverele necesare, veti reveni in ecranul anterior. Pentru a continua, doar apasati inca o data tasta Enter. Dupa ce procesul de instalare va termina incarcarea fisierelor necesare, veti avea de ales intre instalarea Windows-ului, repararea sa si iesirea din instalare. Veti alege bineinteles instalarea Windows-ului, apasand tasta Enter, ceea ce va avea ca effect afisarea licentei. O puteti citi folosing tastele Page Up si Page Down; daca sunteti de acord, apasati tasta F8, daca nu, tasta Escape (optiune care va opri procesul de instalare). Urmatorul ecran va lista partitiile de pe hard disk, spatiul nefolosit si optiunile corespunzatoare acestora. Puteti crea o partitie apasand tasta C, puteti sterge una apasand tasta D sau folosi tastele directionale pentru a alege partitia pe care sa fie instalat Windows-ul. Nu va sfatuim sa stergeti partitii daca nu stiti ce exact ce presupune acest lucru. Daca pe partitia aleasa exista deja instalata o versiune de Windows, veti fi intrebat daca doriti sa folositi in continuare acea partitie si vechiul Windows sa fie sters (apasati L) sau sa alegeti alta partitie (apasati Escape). Daca hard disk-ul nu are creata nici o partitie (contine doar spatiu nefolosit), puteti crea una: apasati C si in ecranul urmator alegeti marimea partitiei. Dupa selectarea unei partitii, urmeaza formatarea ei. Daca tocmai ati creat partitia respectiva sau nu contine nimic important, o puteti formata rapid folosind optiunea “Format the partition using the NTFS file system (quick)”, dar daca partitia exista deja o puteti lasa intacta alegand optiunea “Leave the current file system intact (no changes)”. In continuare vor fi copiate pe hard disk fisierele necesare dupa care calculatorul se va restarta pentru a instala componentele (interventia utilizatorului nu este necesara pana in momentul in care vor fi instalate componentele). Cu siguranta ati observat ca pasul doi al instalrii a inceput intr-o interfata noua, mai prietenoasa, in care va aparea, la terminarea instalarii componentelor, fereastra cu setarile regionale si de limba. Pentru a primi informatii corecte de la anumite servicii, puteti alege din meniul “Location” tara in care va aflati. Prin apasarea butonului “Customize” vi se vor prezenta setarile pentru: numere (gruparea cifrelor, sistemul de masura, semnul de numar negativ, etc), moneda (simbolul monedei, gruparea cifrelor, etc), ora (formatul orei, separatorul) si data (formatul prescurtat al datei, separatorul). Pentru a va intoarce apoi in fereastra anterioara apasati OK (salvand astfel modificarile facute in fereastra) sau Cancel (lasand valorile asa cum erau setate initial). Apasand butonul Next veti ajunge in fereastra de personalizare unde vi se cere numele si organizatia. Va urma fereastra in care trebuie introdusa cheia de inregistrare (serial key) primita la achizitionarea Windows-ului. Daca acezsta a fost tastat corect, la apasarea butonului Next, va aparea o fereastra in care se cer numele calculatorului si parola de administrator. Nu este necesara modificarea acestor campuri, asadar daca nu le cunoasteti scopul, apasati inca o data butonul Next pentru a va seta data, ora si fusul orar. Daca aveti un modem sau o placa de retea, ulterior va aparea si o fereastra de configurare, insa nu este neaparat sa introduceti toate valorile necesare acum, pentru ca aceste setari pot fi apoi accesate si din Windows. Din nou interventia utilizatorului nu va mai fi ceruta decat dupa ce calculatorul se va restarta. Am intrat pe ultima suta de metri in cursa pentru instalarea Windows-ului. Pentru inceput se va incerca ajustarea setarilor grafice pentru imbunatatirea elementelor vizuale. Daca sistemul intruneste cerintele hardware minime, cu siguranta veti putea vedea ferestrele aparute, confirmandu-le cu apasarea butonului OK. In continuare va fi afisat ecranul de “Bun venit in Microsoft Windows” unde in prima faza se va apasa butonul Next din dreapta jos. Daca aveti un modem sau o placa de retea, se va verifica conexiunea la Internet, dar puteti sari peste acest pas fara nici o problema. Acelasi lucru este valabil si pentru inregistrarea la Microsoft din urmatorul ecran care poate fi amanata prin bifarea optiunea “No, not at this time”. Daca instalati un Windows care are inclus Service Pack 2, vi se va cere sa setati modalitatea in care isi va face update Windows-ul; este indicat in general sa alegeti prima optiune, pentru a evita problemele de securitate sau ferestrele care va vor aminti ulterior sa activati totusi aceasta optiune. Ultimul pas este introducerea numelui persoanei sau persoanelor care vor utiliza Windows-ul. Completati campurile (de fapt doar primul este obligatoriu), dar cu atentie, deoarece cuvinte precum Administrator sau numele trecut deasupra campului Organizatie in pasul precedent nu mai sunt permise (instalarea nu va continua daca alegeti unul din aceste nume). Va rugam nu uitati sa instalati driverele pentru componentele calculatorului si update-urile de securitate. De asemenea, dupa urmatorul restart, nu uitati sa intrati in BIOS din nou si sa schimbati prioritatea de boot, astfel incat calculatorul sa booteze de pe hard disk si nu de pe unitatea optica.
-
start/run/cmd: ADDUSERS Add or list users to/from a CSV file ARP Address Resolution Protocol ASSOC Change file extension associations ASSOCIAT One step file association AT Schedule a command to run at a later time ATTRIB Change file attributes BROWSTAT Get domain, browser and PDC info CACLS Change file permissions CALL Call one batch program from another CD Change Directory - move to a specific Folder CHANGE Change Terminal Server Session properties CHKDSK Check Disk - check and repair disk problems CHKNTFS Check the NTFS file system CHOICE Accept keyboard input to a batch file CIPHER Encrypt or Decrypt files/folders CleanMgr Automated cleanup of Temp files, recycle bin CLEARMEM Clear memory leaks CLIP Copy STDIN to the Windows clipboard. CLS Clear the screen CLUSTER Windows Clustering CMD Start a new CMD shell COLOR Change colours of the CMD window COMP Compare the contents of two files or sets of files COMPACT Compress files or folders on an NTFS partition COMPRESS Compress individual files on an NTFS partition CON2PRT Connect or disconnect a Printer CONVERT Convert a FAT drive to NTFS. COPY Copy one or more files to another location CSVDE Import or Export Active Directory data DATE Display or set the date Dcomcnfg DCOM Configuration Utility DEFRAG Defragment hard drive DEL Delete one or more files DELPROF Delete NT user profiles DELTREE Delete a folder and all subfolders DevCon Device Manager Command Line Utility DIR Display a list of files and folders DIRUSE Display disk usage DISKCOMP Compare the contents of two floppy disks DISKCOPY Copy the contents of one floppy disk to another DNSSTAT DNS Statistics DOSKEY Edit command line, recall commands, and create macros DSADD Add user (computer, group..) to active directoryDSQUERY List items in active directory DSMOD Modify user (computer, group..) in active directory ECHO Display message on screen ENDLOCAL End localisation of environment changes in a batch file ERASE Delete one or more files EXIT Quit the CMD shell EXPAND Uncompress files EXTRACT Uncompress CAB files FC Compare two files FDISK Disk Format and partition FIND Search for a text string in a file FINDSTR Search for strings in files FOR Conditionally perform a command several times FORFILES Batch process multiple files FORMAT Format a disk FREEDISK Check free disk space (in bytes) FSUTIL File and Volume utilities FTP File Transfer Protocol FTYPE Display or modify file types used in file extension associations GLOBAL Display membership of global groups GOTO Direct a batch program to jump to a labelled line HELP Online Help HFNETCHK Network Security Hotfix Checker IF Conditionally perform a command IFMEMBER Is the current user in an NT Workgroup INSTSRV Install an NT Service IPCONFIG Configure IP KILL Remove a program from memory LABEL Edit a disk label LOCAL Display membership of local groups LOGEVENT Write text to the NT event viewer. LOGOFF Log a user off LOGTIME Log the date and time in a file MAPISEND Send email from the command line MEM Display memory usage MD Create new folders MODE Configure a system device MORE Display output, one screen at a time MOUNTVOL Manage a volume mount point MOVE Move files from one folder to another MOVEUSER Move a user from one domain to another MSG Send a message MSIEXEC Microsoft Windows Installer MSINFO Windows NT diagnostics MSTSC Terminal Server Connection (Remote Desktop Protocol) MUNGE Find and Replace text within file(s) MV Copy in-use files NET Manage network resources NETDOM Domain Manager NETSH Configure network protocols NETSVC Command-line Service Controller NBTSTAT Display networking statistics (NetBIOS over TCP/IP) NETSTAT Display networking statistics (TCP/IP) NOW Display the current Date and Time NSLOOKUP Name server lookup NTBACKUP Backup folders to tape NTRIGHTS Edit user account rights PATH Display or set a search path for executable files PATHPING Trace route plus network latency and packet loss PAUSE Suspend processing of a batch file and display a message PERMS Show permissions for a user PERFMON Performance Monitor PING Test a network connection POPD Restore the previous value of the current directory saved by PUSHD PORTQRY Display the status of ports and services PRINT Print a text file PRNCNFG Display, configure or rename a printer PRNMNGR Add, delete, list printers set the default printer PROMPT Change the command prompt PUSHD Save and then change the current directory QGREP Search file(s) for lines that match a given pattern. RASDIAL Manage RAS connections RASPHONE Manage RAS connections RECOVER Recover a damaged file from a defective disk. REG Read, Set or Delete registry keys and values REGEDIT Import or export registry settings REGSVR32 Register or unregister a DLL REGINI Change Registry Permissions REM Record comments (remarks) in a batch file REN Rename a file or files. REPLACE Replace or update one file with another RD Delete folder(s) RDISK Create a Recovery Disk RMTSHARE Share a folder or a printer ROBOCOPY Robust File and Folder Copy ROUTE Manipulate network routing tables RUNAS Execute a program under a different user account RUNDLL32 Run a DLL command (add/remove print connections) SC Service Control SCHTASKS Create or Edit Scheduled Tasks SCLIST Display NT Services ScriptIt Control GUI applications SET Display, set, or remove environment variables SETLOCAL Begin localisation of environment changes in a batch file SETX Set environment variables permanently SHARE List or edit a file share or print share SHIFT Shift the position of replaceable parameters in a batch file SHORTCUT Create a windows shortcut (.LNK file) SHOWGRPS List the NT Workgroups a user has joined SHOWMBRS List the Users who are members of a Workgroup SHUTDOWN Shutdown the computer SLEEP Wait for x seconds SOON Schedule a command to run in the near future SORT Sort input START Start a separate window to run a specified program or command SU Switch User SUBINACL Edit file and folder Permissions, Ownership and Domain SUBST Associate a path with a drive letter TASKLIST List running applications and services TIME Display or set the system time TIMEOUT Delay processing of a batch file TITLE Set the window title for a CMD.EXE session TOUCH Change file timestamps TRACERT Trace route to a remote host TREE Graphical display of folder structure TYPE Display the contents of a text file USRSTAT List domain usernames and last login VER Display version information VERIFY Verify that files have been saved VOL Display a disk label WHERE Locate and display files in a directory tree WHOAMI Output the current UserName and domain WINDIFF Compare the contents of two files or sets of files WINMSD Windows system diagnostics WINMSDP Windows system diagnostics IIWMIC WMI Commands XCACLS Change file permissions XCOPY Copy files and folders scuze ca este in engleza,o sa imi iau timp si o sa le traduc!
-
Paginare perfecta in php Paginarea este un subiect care a fost discutat si ras-discutat - pot fi gasite zeci de articole si referinte catre cu si catre clase care se ocupa de prelucrarea seturilor de rezultate. Aceste "solutii" sunt restrictive si nu incurajeaza reutilizarea codului.Acest tutorial isi propune sa abstractizeze o clasa care sa se ocupe de managementul rezultatelor, implicit renuntarea la dependinta de conexiuni la baza de date sau cereri SQL. Metoda discutata in acest tutorial ii permite dezvoltatorului / programatorului sa isi creeze propriile sale layout-uri si sa le inregistreze pur si simplu folosind un pattern orientat pe obiecte, cunoscut sub numele de Strategy Design Pattern Ce este Strategy Design Pattern ? Sa consideram urmatoarele: ai in site-ul tau o sumedenie de pagini pentru care rezultatele dintr-un query sunt paginate. Site-ul tau foloseste o functie sau o clasa care se ocupa de obtinerea rezultatelor si afisarea lor in pagina.Toate bune si frumoase, pana in momentul in care te decizi sa schimbi layout-ul link-urilor de paginare, pe una sau mai multe pagini. Pentru a obtine rezultatul dorit va trebui sa modifica metoda careia i-a fost incredintata aceasta responsabilitate. Folosind capabilitatile polimorfice ale PHP-ului, o clasa generala (asa cum este cea pe care o vom construi in acest articol) foloseste un obiect care implementeaza o interfata, si defineste implementari concrete pentru metodele definite in acea interfata.In timp ce o interfata nu poate fi instantiata, ea poate referentia clase care o implementeaza. Deci, cand cream un layout nou, putem lasa strategia sau interfata din clasa ce paginare sa referentieze layout-urile, dinamic, la rulare. Apelarile care produc link-urile paginarii vor produce deci pagina care este randata cu layout-ul referentiat in momentul respectiv. Fisiere necesare Dupa cum am mentionat, acest tutorial nu se ocupa de modul in care rezultatele sunt paginate ci de cum sa folosim o interfata pentru a implementa aceasta logica pastrand flexibilitatea. Ca punct de pornire, este dISPobilia o clasa ce contine functionalitaea pentru a inregistra array-uri primitive sau obiecte - clasa Paginated - si de asemenea o interfata pe care o vor layout-urile trebuie sa o implementeze (PageLayout) si o implementare pentru un layout de pagina (DoubleBarLayout). Tot codul utilizat in acest tutorial este disponibil pentru download. Un simplu exemplu Urmatoarele exemple utilizeaza un array de string-uri. Iata setul de date: * Andrew * Bernard * Castello * Dennis * Ernie * Frank * Greg * Henry * Isac * Jax * Kester * Leonard * Matthew * Nigel * Oscar Iata cum vom folosi clasa Paginated: <?php require_once "Paginated.php"; //create an array of names in alphabetic order $names = array("Andrew", "Bernard", "Castello", "Dennis", "Ernie", Frank", Greg", "Henry", "Isac", "Jax", "Kester", "Leonard", "Matthew", "Nigel", "Oscar"); $pagedResults = new Paginated($names, 10, 1); echo "<ul>"; while($row = $pagedResults->fetchPagedRow()) { echo "<li>{$row}</li>"; } echo "</ul>"; ?> Mai intai includem clasa Paginated si inregistram un array in constructor. Constructorul primeste trei argumente, ultimile doua fiind optionale: * Primul parametru este array-ul de elemente ce vor fi afisate - acestea pot fi tipuri primitive de date sau obiecte mai complexe * Al doilea parametru reprezinta numarul de rezultate pe care vrem sa-l afisam in pagina * Al treilea parametru este numarul paginii curente In exemplul de mai sus, am folosit constanta 1 pentru a specifica "pagina 1", dar cel mai probabil ca vei dori sa trimiti informatia ca parametru din cererea la baza de date (vom detalia mai tarziu). Apeland metoda fetchPagedRow in interiorul buclei, codul nostru itereaza [rin array, tiparind primele 10 nume din lista. Restul ar trebui sa fie incluse in pagina urmatoare, dar, momentan nu exista link catre acea pagina. In timp ce clasa Paginated se va ocupa cu accesul la orice obiect inregistrat de programator, responsabilitatea publicarii rezultatelor ii revine clasei care implementeaza interfata PageLayout. In continuare, vom adauga cod pentru a afisa numarul de pagini, iar apoi vom studia un pic mai in profuzime felxibilitatea acestei clase. Creaza un fisier PHP nou, ce contine urmatorul cod: <?php require_once "Paginated.php"; require_once "DoubleBarLayout.php"; //create an array of names in alphabetic order $names = array("Andrew", "Bernard", "Castello", "Dennis", "Ernie", "Frank", "Greg", "Henry", "Isac", "Jax", "Kester", "Leonard", "Matthew", "Nigel", "Oscar"); $page = $_GET['page']; $pagedResults = new Paginated($names, 10, 1); echo "<ul>"; while($row = $pagedResults->fetchPagedRow()) { echo "<li>{$row}</li>"; } echo "</ul>"; $pagedResults->setLayout(new DoubleBarLayout()); echo $pagedResults->fetchPagedNavigation(); ?> Cand vom rula codul de mai sus, vom vedea o lista a primelor 10 nume, alaturi de informatii aditionale pentru orientare. Scriptul nostru va afisa lista cu nume precum si link-uri pentru navigare intre paginile disponibile (2 in cazul nostru). In codul de mai sus am folosit o clasa DoubleBarLayout care implementeaza interfata PageLayout si contine implementari ale metodei fetchPagedLinks. Aceasta metoda primeste doi parametri: obiectul Pagination si parametri pe care dorim sa ii atasam, eventual, link-ului.Marele avantaj al acestei metode este ca profita de capabilitatile polimorfismului in PHP, permitand strategiei inregistrate sa fie fie apelata. De aceea este important sa stabilim in primul rand strategia, inainte de a apela metoda. Setarea strategiei este prin intermediul unei apelari a metodei de setare setLayout, care primeste ca parametru un obiect care implementeaza interfata PageLayout. La o trecere cu mouse-ul peste link vei observa ca parametrul page si valoarea sa, 2, sunt incluse in URL. Totusi, daca faci clik pe acest link, in stadiul actual, pentru a ajunge in pagina a doua, vei observa ca numele care ar trebui sa apara nu apar. Sa aflam de ce se intampla acest lucru, prin revenirea asupra constructorului Paginated. Construcotrul primeste trei parametri: 1. array-ul cu variabile primitive sau obiecte, ce urmeaza a fi procesate 2. numarul de rezultate afisate 3. numarul paginii Pentru ca metoda fetchPagedNavigation scrie o cerere parametru, putem inlocui valoarea 1, scrisa fortat in cod, cu valoarea prezenta in $_GET['page']. In acest fel, daca userul modifica manual valoarea din URL in ceva invalid, Paginated va trece implicit la valoarea 1. Cum alegi sa validezi ce vine in GET depinde numai de tine. Flexibilitatea in schemele layout-ului paginii Pentru a implementa aceasta tehnica, tot ce ai nevoie este sa creezi o strategie de layout care sa implementeze interfata PageLayout. Apoi, furnizeaza o implementare pentru metoda fetchPagedLinks. Aceasta metoda accepta doi parametri: 1. $parent, care este obiectul Paginated 2. $queryVars, care reprezinta lista de parametri ce urmeaza a fi adaugati la numarul paginii (si este optional) Sunt doua aspecte importante care merita mentionate: 1. Niciodata nu vei apela direct fetchPagedLinks. Toate metodele din Paginated pot fi accesate prin intermediul obiectului parinte. 2. Daca vrei sa folosesti propriile tale layout-uri, trebuie sa schimbi layout-ul resultatului pagina prin apelari ale setLayout. Cu acestea in minte, sa cream propriul nostru layout de pagina. Il intitulam TrailingLayout. Iata codul: <?php class TrailingLayout implements PageLayout { public function fetchPagedLinks($parent, $queryVars) { $currentPage = $parent->getPageNumber(); $totalPages = $parent->fetchNumberPages(); $str = ""; if($totalPages >= 1) { for($i = 1; $i <= $totalPages; $i++) { $str .= " <a href="?page={$i}$queryVars">Page $i</a>"; $str .= $i != $totalPages ? " | " : ""; } } return $str; } } ?> Clasa de mai sus, TrailingLayout, implementeaza interfata PageLayout, si ofera implementare pentru fetchPagedLinks. Adu-ti aminte ca parametrul $parent este o instanta a obiectului Paginated, de aceea putem determina pagina curenta, si totalul paginilor, apeland getPageNumber si respectiv fetchNumberPages. Ai in vedere faptul ca stringul "Page" nu face parte din $queryVars, dar este scris de iteratia care ataseaza numerele paginilor. Sa incercam sa implementam noul layout: <?php require_once "Paginated.php"; //include your customized layout require_once "TrailingLayout.php"; //create an array of names in alphabetic order. A database call could have retrieved these items $names = array("Andrew", "Bernard", "Castello", "Dennis", "Ernie", "Frank", "Greg", "Henry", "Isac", "Jax", "Kester", "Leonard", "Matthew", "Nigel", "Oscar"); $page = $_GET['page']; $pagedResults = new Paginated($names, 10, $page); echo "<ul>"; while($row = $pagedResults->fetchPagedRow()) { echo "<li>{$row}</li>"; } echo "</ul>"; //$pagedResults->setLayout(new TrailingLayout()); echo $pagedResults->fetchPagedNavigation("&firstLetter=l"); ?> Daca rulam scriptul de mai sus ca atare, vom primi urmatorul mesaj de eroare: "Fatal error: Call to a member function fetchPagedLinks() on a non-object" Aceasta eroare apare pentru ca nu am inregistrat strategia pe care dorim sa o folosim inainte de a apela fetchPagedNavigation. Pentru a schimba layout-ul linkurilor de paginatie, transmitem catre metoda setLayout un parametru, care poate fi orice obiect ce implementeaza interfata PageLayout. In codul din exemplul de mai sus, de-comenteaza penultima linie si actualizeaza (refresh) pagina.
-
Unelte de baza Crearea unor pagini dinamice la un nivel performant, precum si punerea lor in functiune, nu poate fi facuta fara anumite programe. Iata cam de ce aveti nevoie: browsere - Pentru testarea paginilor este nevoie de mai multe browsere pentru ca nu toate afiseaza acelasi rezultat si este neprofesional sa obligati vizitatorul sa foloseasca un anumit browser doar pentru ca pagina facuta de voi arata si merge mai bine cu acel browser. Deci va recomand sa instalati 2-3 browsere pe care le puteti gasi in pagina de download. serverul web pentru teste - Daca lucrati cu php-Mysql sub windows, sigur aveti nevoie de triada apache-php-mysql sa fie instalata pe calculatorul local. Pentru asta aveti 2 posibilitati: prima ar fi sa downloadati de pe pagina producatorului fiecare aplicatie in parte si sa o instalati manual, urmand apoi sa faceti configurarea manual (lucru nerecomandat incepatorilor) si a doua varianta sa descarcati un program care instaleaza toate acestea gata configurate pe calculator urmand ca voi doar sa va apucati de lucru. Astfel de aplicatii sunt EasyPHP de exemplu (pentru 95,98 dar merge si pe 2000 si xp) si recomandarea mea WAMP5 care merge doar pe windows NT (adica win 2000, xp, 2003, longhorn etc) dar care are multe alte facilitati in plus fata de EasyPHP pe care cu timpul cand veti invata mai multe despte php si mysql o sa le considerati foarte utile. Editoare web - Asa... Dupa ce ati instalat serverul web si browserele acum va mai trebuie un editor bun pentru a scrie cod si a vizualiza paginile create. Pentru asta recomandarea mea este suita Macromedia (Dreamweaver MX). Puteti descarca Dreamweaver (pentru a scrie cod si a vedea paginile in timp real) de la ei de pe site si tot de la ei va mai recomand Fireworks (daca va ocupati si cu desing-ul paginilor aceasta aplicatie va este utila impreuna cu Adobe Photosop sau Corel Draw) si Flash (daca doriti sa faceti animatie pentru site) Desigur sunt o multime de programe care fac aceleasi lucruri cu ce va recomand eu, dar daca doriti sa deveniti profesionisti recomand sa lucrati cu unelte de profesionisti. Bineinteles ca puteti scrie cod si in Notepad si desena in Paint dar aplicatiile pe care vi le-am recomandat va usureaza extraordinar de mult munca si va semnaleaza rapid erorile din pagini. Dupa ce ati facut rost de tot ce va trebuie ca sa incepeti treaba, va recomand sa cititi in continuare celelalte articole, eventual sa vizitati si pagina de download, sigur gasiti ceva util acolo pentru inceput, apoi pagina de link-uri, unde gasiti resurse gratuite si sa discutam pe forum eventualele probleme pe care le intampinati.
-
Scripturi pentru uploadare de fisiere intr-un folder din site-ul tau se pot face multe. Va voi ararta cum sa faceti un upload simplu, insa scriptul pe care-l voi prezenta in prima faza nu este suficient de sigur pentru a putea fi folosit. Pentru ca un script de upload sa fie functional trebuie sa setam niste restrictii pentru fisierele uploadate. Acestea fiind spuse, sa incepem. Scriptul cuprinde doua fisiere: 1 fisier .html su un fisier .php Fisierul .html il voi denumi upload.html si va cuprinde codul de mai jos: <html> <form enctype="multipart/form-data" action="upload.php" method="POST"> Choose a file to upload: <input type="file" name="uploadedfile"><br> Description: <textarea name="descriere" rows=3 cols=30>descrierea aici</textarea><br> <input type="submit" value="Upload Fisier" /> </form> </html> Am introdus si un textarea cu "Descriere" dar deocamdata nu foloseste la nimic, fiind folositor doar pentru exemplele urmatoare. Dupa cum puteti observa, se face trimitere la fisierul upload.php care va contine urmatorul cod: <?php error_reporting(0); $target_path = "uploads/"; /* folderul in care se vor uploada fisierele */ $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)){ echo "Fisierul ". basename( $_FILES['uploadedfile']['name'])." a fost uploadat"; /* concateneaza textul predefinit cu numele fisierului uploadat */ } else{ echo "Avem probleme la uploadare!"; } ?> Cam asta ar fi codul necesar pentru a urca fisiere. De functionat functioneaza dar problema e ca nu e sigur din cauza lipsei restrictiilor. (se pot uploada tot felul de fisiere: executabile, de dimensiuni foarte mari ). -------------------------------------------------------------------------------- Limitarea tipurilor de fisiere care pot fi uploadate: In exemplul de mai jos am adaugat conditia ca doar fisierele de tip .jpeg si .jpg sa fie acceptate. Variabila $verif a fost setata la 1. Daca nu este indeplinita conditia este schimbata la 0 si uploadarea nu se mai face. <?php error_reporting(0); $target_path = "uploads/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); $verif=1; //va fi folosita pentru validare if (!($_FILES['uploadedfile']['type']=="image/jpeg")) /* daca fisierul nu este de tipul .jpeg */ { echo "Fisierul uploadat nu are extensia corespunzatoare<br>"; $verif=0; } if ($verif==0) { echo "nu am putut sa uploadam fisierul"; } else { if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)){ echo "Fisierul ". basename( $_FILES['uploadedfile']['name'])." a fost uploadat"; /* concateneaza textul predefinit cu numele fisierului uploadat */ } else{ echo "Avem probleme la uploadare!"; } } ?> -------------------------------------------------------------------------------- Se pot pune mai multe conditii de forma IF. De exemplu o conditie pentru dimensiune: if ($_FILES['uploadedfile']['size'] > 200000) { echo "Fisierul e mai mare decat e permis.<br>"; $verif=0; } Aceasta conditie se poate adauga pur si simplu in script si este suficienta pentru a controla dimensiunea fisierului care va fi uploadat. Este suficienta si coditia pentru tipul fisierului dar ar fi totusi mai bine sa avem posibilitatea sa permitem urcarea mai multor tipuri de fisiere. Putem sa facem asta verificand extensia fisierelor. Pentru a afla extensia fisierului pe care il vom uploada si a o putea folosi pentru verificare trebuie sa o extragem cu PHP din numele fisierului. $numefile = $_FILES['uploadedfile']['name']; /* punem numele fisierului intr-o variabila pentru a ne fi mai usor sa-l folosim in actiunea urmatoare */ $ext = substr($numefile, strpos($numefile,'.'), strlen($numefile)-1); /* extrage extensia din numele fisierului */ echo $ext."<br>"; Odata gasita extensia fisierului problema este ca si rezolvata. Pentru o mai buna flexibilitate a scriptului o sa bagam intr-un array extensiile pentru care permitem uplaodarea. $extensii_bune = array('.jpg','.jpeg','.gif','.bmp'); Conditia va fi de urmatoarea: if(!in_array($ext,$extensii_bune)) { echo "Nu suportam extensia ".$ext; $verif=0; }
-
Eu sunt Crikee(cristi)! Nu pot spune ca sunt foarte evoluat in hacking dar lucruri de baza, ma descurc... nu's ca nemessis, kw3ln....
-
As dori si eu sa stiu ce credeti, care este cel mai bun program pentru web design, si nu numai! In general, pentru crearea banerelor etc.... Eu folosesc Adobe Photoshop CS3 , Adobe InDesign si Adobe Flash Professional 8(adik Suita Adobe)! Ce ziceti, care credeti ca e cel mai bun? Eu zic ca unu fara altu, e o nimik toata! Toate's folositoare dar care ziceti ca e cel mai bun? Vreau sa vad si eu parerile celor buni, ca sa stiu ce sa folosesc! Ce ziceti? :?: