E-učenje > PHP Tutorijali

 
Želiš pristup svim sekcijama?

Registracija  




Tutorijal: PHP skripta - "log in" korisnika

 

"Log in" korisnika

Korak 1. Pozicionirajte se u htdocs direktorijum (podsetnik u prvom tutorijalu). Kreirajte direktorijum pod imenom "login" u direktorijumu htdocs.

Korak 2. Otvorite Notepad ili neki drugi tekst editor. Otkucajte sledeći html kod:

 
<form method="post" action="login_ok.php">
<fieldset>
<legend>Uloguj se</legend><label>Nadimak:</label>
<input type="text" name="korisnicko" />
<label>Lozinka:</label>
<input type="password" name="lozinka" value="" />
<input type="submit" name="submit" value="Udji" />
<p><a href="../registracija/registracija.html">Registruj se!</a></p>
</fieldset></form>

Fajl sačuvajte u direktorijum login pod imenom "login.html".Vodite računa da "Save as type" bude podešen na "All Files". Ovim smo kreirali formular za upis podataka u bazu podataka.

Korak 3. Sada krećemo sa kreiranjem PHP skripte koja ce napravljenu formu procesuirati. Otvorite ponovo notepad i otkucajte sledeću PHP skriptu:

 
<?php
// Konekcija na tvoju bazu (unesi parametre za tvoj host)
mysql_connect("localhost", "root") or die(mysql_error());
mysql_select_db("mojabaza") or die(mysql_error());
            
//ako je forma procesuirana
if (isset($_POST['submit'])) 
{ 
	// proverava da li su uneta sva polja
    if(!$korisnicko ===0 || !$_POST['lozinka'])
    {
    	die('Niste popunili sva polja. [ <a href="login.html">Nazad!</a> ]<hr/>');
    }
                
    // proverava bazu podataka
    $check = mysql_query("SELECT * FROM korisnici  
    			WHERE korisnicko = '".$_POST['korisnicko']."'")
                	or die(mysql_error());
                
    //Ako korisnicko ime ne postoji izbaci gresku
    $check2 = mysql_num_rows($check);
    if ($check2 == 0)
    {
    	die('Nadimak nije u nasoj bazi.   [ <a href=login.html>Nazad!</a> ]<hr/>');
    }
                  
    while($info = mysql_fetch_array( $check ))
    {
    	$_POST['lozinka'] = stripslashes($_POST['lozinka']);
        $info['pass'] = stripslashes($info['pass']);    
               
        //prikazi gresku ako lozinka ne valja
        if ($_POST['pass'] != $info['pass']) 
        {           
        	die('Pogresna lozinka. [ <a href="login.html">Pokusajte ponovo!</a> ]');
        }
        else
        {
        	// ako je login uspesan
        	$_POST['korisnicko'] = stripslashes($_POST['korisnicko']);
        	$prikaz = $_POST['korisnicko'];
        }
     }
     //ako je uspesan, redirektuj u login zonu (Precizirajte koji fajl se otvara)
	include ("loginzona.html"); 
}
?>
                
   

Korak 4. Sačuvajte fajl pod imenom "login_ok.php" u direktorijum "login" kojeg smo kreirali u direktorijumu htdocs.

Korak 5. Otvorite notepad i otkucajte "Dobrodosli u Login Zonu". Fajl sacuvajte pod imenom "loginzona.html" u direktorijumu "login".

Korak 6. Kucajte u adresnu liniju Vašeg brovsera:

http://localhost/login/login.html

i proverite kako radi Vaša nova PHP skripta. Koristite pristupne podatke koje ste koristili pri registraciji.

Kliknite na "demo" da pogledate kako radi ova PHP skripta: Demo



Tvoja preporuka:


Preporučujem tutorijal (1196) Ne preporučujem tutorijal (358)



Komentari / Pitanja:

Ime:

Tvoja e-mail adresa:

Ostavi svoj komentar:

Spam zaštita:
 

Vaše mišljenje je veoma važno. Ukoliko imate bilo kakav komentar na tutorijal, ili nešto da dodate, izmenite ili ukoliko ste primetili grešku, ne ustručavajte se da podelite sa svima Vaše mišljenje.

Takođe, ukoliko imate bilo kakvo pitanje u vezi tutorijala, postavite ga ovde. Lakše ćemo doći do rešenja ako više nas učestvuje u rešavanju problema.

     


Ukupno komentara: 21


darko
13.11.2016 09:51 h
  imam problem nećedami radi fejsbuk dalije nekome blokiro

Azko
17.03.2015 11:42 h
  odlicno

roko
09.03.2015 00:05 h
  meni pise da je zastario i da koristim mysqli.. ali zbunjen sam oko toga ne znam sta da radim prije sam radio sa mysql starim i napravio dosta toga...

roko
09.03.2015 00:04 h
  meni pise da je zastario i da koristim mysqli.. ali zbunjen sam oko toga ne znam sta da radim prije sam radio sa mysql starim i napravio dosta toga...

roko
08.03.2015 23:54 h
  meni pise da je zastario i da koristim mysqli.. ali zbunjen sam oko toga ne znam sta da radim prije sam radio sa mysql starim i napravio dosta toga...

Joca
23.09.2013 16:32 h
  Pozz Dare,prvo da ti se zahvalim na ovim odlicnim tutorijalima,sve pohvale za to sto radis.Drago mi je sto postoji neko ko zeli da pomogne nama pocetnicima u ucenju.Potrebna mi je mala pomoc ako si raspolozen.Uradio sam prijavu i registraciju po tvom tutorijalu.Registracija radi Ok. korisnici i njihovi podaci se upisuju u bazu podataka ali kad korisnik hoce da se prijavi izbaci undefined variable (mislim da je pisalo) lozinka i pass uglavnom se secam da su bile u pitanju linije 10,30 i 33.Da li mozda znas u cemu je problem?Hvala unapred!Pozdrav.

Darko Petrovic
15.06.2013 10:38 h
  @eskim
Pa ne mozes u index.html fajl to da dodas, moras u fajl sa .php ekstenzijom.

eskim
09.06.2013 22:10 h
  ufff.... evo koda: http://www.sourcepod.com/turnmn06-19048 i posle u index.html samo dodam: http://www.sourcepod.com/rmnkku62-19049

Darko Petrović
25.01.2012. 21:37 h
  @Koya_90
Pa to sam ti i ja napisao, pogledaj komentar niže :)

