Loš registar članova php.

U ovom vodiču vodim vas kroz cijeli proces stvaranja sustava registracije korisnika u kojem korisnici mogu kreirati račun unosom korisničkog imena, e-pošte i lozinke, prijavu i odjavu koristeći PHP i MySQL. Također ću vam pokazati kako neke stranice možete učiniti dostupnima samo prijavljenim korisnicima. Svaki drugi korisnik koji nije prijavljen neće moći pristupiti stranici.

Ako više volite video, možete ga pogledati na mom YouTube kanalu

Prva stvar koju trebamo učiniti je postaviti našu bazu podataka.

Napravite bazu podataka tzv registracija. u registracija baze podataka, dodajte tablicu tzv korisnika. Tablica korisnika zauzet će sljedeća četiri polja.

  • korisničko ime - varchar(100)
  • email - varchar(100)
  • lozinka - varchar(100)

Ovo možete izraditi pomoću MySQL klijenta kao što je PHPMyAdmin.

Ili ga možete izraditi na MySQL odzivniku pomoću sljedeće SQL skripte:

CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(100) NOT NULL) ENGINE =InnoDB DEFAULT CHARSET=latin1;

I to je to s bazom podataka.

Sada stvorite mapu pod nazivom registracija u direktoriju dostupnom našem poslužitelju. tj. stvorite mapu unutar htdocs (ako koristite XAMPP poslužitelj) ili unutar www(ako koristite wampp poslužitelj).

Unutar mape registracija, kreirajte sljedeće datoteke:

Otvorite ove datoteke u uređivaču teksta po vašem izboru. Moj je Sublime Text 3.

Registracija korisnika

Otvorite datoteku register.php i zalijepite sljedeći kod u nju:

register.php:

Registar

već si član? Prijaviti se

Za sada ništa komplicirano, zar ne?

Imajte na umu nekoliko stvari:

Prvo je da su naši oblici akcijski atribut je postavljen na register.php. To znači da kada se klikne gumb za slanje obrasca, svi podaci u obrascu bit će poslani na istu stranicu (register.php). Dio koda koji prima ove podatke obrasca zapisan je u server.php datoteci i zato ga uključujemo na sam vrh register.php datoteke.

Također primijetite da smo uključili errors.php datoteku za prikaz pogrešaka obrasca. Uskoro ćemo doći i do toga.

Kao što možete vidjeti u odjeljku glave, povezujemo se s datotekom style.css. Otvorite datoteku style.css i u nju zalijepite sljedeći CSS:

* ( margina: 0px; padding: 0px; ) body (font-size: 120%; background: #F8F8FF; ) .header ( width: 30%; margin: 50px auto 0px; color: white; background: #5F9EA0; text -align: center; border: 1px solid #B0C4DE; border-bottom: none; border-radius: 10px 10px 0px 0px; padding: 20px; ) form, .content ( width: 30%; margin: 0px auto; padding: 20px ; granica: 1px puna #B0C4DE; pozadina: bijela; radijus granice: 0px 0px 10px 10px; ) .input-group ( margina: 10px 0px 10px 0px; ) .input-group label ( display: block; text-align: left ; margina: 3px; ) .input-group input (visina: 30px; širina: 93%; padding: 5px 10px; font-size: 16px; border-radius: 5px; border: 1px full gray; ) .btn (padding: 10px; veličina fonta: 15px; boja: bijela; pozadina: #5F9EA0; obrub: ništa; radijus obruba: 5px; ) .greška (širina: 92%; margina: 0px auto; padding: 10px; obrub: 1px solid # a94442; boja: #a94442; pozadina: #f2dede; radijus granice: 5px; poravnanje teksta: lijevo; ) .uspjeh (boja: #3c763d; pozadina: #dff0d8; obrub: 1px puni #3c763d; margina-dno: 20px; )

Sada forma izgleda lijepo.

Napišimo sada kod koji će primati informacije dostavljene iz obrasca i pohranjivati ​​(registrirati) informacije u bazu podataka. Kao što smo ranije obećali, to radimo u datoteci server.php.

Otvorite server.php i zalijepite ovaj kod u njega:

poslužitelj.php

Sesije se koriste za praćenje prijavljenih korisnika i stoga uključujemo session_start() na vrhu datoteke.

Komentari u kodu uglavnom objašnjavaju sve, ali ja ću ovdje istaknuti nekoliko stvari.

Naredba if određuje hoće li se kliknuti gumb reg_user na obrascu za registraciju. Upamtite, u našem obrascu gumb za slanje ima atribut imena postavljen na reg_user i to je ono na što se pozivamo u naredbi if.

Svi podaci se dobivaju iz obrasca i provjeravaju da li je korisnik ispravno ispunio obrazac. Lozinke se također uspoređuju kako bi se osiguralo podudaranje.

Ako nema grešaka, korisnik je registriran u korisnika tablicu u bazi podataka s raspršenom lozinkom. Raspršena lozinka je iz sigurnosnih razloga. Osigurava da čak i ako haker uspije dobiti pristup vašoj bazi podataka, neće moći pročitati vašu lozinku.

Ali poruke o pogreškama sada se ne prikazuju jer je naša datoteka errors.php još uvijek prazna. Za prikaz pogrešaka zalijepite ovaj kod u datoteku errors.php.

0) : ?>

Kada je korisnik registriran u bazi podataka, odmah se prijavljuje i preusmjerava na stranicu index.php.

I to je to za registraciju. Pogledajmo prijavu korisnika.

Prijava korisnika

Prijava korisnika još je lakša stvar. Samo otvorite stranicu za prijavu i u nju stavite ovaj kod:

Sustav registracije PHP i MySQL

Prijaviti se

Još niste član? Prijavite se

Sve na ovoj stranici prilično je slično stranici register.php.

Sada se kôd koji prijavljuje korisnika treba napisati u istoj datoteci server.php. Dakle, otvorite datoteku server.php i dodajte ovaj kod na kraj datoteke:

