PHP register/login i još nešto

PHP register/login i još nešto

offline
  • Ivan
  • Pridružio: 25 Maj 2012
  • Poruke: 3
  • Gde živiš: Kikinda

Pozdrav svima.

Izvinjavam se ako je ovaj problem već rešen negde na forumu, ali ja nisam video dok sam pregledao (ako je rešen obrišite temu, mada ja stvarno nisam video u ovoj formi kako je meni potrebno). Ako je neko raspoložen da mi pomogne oko ovoga.

<form name="form1" method="post" action="checklogin.php"> <td> <table border = "0" cellpadding="3" cellspacing="1" align="center">                                     <tr align="center"> <td width="105px" colspan="2">Username:</td> <td width="200"><input name="myusername" type="text" id="myusername"></td> </tr>                                     <tr align="center"> <td width="105px" colspan="2">Password:</td> <td width="200"><input name="mypassword" type="password" id="mypassword"></td> </tr>                                     <tr align="center"> <td colspan="3">&nbsp;</td> </tr>                                     <tr align="center">  <td colspan="3">  <input type="image" src="Images/dugmici/login.png"/> </td>    </tr>                                     </table> </td> </form>


****checklogin.php****

<?php $con = mysql_connect('localhost','root',''); if (!$con){     exit('Could not connect: ' . mysql_error()); } mysql_select_db('test', $con) or die("cannot select DB"); // username and password sent from form $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; // To protect MySQL injection (more detail about MySQL injection) $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM member WHERE Username='$myusername' and Password='$mypassword'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1) { session_register("myusername"); $_SESSION['myusername'] = $myusername; header("location: login_success.php"); } else { header("location: pocetna.php"); } ?>

****login_success.php****

<? session_start(); if(isset($_SESSION['myusername'])) {    header("location: log-in/pocetna.php"); } ?>

Ove skripte za logovanje rade, ali mi je potrebno da odvojim logovanje admin od običnog user-a. Da li na osnovu username, ili nekog drugog polja u tabeli nije bitno, samo da radi. Pokušao sam sve što mi je palo na pamet, ali ne uspevam. Verujem da je neka sitnica, ali verujem da znate i kako se teško neke sitnice rešavaju. :paranoia:

Za sada samo ovo, mada imam još par pitanja, ali ne bih da budem baš tako nekulturan.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Nemoj da koristis mysql zato sto je deperecated. Koristi MySQLi
http://php.net/manual/en/migration55.deprecated.php

Sto se tice tvog pitanja treba ti tabela u bazi koja sadrzi sve korisnike.
ID, Group ID, username, pass

Tabela koja sadrzi grupe
ID, Name.

Proveravas ako sessija postoji i ako je korisnik iz grupe 1 prikazi admin panel.
U tvom slucaju neka je ID = 1 administrator group.+

Nikakva matematika.



offline
  • Ivan
  • Pridružio: 25 Maj 2012
  • Poruke: 3
  • Gde živiš: Kikinda

Da li postoji mogućnost da rešim to na način na koji sam pokušao (pa nisam uspeo), a to je da u istoj tabeli u kojoj su članovi imam jedno polje recimo tinyint(1) na osnovu čije vrednosti preusmeravam korisnike?

Mislio sam da mi je u tom slučaju potrebna samo mala izmena u delu:
$sql="SELECT * FROM member WHERE Username='$myusername' and Password='$mypassword'"; $result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1) { session_register("myusername"); $_SESSION['myusername'] = $myusername; header("location: login_success.php"); } else { header("location: pocetna.php"); } ?>

Ili grešim?

Hvala na odgovoru. Smile

Što se MySQL-a tiče, to smo radili na faksu, a pošto za potrebe istog i radim ovaj sajt, pa mi je možda pametnije da za sada koristim to, a za buduće ko zna. Smile

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 03 Sep 2013 20:34

A zasto bi komplikovao stvar kad mozes da dodas jos jednu tabelu? On tebi uzima username i on nema pojma kojoj grupi pripada taj korisnik. Moras da prosiris bazu i da dodas u user kolonu group id. Lakse ti je nego ovo sto ti planiras...

Dopuna: 03 Sep 2013 20:35

Citat:
Što se MySQL-a tiče, to smo radili na faksu, a pošto za potrebe istog i radim ovaj sajt, pa mi je možda pametnije da za sada koristim to, a za buduće ko zna

Sto se tice ovoga moraces da predjes na MySQLi jer sam rekao da je iskljucen u php 5.5.3 jer sam server gde si zakupio hosting ima poslednju verziju i neces moci da radis sa bazom

offline
  • Ivan
  • Pridružio: 25 Maj 2012
  • Poruke: 3
  • Gde živiš: Kikinda

Rešio sam problem, hvala puno. Smile

Ko je trenutno na forumu
 

Ukupno su 1170 korisnika na forumu :: 39 registrovanih, 6 sakrivenih i 1125 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Andrija357, Apok, cavatina, cenejac111, Dannyboy, Dimitrise93, Djokislav, DragoslavS, dushan, FOX, Hamannche, Karla, Krvava Devetka, kubura91, madza, minmatar34957, miodrag, mnn2, nebkv, nemkea71, opt1, Oscar2, Panter, panzerwaffe, procesor, S1Mk3, Sirius, sovanova95, Srle993, StepskiVuk, suton, Vladko, ZetaMan, zlaya011, |_MeD_|, žeks62, 125, 79693