Koya_90
23.01.2012. 23:45 h
  Ok,nasao sam vec.Skontao sam da treba kolacica da se to odradi...evo ovde je lepo pikazano sve. http://www.daniweb.com/web-development/php/threads/170934

Koya_90
13.01.2012. 22:41 h
  Pozdrav Dare, jel imas mozda tutorijal ili neki kod da vidim kako bi trebalo da izgleda "Log Out" ? :)

Darko Petrović
06.01.2012. 12:31 h
  Ova login skripta nije dobra za korišćenje na nekom veb sajtu, ona samo prikazuje kako se podaci čitaju iz baze i ako se "podudaraju" sa unetim, tada je korisnik "kao" ulogovan:)

Prava login skripta trebalo bi preko cookies-a (ili sesije) da čuva podatke o prijavi, recimo:

setcookie("Prijava", $prijava, time()+3600);

U logout skripti, samo se poništi ovaj "kolačić":
setcookie("Prijava", $prijava, time()-3600);

Darko Petrović
28.11.2011. 10:07 h h
  To bi već morao da iskontrolišeš pomoću sesije i kolačića. Kasnije možeš to da iskoristiš pa da različit sadržaj pikazuješ prijavljenim i neprijavljenim posetiocima.

Nikola037
27.11.2011. 17:07 h
  A kako da stavim zabranu na neki link za NEregistorvane, npr www.mojsajt.com/filmovi i sad ako tu neko hoce da udje a nije ulogovan da mu izanje niste registrovani....

sharepass
06.10.2011. 23:58 h
  kada u kod ukljucim potrebne css i js fajlove kako onda da koristim syntaxhiglighter?

Darko Petrović
03.09.2011. 08:51 h
  Pa pozvao si funkciju "connecttodb" pre nego sto si je kreirao :) Poslao sam ti na mejl bolje resenje.

Nikola
30.08.2011. 17:15 h
  to sam ukapirao sam kasnije...al opet imam problem ubacim sve to..al nece da se konetuje na mysQL bazu jer fali pw onda izmenim mysQL connection

$servername='mysql15.000webhost.com';
// username and password to log onto db server
$dbusername='a6408655_reg';
$dbpassword='nikola123';

// name of database
$dbname='a6408655_reg';

connecttodb($servername,$dbname,$dbusername,$dbpassword);
function connecttodb ($servername,$dbname,$dbuser,$dbpassword)
{
global $link;
$link=mysql_connect ("$servername","$dbuser","$dbpassword");
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error()); }

Ali opet nesto zeza :/

Darko Petrović
28.08.2011. 20:31 h
  ovde nije predviđeno da se nakon uspešnog loginovanja otvara link, već neka stranica na serveru, u ovom slučaju to je stranica loginzona.html. Možeš probati da umesto include funckije funkciju header, recimo: header("Location: http://www.sajt.com/");

Nikola
25.08.2011. 22:49 h
  Nije mi jasno gde da ubacim link na koji se redirektuje posle uspenog ulogovanja?

Darko Petrović
16.02.2011. 11:15 h
  @markonini
U pravu si da skripta sadrži sigurnosne propuste i svakako da nije za komercijalnu upotrebu, međutim, zaista je dobra za učenje osnovnih "stvari" iz PHP-a i MySQL-a, a to je cilj tutorijala.

markonini
11.02.2011. 21:40 h
  Skriptu nikako nemojte koristiti za web sajtove, jer sadrzi dosta sigurnosnih propusta. Nema md5 enkripcije passworda i konekcija na bazu je unutar skripte sto ne valja. Jedino je dobra skripta za pocetnike da shvate kako se vuku celije iz baze.