// ... // PRIJAVA KORISNIKA if (isset($_POST["login_user"])) ( $username = mysqli_real_escape_string($db, $_POST["username"]); $lozinka = mysqli_real_escape_string($db, $_POST ["lozinka"]); if (empty($username)) ( array_push($errors, "Potrebno je korisničko ime"); ) if (empty($password)) ( array_push($errors, "Potrebna je lozinka"); ) if (count($errors) == 0) ( $password = md5($password); $query = "SELECT * FROM users WHERE username="$username" AND password="$password""; $results = mysqli_query ($db, $query); if (mysqli_num_rows($results) == 1) ( $_SESSION["username"] = $username; $_SESSION["success"] = "Sada ste prijavljeni"; header(" lokacija: index.php"); )else ( array_push($errors, "Pogrešna kombinacija korisničkog imena/lozinke"); ) ) ) ?>

Opet sve što ovo radi je provjera je li korisnik ispravno ispunio obrazac, provjerava podudaraju li se njegove vjerodajnice sa zapisom iz baze podataka i prijavljuje ih ako jest. Nakon prijave, korisnik se preusmjerava na datoteku index.php s porukom o uspješnosti.

Sada da vidimo što se događa u datoteci index.php. Otvorite je i zalijepite sljedeći kod u nju:

Dom

Početna stranica

Dobrodošli

Odjavite se

Prva naredba if provjerava je li korisnik već prijavljen. Ako nisu prijavljeni, bit će preusmjereni na stranicu za prijavu. Stoga je ova stranica dostupna samo prijavljenim korisnicima. Ako bilo koju stranicu želite učiniti dostupnom samo prijavljenim korisnicima, sve što trebate učiniti je postaviti ovu if naredbu na vrh datoteke.

Druga naredba if provjerava je li korisnik kliknuo gumb za odjavu. Ako da, sustav ih odjavljuje i preusmjerava natrag na stranicu za prijavu.

Sada nastavite, prilagodite ga svojim potrebama i napravite sjajnu stranicu. Ako imate bilo kakvih nedoumica ili bilo čega što trebate razjasniti, ostavite to u komentarima ispod i pomoć će doći.

Uvijek možete podržati dijeljenjem na društvenim medijima ili preporučiti moj blog svojim prijateljima i kolegama.

Stvaranje stranice temeljene na članstvu isprva se čini kao zastrašujući zadatak. Ako ste ikada htjeli ovo učiniti sami, a onda ste jednostavno odustali kada ste počeli razmišljati kako ćete to sastaviti pomoću svojih PHP vještina, onda je ovaj članak za vas. Provest ćemo vas kroz svaki aspekt stvaranja web stranice koja se temelji na članstvu, sa sigurnim područjem za članove zaštićenim lozinkom.

Cijeli proces sastoji se od dva velika dijela: registracije korisnika i autentifikacije korisnika. U prvom dijelu obradit ćemo izradu registracijske forme i pohranu podataka u MySQL bazu podataka. U drugom dijelu izradit ćemo obrazac za prijavu i koristiti ga da korisnicima omogućimo pristup u sigurnom području.

Preuzmite kod

Cijeli izvorni kod za sustav registracije/prijave možete preuzeti na donjoj poveznici:

Konfiguracija i prijenos
Datoteka ReadMe sadrži detaljne upute.

Otvori izvor\include\membersite_config.php datoteku u uređivaču teksta i ažurirajte konfiguraciju. (Prijava u bazu podataka, naziv vaše web stranice, vaša adresa e-pošte itd.).

Prenesite cijeli sadržaj imenika. Testirajte register.php slanjem obrasca.

Obrazac za registraciju

Kako bismo kreirali korisnički račun, moramo prikupiti minimalnu količinu informacija od korisnika. Trebamo njegovo ime, adresu e-pošte i željeno korisničko ime i lozinku. Naravno, možemo zatražiti više informacija u ovom trenutku, ali dugačak obrazac je uvijek odbojnost. Dakle, ograničimo se samo na ta polja.

Ovdje je obrazac za registraciju:

Registar

Dakle, imamo tekstualna polja za ime, email i lozinku. Imajte na umu da koristimo za bolju upotrebljivost.

Provjera valjanosti obrasca

U ovom trenutku dobra je ideja postaviti kod za provjeru valjanosti obrasca kako bismo bili sigurni da imamo sve podatke potrebne za kreiranje korisničkog računa. Moramo provjeriti jesu li ime i adresa e-pošte i lozinka popunjeni i je li adresa e-pošte u ispravnom formatu.

Rukovanje podnošenjem obrasca

Sada moramo obraditi podatke obrasca koji su poslani.

Evo slijeda (pogledajte datoteku fg_membersite.php u preuzetom izvoru):

funkcija RegisterUser() ( if(!isset($_POST["submitted"])) ( return false; ) $formvars = array(); if(!$this->ValidateRegistrationSubmission()) ( return false; ) $this- >CollectRegistrationSubmission($formvars); if(!$this->SaveToDatabase($formvars)) ( return false; ) if(!$this->SendUserConfirmationEmail($formvars)) ( return false; ) $this->SendAdminIntimationEmail($ formvars); vrati istinito; )

Prvo potvrđujemo predaju obrasca. Zatim prikupljamo i ‘saniramo’ podatke o slanju obrazaca (uvijek to učinite prije slanja e-pošte, spremanja u bazu podataka itd.). Podneseni obrazac zatim se sprema u tablicu baze podataka. Šaljemo e-poruku korisniku tražeći potvrdu. Zatim obavještavamo administratora da je korisnik registriran.

Spremanje podataka u bazu podataka

Sada kada smo prikupili sve podatke, moramo ih pohraniti u bazu podataka.
Evo kako spremamo poslani obrazac u bazu podataka.

funkcija SaveToDatabase(&$formvars) ( if(!$this->DBLogin()) ( $this->HandleError("Prijava u bazu podataka nije uspjela!"); return false; ) if(!$this->Ensuretable()) ( return false; ) if(!$this->IsFieldUnique($formvars,"email")) ( $this->HandleError("Ova e-pošta je već registrirana"); return false; ) if(!$this->IsFieldUnique( $formvars,"username")) ( $this->HandleError("Ovo korisničko ime je već korišteno. Pokušajte s drugim korisničkim imenom"); return false; ) if(!$this->InsertIntoDB($formvars)) ( $this- >HandleError("Umetanje u bazu podataka nije uspjelo!"); return false; ) return true; )

Imajte na umu da ste konfigurirali podatke za prijavu u bazu podataka u datoteci membersite_config.php. U većini slučajeva možete koristiti “localhost” za host baze podataka.
Nakon prijave provjeravamo da tablica postoji. (Ako ne, skripta će kreirati traženu tablicu).
Zatim se uvjeravamo da su korisničko ime i email jedinstveni. Ako nije jedinstven, korisniku vraćamo grešku.

Struktura tablice baze podataka

Ovo je struktura tablice. Funkcija CreateTable() u datoteci fg_membersite.php stvara tablicu. Evo koda:

funkcija CreateTable() ( $qry = "Stvori tablicu $this->tablename (". "id_user INT NOT NULL AUTO_INCREMENT," "ime VARCHAR(128) NOT NULL," "e-pošta VARCHAR(64) NOT NULL," " "broj_telefona VARCHAR(16) NOT NULL ," "korisničko ime VARCHAR(16) NOT NULL ," "lozinka VARCHAR(32) NOT NULL ," "potvrdni kod VARCHAR(32) ," "PRIMARNI KLJUČ (id_user)." ")"; if( !mysql_query($qry,$this->connection)) ( $this->HandleDBError("Greška pri stvaranju tablice \nupit je bio\n $qry"); return false; ) return true; )

Polje id_user sadržavat će jedinstveni ID korisnika, a također je primarni ključ tablice. Imajte na umu da dopuštamo 32 znaka za polje za lozinku. To činimo jer ćemo, kao dodatnu sigurnosnu mjeru, pohraniti lozinku u bazu podataka šifriranu pomoću MD5. Imajte na umu da budući da je MD5 jednosmjerna metoda šifriranja, nećemo moći oporaviti lozinku u slučaju da je korisnik zaboravi.

Umetanje registracije u tablicu

Ovdje je kod koji koristimo za umetanje podataka u bazu podataka. Svi naši podaci bit će dostupni u nizu $formvars.

funkcija InsertIntoDB(&$formvars) ( $confirmcode = $this->MakeConfirmationMd5($formvars["email"]); $insert_query = "umetni u ".$this->tablename."(ime, e-pošta, korisničko ime, lozinka, confirmcode) values ​​​​("" . $this->SanitizeForSQL($formvars["name"]) . "", "" . $this->SanitizeForSQL($formvars["email"]) . "", "" . $ this->SanitizeForSQL($formvars["username"]) . "", "" . md5($formvars["password"]) . "", "" . $confirmcode . "")"; if(! mysql_query( $insert_query ,$this->connection)) ( $this->HandleDBError("Pogreška pri umetanju podataka u tablicu\nquery:$insert_query"); return false; ) return true; )

Primijetite da koristimo PHP funkciju md5() za šifriranje lozinke prije umetanja u bazu podataka.
Također, iz e-mail adrese korisnika izrađujemo jedinstveni kod za potvrdu.

Slanje e-pošte

Sada kada imamo registraciju u našoj bazi podataka, korisniku ćemo poslati e-poruku potvrde. Korisnik mora kliknuti poveznicu u potvrdnoj e-poruci kako bi dovršio postupak registracije.

funkcija SendUserConfirmationEmail(&$formvars) ( $mailer = new PHPMailer(); $mailer->CharSet = "utf-8"; $mailer->AddAddress($formvars["email"],$formvars["name"]) ; $mailer->Subject = "Vaša registracija na ".$this->sitename; $mailer->From = $this->GetFromAddress(); $confirmcode = urlencode($this->MakeConfirmationMd5($formvars["email" ])); $confirm_url = $this->GetAbsoluteURLFolder()."/confirmreg.php?code=".$confirmcode; $mailer->Body ="Hello ".$formvars["name"]."\r\ n\r\n". "Hvala na vašoj registraciji na ".$this->sitename."\r\n". "Molimo kliknite donju poveznicu da potvrdite svoju registraciju.\r\n." "$confirm_url\r \n". "\r\n". "Pozdrav,\r\n". "Webmaster\r\n". $this->sitename; if(!$mailer->Send()) ( $this-> HandleError("Neuspješno slanje e-pošte potvrde registracije."); return false; ) return true; )

nadopune

9. siječnja 2012
Dodane su značajke poništavanja lozinke/promjene lozinke
Kod se sada dijeli na GitHubu.

Dobrodošao natragPuno ime korisnika(); ?>!

Licenca


Kod se dijeli pod licencom LGPL. Možete ga slobodno koristiti na komercijalnim ili nekomercijalnim web stranicama.

Nema povezanih postova.

Komentari na ovaj unos su zatvoreni.

U posljednjih nekoliko godina, web hosting je doživio dramatičnu promjenu. Usluge web hostinga promijenile su način rada web stranica. Postoji nekoliko vrsta usluga, ali danas ćemo govoriti o opcijama koje su dostupne prodavačima usluga hostinga. To su Linux Reseller Hosting i Windows Reseller Hosting. Prije nego što shvatimo temeljne razlike između to dvoje, saznajmo što je reseller hosting.

Reseller Hosting

Jednostavno rečeno, hosting prodavača je oblik web hostinga gdje vlasnik računa može koristiti svoj namjenski prostor na tvrdom disku i dodijeljenu propusnost u svrhu preprodaje web stranicama trećih strana. Ponekad preprodavač može uzeti namjenski poslužitelj od hosting tvrtke (Linux ili Windows) u najam i dalje ga dati trećim stranama.

Većina korisnika web stranice koristi ili Linux ili Windows. Ovo ima veze s radnim vremenom. Obje platforme osiguravaju da vaša web stranica radi 99% vremena.

1. Prilagodba

Jedna od glavnih razlika između Linux Reseller Hostingplana i onog koji nudi Windows jest prilagodba. Iako možete eksperimentirati s oba igrača na nekoliko načina, Linux je mnogo prilagodljiviji od Windowsa. Potonji ima više značajki od svog pandana i zato mnogi programeri i administratori smatraju Linux vrlo prilagođenim korisnicima.

2. Prijave

Različite usluge hostinga prodavača imaju različite primjene. I Linux i Windows imaju vlastiti niz aplikacija, ali potonji ima prednost kada su u pitanju brojevi i svestranost. To ima veze s open source prirodom Linuxa. Svaki programer može učitati svoju aplikaciju na Linux platformu i to je čini atraktivnim pružateljem usluga hostinga za milijune vlasnika web stranica.

Međutim, imajte na umu da ako koristite Linux za web hosting, ali u isto vrijeme koristite Windows OS, neke aplikacije možda jednostavno neće raditi.

3. Stabilnost

Iako su obje platforme stabilne, Linux Reseller Hosting je stabilniji od te dvije. Budući da je platforma otvorenog koda, može raditi u nekoliko okruženja. Ova se platforma može povremeno mijenjati i razvijati.

4. .NET kompatibilnost

Nije da je Linux superioran u odnosu na Windows na svaki mogući način. Kada se radi o .NET kompatibilnosti, Windows je u središtu pozornosti. Web aplikacije mogu se jednostavno razviti na Windows hosting platformi.

5. Troškovne prednosti

Obje hosting platforme su pristupačne. Ali ako osjećate manjak novca, trebali biste se odlučiti za Linux. Besplatan je i zato se za njega odlučuje toliko mnogo programera i administratora sustava diljem svijeta.

6. Jednostavnost postavljanja

Windows je lakše postaviti nego njegov pandan. Sve što je rečeno i učinjeno, Windows je i dalje zadržao svoju lakoću korištenja svih ovih godina.

7.Sigurnost

Odlučite se za hosting prodavača Linuxa jer je sigurniji od Windowsa. Ovo posebno vrijedi za ljude koji vode svoje e-trgovine.

Zaključak

Birajući između to dvojeovisit će o vašim zahtjevima i fleksibilnosti troškova. Obje usluge hostinga imaju jedinstvene prednosti. Dok je Windows lako postaviti, Linux je isplativ, siguran i svestraniji.



U ožujku ove godine imao sam vrlo loše iskustvo s medijskom tvrtkom koja mi je odbila platiti i odgovoriti na moju e-poštu. Još uvijek mi duguju tisuće dolara i osjećaj bijesa koji imam prožima me svaki dan. Ispostavilo se da nisam sam i da su stotine drugih vlasnika web stranica u istom čamcu. To je na neki način ravnopravno s digitalnim oglašavanjem.

Iskreno govoreći, već dugo imam ovaj blog i skakao sam po različitim oglasnim mrežama u prošlosti. Nakon što sam uklonio oglasne jedinice te tvrtke koja me ukočila, vratio sam se na početak. Također bih trebao napomenuti da Nikada mi se nije baš sviđao Googleov AdSense proizvod, samo zato što se čini kao "dno bačve" prikaznih oglasa. Ne iz perspektive kvalitete, već iz perspektive prihoda.

Koliko sam shvatio, želite Google oglašavanje na svojoj web stranici, ali također želite da to rade i druge velike tvrtke i agencije. Na taj način povećavate potražnju i prihode.

Nakon mog negativnog iskustva, moram preporučiti tvrtku Newor Media. I ako sam iskren, u početku nisam bio prodan uglavnom zato što nisam mogao pronaći mnogo informacija o njima. Pronašao sam nekoliko pristojnih recenzija na drugim stranicama, a nakon razgovora s nekim tamo, odlučio sam pokušati .Reći ću da su SUPER korisni. Svaka mreža s kojom sam ikada radio bila je prilično kratka sa mnom u smislu odgovora i pokretanja. Odgovorili su na svako pitanje i to je bio stvarno ohrabrujući proces.

Oglase prikazujem nekoliko mjeseci i zarada je otprilike u skladu s onom koju sam zarađivao s drugom tvrtkom. Tako da ne mogu reći jesu li toliko bolji od drugih, ali gdje se ističu je točka koju stvarno želim istaknuti. Komunikacija s njima razlikuje se od bilo koje druge mreže na kojoj sam ikada radio. Evo slučaja u kojem su doista drugačiji:

Gurnuli su mi prvu uplatu na vrijeme s Paypalom. Ali budući da nisam u SAD-u (a mislim da se to događa svima), dobio sam naknadu od Paypala. Poslao sam svom predstavniku e-poruku o tome, pitajući ga postoji li način da to izbjegnem u budućnosti.

Rekli su da ne mogu izbjeći naknadu, ali da će NAKNADITI SVE NAKNADE... UKLJUČUJUĆI ZADNJI UPLAT! I ne samo to, već je isplata naknade primljena u roku od 10 MINUTA! Kad ste ikad mogli podnijeti takav zahtjev, a da ga niste proslijedili u "odjel financija" da vam nikada ne odgovore.

Zaključak je da volim ovu tvrtku. Možda bih mogao zaraditi više negdje drugdje, nisam baš siguran, ali oni imaju izdavača za cijeli život sa mnom. Nisam velika stranica i ne stvaram tonu prihoda, ali osjećam se kao vrlo važan klijent kada razgovaram s njima. To je istinski dašak svježeg zraka u industriji koja je puna prijevara i neodgovaranja.

Mikroračunala koja je stvorila Zaklada Raspberry Pi 2012. bila su iznimno uspješna u poticanju razina kreativnosti kod male djece, a ova tvrtka sa sjedištem u Velikoj Britaniji počela je nuditi startup programe za učenje kodiranja kao što je pi-top i Kano. Sada postoji novi startup koji koristi Pi elektroniku, a uređaj je poznat kao Pip, ručna konzola koja nudi zaslon osjetljiv na dodir, više priključaka, kontrolne tipke i zvučnike. Ideja iza uređaja je uključiti mlađe pojedince s uređajem za igranje koji je retro, ali će također ponuditi iskustvo učenja koda putem web platforme.

Nevjerojatna softverska platforma koja se nudi uz Pip ponudit će priliku za početak kodiranja u Pythonu, HTML/CSS-u, JavaScriptu, Lua i PHP-u. Uređaj nudi poduke korak po korak kako bi djeca počela s kodiranjem i omogućuje im čak da natjeraju LED svjetiljke. Iako je Pip još uvijek prototip, sigurno će biti veliki hit u industriji i uključit će djecu koja imaju interes za kodiranje te će im pružiti obrazovanje i resurse potrebne za početak kodiranja u ranoj dobi.

Budućnost kodiranja

Kodiranje ima sjajnu budućnost, pa čak i ako djeca neće koristiti kodiranje kao karijeru, mogu imati koristi od učenja kodiranja uz ovaj novi uređaj koji to čini lakšim nego ikad. Uz Pip, čak i najmlađi entuzijasti kodiranja naučit će različite jezike i bit će na dobrom putu za stvaranje vlastitih kodova, vlastitih igara, vlastitih aplikacija i više. To je budućnost elektroničke ere i Pip omogućuje svladavanje osnovnih sastavnih dijelova kodiranja.
Informatika je postala važan dio obrazovanja i s uređajima kao što je novi Pip, djeca mogu početi poboljšavati svoje obrazovanje kod kuće dok se zabavljaju. Kodiranje nadilazi jednostavno stvaranje web stranica ili softvera. Može se koristiti za povećanje sigurnosti u gradu, kao pomoć u istraživanju u području medicine i još mnogo toga. Budući da sada živimo u svijetu kojim dominira softver, kodiranje je budućnost i važno je da sva djeca imaju barem osnovna znanja o tome kako to funkcionira, čak i ako nikada ne iskoriste te vještine kao karijeru. Što se tiče budućnosti, kodiranje će biti kritična komponenta svakodnevnog života. Bit će to svjetski jezik i nepoznavanje računala ili načina na koji rade može predstavljati izazove koje je jednako teško prevladati kao i nepismenost.
Kodiranje će također donijeti velike promjene u svijetu igara na sreću, posebno kada je u pitanju online igranje, uključujući pristup online kockarnicama. Da vidite koliko je kodiranje već unaprijedilo svijet igara, pogledajte nekoliko najbolje ocijenjenih casino stranica koje se oslanjaju na kodiranje. Zavirite na brzinu da provjerite i vidite kako kodiranje može predstaviti realna okruženja na mreži.

Kako Pip zaokuplja djecu

Kada je u pitanju prilika za učenje kodiranja, djeca imaju mnogo opcija. Postoje brojni uređaji i hardverski alati koji se mogu kupiti, ali Pip ima drugačiji pristup sa svojim uređajem. Prenosivost uređaja i zaslona osjetljivog na dodir daje prednost drugim uređajima za kodiranje koji su na tržištu. Pip će biti potpuno kompatibilan s elektroničkim komponentama uz Raspberry Pi HAT sustav. Uređaj koristi standardne jezike i ima osnovne alate te je savršen uređaj za svakog kodera početnika. Cilj je ukloniti sve prepreke između ideje i kreacije i učiniti alate odmah dostupnima za korištenje. Jedna od drugih velikih prednosti Pipa je to što koristi SD karticu, pa se može koristiti i kao stolno računalo kada je spojen na monitor i miš.
Pip uređaj bi pomogao djeci i zainteresiranim početnicima kodiranja s entuzijazmom u učenju i vježbanju kodiranja. Nudeći kombinaciju izvršavanja zadataka i petljanja za rješavanje problema, uređaj će zasigurno zaokupiti mlađu generaciju. Uređaj zatim omogućuje tim mladim programerima da prijeđu na naprednije razine kodiranja u različitim jezicima kao što su JavaScript i HTML/CSS. Budući da uređaj kopira igraću konzolu, odmah će zaokupiti pozornost djece i potaknuti ih da uče o kodiranju u ranoj dobi. Također dolazi s nekim unaprijed učitanim igrama za zadržavanje pozornosti, kao što su Pac-Man i Minecraft.

Inovacije koje dolaze

Buduće inovacije uvelike ovise o djetetovoj trenutnoj sposobnosti kodiranja i njihovom cjelokupnom razumijevanju procesa. Kako djeca u ranoj dobi uče kodirati pomoću uređaja kao što je novi Pip, steći će vještine i znanje za stvaranje nevjerojatnih stvari u budućnosti. To bi moglo biti uvođenje novih igara ili aplikacija ili čak ideja koje mogu oživjeti kako bi pomogle u medicinskim istraživanjima i tretmanima. Postoje beskrajne mogućnosti. Budući da će našom budućnošću upravljati softver i računala, najbolji je način da počnete mladi, zbog čega je novi Pip usmjeren na mlade. Nudeći konzolni uređaj koji može igrati igrice dok ih podučava vještinama kodiranja, mladi članovi društva na dobrom su putu da budu kreatori softvera u budućnosti koji će promijeniti sve naše živote. Ovo je tek početak, ali to je nešto što milijuni djece diljem svijeta počinju učiti i svladavati. Upotrebom uređaja kao što je Pip, pokrivene su osnove kodiranja i djeca će brzo naučiti različite jezike kodiranja koji mogu voditi nevjerojatnim putevima kada uđu u odraslu dob. Zadnje ažuriranje: utorak, 19. rujna 2006

registar_sesije

(PHP 4, PHP 5)session_register -- Registrirajte jednu ili više globalnih varijabli s trenutnom sesijom

Opis

bool registar_sesije(mješovito ime [, mješovito ...])
session_register() prihvaća varijabilni broj argumenata, od kojih svaki može biti ili niz koji sadrži naziv varijable ili niz koji se sastoji od imena varijabli ili drugih nizova. Za svako ime, session_register() registrira globalnu varijablu s tim imenom u trenutnoj sesiji.
OprezAko želite da vaša skripta radi bez obzira na register_globals, trebate umjesto toga koristiti polje $_SESSION jer se unosi $_SESSION automatski registriraju. Ako vaša skripta koristi session_register(), neće raditi u okruženjima u kojima je PHP direktiva register_globals onemogućena.
register_globals: važna napomena: Od PHP 4.2.0, zadana vrijednost za PHP direktivu register_globals je isključeno, a potpuno je uklonjen od PHP 6.0.0. PHP zajednica potiče sve da se ne oslanjaju na ovu direktivu, već umjesto toga koriste druga sredstva, kao što su superglobali.
OprezOvo registrira a globalno varijabla. Ako želite registrirati varijablu sesije unutar funkcije, morate biti sigurni da je globalna pomoću globalno ključnu riječ ili niz $GLOBALS, ili upotrijebite nizove posebnih sesija kao što je navedeno u nastavku.
Ova funkcija vraća TRUE kada su sve varijable uspješno registrirane u sesiji. Ako session_start() nije pozvan prije poziva ove funkcije, implicitni poziv na session_start() bez parametara će se napraviti. $_SESSION ne oponaša ovo ponašanje i zahtijeva session_start() prije upotrebe. Također možete stvoriti varijablu sesije jednostavnim postavljanjem odgovarajućeg člana $_SESSION ili $HTTP_SESSION_VARS (PHP
Napomena: Trenutno je nemoguće registrirati varijable resursa u sesiji. Na primjer, ne možete stvoriti vezu s bazom podataka i pohraniti ID veze kao varijablu sesije i očekivati ​​da će veza i dalje biti važeća sljedeći put kada se sesija obnovi. PHP funkcije koje vraćaju resurs identificiraju se tako što u svojoj definiciji funkcije imaju vrstu povrata resursa. Popis funkcija koje vraćaju resurse dostupan je u

Vodič za početnike! Bez obzira gdje idete na Internetu, postoji glavna stvar koju možete pronaći gotovo posvuda - registracija korisnika. Bilo da se vaši korisnici trebaju registrirati zbog sigurnosti ili samo zbog dodane značajke, nema razloga da to ne učinite uz ovaj jednostavan vodič U ovom vodiču proći ćemo kroz osnove upravljanja korisnicima, završavajući s jednostavnim članskim područjem koje možete implementirati na svoju web stranicu.

Ako trebate bilo kakvu dodatnu pomoć ili želite prečac, provjerite ponudu pružatelja PHP usluga na Envato Studiju. Ovi iskusni programeri mogu vam pomoći u bilo čemu, od brzog ispravljanja bugova do razvoja cijele aplikacije od nule. Stoga samo pregledajte pružatelje, pročitajte recenzije i ocjene i odaberite pravog za sebe.

Uvod

U ovom vodiču proći ćemo kroz svaki korak izrade sustava za upravljanje korisnicima, zajedno sa sustavom za razmjenu privatnih poruka među korisnicima. To ćemo učiniti pomoću PHP-a, s MySQL bazom podataka za pohranjivanje svih korisničkih informacija. Ovaj vodič je namijenjen apsolutnim početnicima u PHP-u, tako da nije potrebno nikakvo predznanje - zapravo, može vam dosaditi ako ste iskusni PHP korisnik!

Ovaj vodič namijenjen je osnovnom uvodu u sesije i korištenje baza podataka u PHP-u. Iako vam se krajnji rezultat ovog vodiča možda neće odmah učiniti korisnim, vještine koje ste stekli ovim vodičem omogućit će vam da nastavite s izradom vlastitog sustava članstva; u skladu s vašim potrebama.

Prije nego započnete s ovim vodičem, provjerite imate li pri ruci sljedeće informacije:

  • Ime hosta baze podataka- ovo je poslužitelj na kojem se nalazi vaša baza podataka, u većini situacija to će jednostavno biti "localhost".
  • Naziv baze podataka, Korisničko ime baze podataka, Lozinka baze podataka- prije nego započnete s ovim vodičem trebali biste izraditi MySQL bazu podataka ako imate mogućnosti ili imate pri ruci informacije za povezivanje s postojećom bazom podataka. Ove informacije su potrebne tijekom čitavog vodiča.

Ako nemate te podatke, vaš pružatelj usluga hostinga trebao bi vam ih moći dati.

Sad kad smo riješili formalnosti, započnimo s vodičem!

Korak 1 - Početna konfiguracija

Postavljanje baze podataka

Kao što je navedeno u Uvodu, potrebna vam je baza podataka da biste nastavili nakon ove točke u vodiču. Za početak ćemo napraviti tablicu u ovoj bazi podataka za pohranu naših korisničkih podataka.

Tablica koja nam treba pohranit će naše korisničke podatke; za naše potrebe koristit ćemo jednostavnu tablicu, ali bilo bi lako pohraniti više informacija u dodatne stupce ako je to ono što trebate. U našem sustavu potrebna su nam sljedeća četiri stupca:

  • korisnički ID (Glavni ključ)
  • Korisničko ime
  • Lozinka
  • Email adresa

U smislu baze podataka, a Glavni ključ je polje koje jedinstveno identificira red. U ovom slučaju, UserID će biti naš primarni ključ. Kako želimo da se ovo povećava svaki put kada se korisnik registrira, koristit ćemo posebnu MySQL opciju - auto_increment.

SQL upit za izradu naše tablice je uključen u nastavku i obično se pokreće u kartici "SQL" u phpMyAdmin-u.

CREATE TABLE `users` (`UserID` INT(25) NOT NULL AUTO_INCREMENT PRIMARY KEY , `Username` VARCHAR(65) NOT NULL , `Password` VARCHAR(32) NOT NULL , `EmailAddress` VARCHAR(255) NOT NULL );

Stvaranje osnovne datoteke

Kako bismo pojednostavili izradu našeg projekta, napravit ćemo osnovnu datoteku koju možemo uključiti u svaku od datoteka koje izradimo. Ova će datoteka sadržavati informacije o vezi s bazom podataka, zajedno s određenim konfiguracijskim varijablama koje će nam pomoći na tom putu.

Započnite stvaranjem nove datoteke: base.php i u nju unesite sljedeći kod:

Pogledajmo nekoliko tih redaka, možemo li? Ovdje postoji nekoliko funkcija koje smo koristili, a koje još nismo objasnili, pa ih pogledajmo brzo i shvatimo njihov smisao -- ako već razumijete osnove PHP-a, možda ćete htjeti preskočiti ovo objašnjenje.

Početak_sesije();

Ova funkcija pokreće sesiju za novog korisnika, a kasnije u ovom vodiču pohranit ćemo informacije u ovoj sesiji kako bismo mogli prepoznati korisnike koji su se već prijavili. Ako je sesija već stvorena, ova funkcija će to prepoznati i prenijeti tu sesiju na sljedeću stranicu.

Mysql_connect($dbhost, $dbuser, $dbpass) ili die("MySQL pogreška: " . mysql_error()); mysql_select_db($dbname) ili die("MySQL pogreška: " . mysql_error());

Svaka od ovih funkcija obavlja zaseban, ali povezan zadatak. Funkcija mysql_connect povezuje našu skriptu s poslužiteljem baze podataka pomoću informacija koje smo joj dali gore, a funkcija mysql_select_db zatim odabire koju će bazu podataka koristiti sa skriptom. Ako bilo koja od funkcija ne uspije dovršiti, funkcija die će se automatski uključiti i zaustaviti obradu skripte - ostavljajući svim korisnicima poruku da je došlo do MySQL greške.

Korak 2 - Povratak na sučelje

Što prvo trebamo učiniti?

Najvažnija stavka na našoj stranici je prvi red PHP-a; ovaj redak će uključivati ​​datoteku koju smo stvorili iznad (base.php), i u biti će nam omogućiti pristup bilo čemu iz te datoteke u našoj trenutnoj datoteci. To ćemo učiniti pomoću sljedećeg retka PHP koda. Napravite datoteku pod nazivom index.php i postavite ovaj kod na vrh.

Pokrenite HTML stranicu

Prva stvar koju ćemo učiniti za naše sučelje je stvoriti stranicu na kojoj korisnici mogu unijeti svoje podatke za prijavu ili, ako su već prijavljeni, stranicu na kojoj mogu odabrati što žele raditi. U ovom vodiču pretpostavljam da korisnici imaju osnovno znanje o tome kako HTML/CSS radi i stoga neću detaljno objašnjavati ovaj kod; trenutno ti elementi neće biti stilizirani, ali to ćemo moći promijeniti kasnije kada izradimo našu CSS tablicu stilova.

Koristeći datoteku koju smo upravo izradili (index.php), unesite sljedeći HTML kod ispod linije PHP-a koji smo već izradili.

Što ćemo im pokazati?

Prije nego što objavimo ostatak stranice, moramo si postaviti nekoliko pitanja:

  1. Je li korisnik već prijavljen?
  • Da- moramo im pokazati stranicu s opcijama koje mogu izabrati.
  • Ne
  • Je li korisnik već poslao svoje podatke za prijavu?
    • Da- moramo provjeriti njihove podatke, i ako su točni, prijavit ćemo ih na stranicu.
    • Ne- nastavljamo na sljedeće pitanje.
  • Ako je odgovoreno na oba navedena pitanja Ne, sada možemo pretpostaviti da moramo prikazati obrazac za prijavu korisniku.
  • Ova pitanja su zapravo ista pitanja koja ćemo implementirati u naš PHP kod. To ćemo učiniti u obliku if naredbi. Bez unošenja bilo čega u vaše nove datoteke, pogledajmo logiku koju ćemo prvo koristiti.

    Izgleda zbunjujuće, zar ne? Podijelimo ga na manje dijelove i pregledajmo ih jedan po jedan.

    If(!empty($_SESSION["LoggedIn"]) && !empty($_SESSION["Username"])) ( // neka korisnik pristupi glavnoj stranici )

    Kada se korisnik prijavi na našu web stranicu, mi ćemo pohraniti njegove podatke u sesiju - u bilo kojem trenutku nakon toga možemo pristupiti tim informacijama u posebnom globalnom PHP polju - $_SESSION. Koristimo funkciju empty da provjerimo je li varijabla prazna, s operatorom ! ispred njega. Stoga kažemo:

    Ako varijabla $_SESSION["LoggedIn"] nije prazna i $_SESSION["Username"] nije prazna, izvršite ovaj dio koda.

    Sljedeći red radi na isti način, samo ovaj put koristeći globalni niz $_POST. Ovaj niz sadrži sve podatke koji su poslani iz obrasca za prijavu koji ćemo izraditi kasnije u ovom vodiču. Posljednji redak će se izvršiti samo ako nije ispunjen nijedan od prethodnih izraza; u ovom slučaju prikazat ćemo korisniku obrazac za prijavu.

    Dakle, sada kada razumijemo logiku, stavimo neki sadržaj između tih odjeljaka. U svoju datoteku index.php unesite sljedeće ispod onoga što već imate.

    Člansko područje

    a vaša adresa e-pošte je .

    Uspjeh"; jeka "

    Sada vas preusmjeravamo na područje za članove.

    "; jeka " ";) else ( echo "

    Greška

    "; jeka "

    Žao nam je, vaš račun nije pronađen. Molim kliknite ovdje za ponovni pokušaj.

    "; ) ) else ( ?>

    Prijava korisnika

    Hvala na posjeti! Prijavite se ispod ili kliknite ovdje za registraciju.



    Nadajmo se da vas prvi i zadnji blok koda neće previše zbuniti. Ono u čemu se sada stvarno trebamo zaglaviti je ono zbog čega ste svi došli na ovaj vodič - PHP kod. Sada idemo kroz drugi odjeljak redak po redak, a ja ću objasniti za što je svaki dio koda ovdje namijenjen.

    $korisničko ime = mysql_real_escape_string($_POST["korisničko ime"]); $lozinka = md5(mysql_real_escape_string($_POST["lozinka"]));

    Postoje dvije funkcije koje je potrebno objasniti za ovo. Prvo, mysql_real_escape_string - vrlo korisna funkcija za čišćenje unosa baze podataka. To nije sigurna mjera, ali ovo će spriječiti većinu zlonamjernih hakera uklanjanjem neželjenih dijelova svega što je stavljeno u naš obrazac za prijavu. Drugo, md5. Bilo bi nemoguće ići u detalje ovdje, ali ova funkcija jednostavno šifrira sve što joj se proslijedi - u ovom slučaju korisničku lozinku - kako bi spriječila znatiželjne oči da to pročitaju.

    $checklogin = mysql_query("SELECT * FROM users WHERE Korisničko ime = "".$korisničko ime."" I Lozinka = "".$lozinka."""); if(mysql_num_rows($checklogin) == 1) ( $row = mysql_fetch_array($checklogin); $email = $row["EmailAddress"]; $_SESSION["Username"] = $username; $_SESSION["EmailAddress"] = $e-pošta; $_SESSION["LoggedIn"] = 1;

    Ovdje imamo srž našeg koda za prijavu; prvo, pokrećemo upit u našoj bazi podataka. U ovom upitu tražimo sve što se odnosi na člana čije korisničko ime i lozinka odgovaraju vrijednostima naših $username i $password koje je korisnik naveo. U sljedećem retku imamo if naredbu, u kojoj provjeravamo koliko smo rezultata dobili - ako nema rezultata, ovaj odjeljak neće biti obrađen. Ali ako postoji rezultat, znamo da korisnik postoji, pa ćemo ga prijaviti.

    Sljedeća dva retka su za dobivanje korisničke adrese e-pošte. Već imamo te informacije iz upita koji smo već pokrenuli, tako da možemo lako pristupiti tim informacijama. Prvo, dobivamo niz podataka koji su dohvaćeni iz baze podataka - u ovom slučaju koristimo PHP funkciju mysql_fetch_array. Tada sam dodijelio vrijednost polja EmailAddress varijabli koju ćemo kasnije koristiti.

    Sada smo zakazali sesiju. Pohranjujemo korisnikovo korisničko ime i adresu e-pošte u sesiji, zajedno s posebnom vrijednošću za nas da znamo da je bio prijavljen pomoću ovog obrasca. Nakon što je sve navedeno i učinjeno, oni će biti preusmjereni na Člansko područje pomoću META REFRESH u kodu.

    Dakle, kako naš projekt trenutno izgleda korisniku?

    Sjajno! Sada je vrijeme da krenete dalje, da osigurate da ljudi zaista mogu doći na vašu stranicu.

    Neka se ljudi prijave

    Sve je dobro što imamo obrazac za prijavu na vašoj stranici, ali sada moramo omogućiti korisnicima da ga koriste - moramo napraviti obrazac za prijavu. Napravite datoteku pod nazivom register.php i stavite sljedeći kod u nju.

    Sustav upravljanja korisnicima (Tom Cameron za NetTuts)

    Greška"; jeka "

    Nažalost, to je korisničko ime zauzeto. Molimo vratite se i pokušajte ponovo.

    "; ) else ( $registerquery = mysql_query("INSERT INTO users (Username, Password, EmailAddress) VALUES("".$username."", "".$password.", "".$email."") " ); if($registerquery) ( echo "

    Uspjeh

    "; jeka "

    Vaš račun je uspješno kreiran. Molim kliknite ovdje za prijavu.

    ";) else ( echo "

    Greška

    "; jeka "

    Nažalost, vaša registracija nije uspjela. Molimo vratite se i pokušajte ponovo.

    "; ) ) ) else ( ?>

    Registar

    Unesite svoje podatke ispod kako biste se registrirali.




    Dakle, nema mnogo novog PHP-a koji još nismo naučili u tom odjeljku. Ipak, bacimo brzi pogled na taj SQL upit i vidimo možemo li shvatiti što radi.

    $registerquery = mysql_query("UMETNI U korisnike (korisničko ime, lozinka, adresa e-pošte) VRIJEDNOSTI("".$korisničko ime.", "".$lozinka.", "".$e-pošta."")");

    Dakle, ovdje dodajemo korisnika u našu bazu podataka. Ovaj put, umjesto dohvaćanja podataka, mi ih umećemo; tako da prvo specificiramo u koje stupce unosimo podatke (ne zaboravite, naš će se korisnički ID automatski podići). U području VALUES() ponovno govoreći što treba staviti u svaki stupac; u ovom slučaju naše varijable koje su došle iz korisničkog unosa. Dakle, pokušajmo; nakon što napravite račun na svom potpuno novom registracijskom obrascu, evo što ćete vidjeti za Člansko područje.

    Provjerite mogu li se odjaviti

    Skoro smo pri kraju ovog odjeljka, ali postoji još jedna stvar koju trebamo prije nego što završimo ovdje - način na koji se korisnici mogu odjaviti sa svojih računa. To je vrlo lako učiniti (na našu sreću); kreirajte novu datoteku pod nazivom logout.php i u nju unesite sljedeće.

    U ovome prvo resetiramo naš globalni niz $_SESSION, a zatim u potpunosti uništavamo sesiju.

    I to je kraj tog odjeljka i kraj PHP koda. Prijeđimo sada na naš posljednji odjeljak.

    Korak 3 - Uredite se

    Neću puno objašnjavati u ovom odjeljku - ako ne razumijete HTML/CSS, toplo bih vam preporučio jedan od mnogih izvrsnih vodiča na ovoj web stranici za početak. Napravite novu datoteku pod nazivom style.css i u nju unesite sljedeće; ovo će stilizirati sve stranice koje smo do sada izradili.

    * ( margina: 0; padding: 0; ) body (font-family: Trebuchet MS; ) a (color: #000; ) a:hover, a:active, a:visited ( text-decoration: none; ) #main ( width: 780px; margina: 0 auto; margin-top: 50px; padding: 10px; border: 1px solid #CCC; background-color: #EEE; ) form fieldset ( border: 0; ) form fieldset p br ( jasno: lijevo; ) label ( margin-top: 5px; display: block; width: 100px; padding: 0; float: left; ) input (font-family: Trebuchet MS; border: 1px solid #CCC; margin-bottom: 5px; boja pozadine: #FFF; padding: 2px; ) input:hover ( obrub: 1px solid #222; boja pozadine: #EEE; )

    Sada pogledajmo nekoliko snimaka zaslona kako bi naš konačni projekt trebao izgledati:

    Obrazac za prijavu.

    Člansko područje.

    Obrazac za registraciju.

    I konačno...

    I to je to! Sada imate područje za članove koje možete koristiti na svojoj stranici. Vidim puno ljudi koji odmahuju glavama i viču u svoje monitore da im to ne koristi - u pravu ste. Ali nadam se da su svi početnici u PHP-u naučili osnove korištenja baze podataka i korištenja sesija za pohranu informacija. Vitalne vještine za izradu bilo koje web aplikacije.

    • Pretplatite se na NETTUTS RSS Feed za više dnevnih informacija i članaka o web razvoju.