Jump to content
php.lv forumi
Sign in to follow this  
Tevocis

Problēma ar Login sistēmu.

Recommended Posts

Tātad sveiki visi man ir tāda problēma , ka nevaru uzlikt tādu lietu ja lietotājs nav ienācis viņš netiek uz index.php bet paliek login.php ,kamēr ielogojas.taisiju pēc pamacības bet nekā.Pricips tāds lai lietotājs nekada veida nevar redzēt index.php failu kamēr nav ienācis.


šeit būs ari kods 

<?php
include'includes/config.php';
 
session_start();
if(isset($_POST['username']) and isset($_POST['password']))
{
        $username = quote_smart($_POST['username']);
        $password = quote_smart(md5($_POST['password']));
               
        $result = mysql_query("SELECT COUNT(*) FROM lietotaji WHERE vards = $username AND parole = $password AND grupa = 1");
        if(mysql_result($result,0, 'COUNT(*)') > 0)
        {
               
                #ieliek sesijā datus
                $_SESSION['ienacis'] = 1;
               
                $id = mysql_result(mysql_query("SELECT id FROM lietotaji WHERE vards = $username AND parole = $password"),0,'id');
                $_SESSION['mans_id'] = $id;
        }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8">
        <title>lapa.lv :: Login</title>
        <link rel="shortcut icon" href="admin/img/favicon.ico">
               
</head>
 
<body>
                        <?php
                        if(!isset($_SESSION['ienacis']))
                        {
                        ?>
            <form action="" method="post">
                <fieldset>
                                <legend>Login</legend>
                    <label for="username">Lietotajvards:</label>
                    <input type="text" name="username" id="username" value=""/>
 
                    <label for="password">Parole:</label>
                    <input type="password" name="password" id="password" value=""/>
                    <div class="submit">
                        <input type="submit" name="login" value="Login" />
                    </div>
                </fieldset>
            </form>
            <?php
                        }
                        else header("location: index.php");
            ?>
</body>
</html>

 

 


ceru uz atsaucibu un varbut vrat ari paskaidrot ko man darit lai vis notiek ta ka vajag

Share this post


Link to post
Share on other sites

Šeit izskatās, ka viss ir kārtībā

 

Tagad tev vajag index.php lapā ielikt pārbaudi vai ir uzsetots, $_SESSION['ienacis']

ja nav, tad jātaisa redirect uz login.php

Share this post


Link to post
Share on other sites

Diezgan divaina pamācība..

and vietā itkā && vajadzētu

if(isset($_POST['username']) && isset($_POST['password']))

un sql pieprasījumos php mainīgos likt pēdiņās

 

$result = mysql_query("SELECT COUNT(*) FROM lietotaji WHERE vards = '$username' AND parole = '$password' AND grupa = 1"); 

 

un šito mazliet vienkāršāku uztaisīt

if(mysql_result($result,0) > 0)

 

pārējais itkā ok izskatās, ko errori saka?

Share this post


Link to post
Share on other sites

1. Šādos gadījumos nav starpības, vai AND vai &&, nevajag stāstīt cilvēkiem muļķības.

2. Lieks pieprasījums: var pie login/pass pārbaudes uzreiz dabūt user_id.

3. Priekš kam eskeipo md5 hešu? :D

4. header maiņu jāliek pirms jebkāda output, citadāk, header tiek aizsūtīts momentā, kad output ir sācies, un redirekts nestrādās.

if(!isset($_SESSION['ienacis']))
                        {
?>
<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8">
        <title>lapa.lv :: Login</title>
        <link rel="shortcut icon" href="admin/img/favicon.ico">
               
</head>
 
<body>....
<?
else header(...)

                        

Share this post


Link to post
Share on other sites

ammm kasspars biju jau licis ta ka tu doma.nezināmu iemeslu dēļ ja ari nav ielogojies tad cilvēki tiek uz indexa lapu, bet šo problēmu atrisināju vienkārši inkludojot failu indexa lapa ja nav ienacis tad uzmetas login foruma et ja ir tad paradas pats index.php.

bet tagat man varbut biški sarežģitaks jautājums.jums varbut tas nav nekas sarežģīts.varb;ut kāds var izskaidrot kā lai izveido isadmin funkciju ka piemeram ja lietotājam nav grupas id 1 tad viņš nevar atvērt piemeram lapa.lv/admin/login.php bet ta vieta viņu pārmet atpakaļ uz sākumu.un tad kad admins ienāk sakumlapa tad viņām pie profila rādādas admina paneļa links.man ir tikai nepieciešams lai izskaidrojat ka to izveodot tieši pašu isadmin neprasu neko gatavu.tikai nelielu paskaidrojumu

Share this post


Link to post
Share on other sites

tad jau drīzāk, lai uzreiz grupas močī

 

`user_groups` (gid,title) + kollona iekšs `users` tabulas, tb `group`

 

+ vēl tad `user_groups` var uzlikt papildus kollonu teiksim `access`, kur turi pieejas tiesības. 

Share this post


Link to post
Share on other sites

nu es jau ari ta biju domajis man ari ir tabula grupas un tur ir id name 2 kolonoas lai ari krasas ir par tam pieejas tiesibam biki nesaprotu zinu ka taads prikls ir ipb forumam un citiem bet ko tu likt gan neizinu :D :D un par to is_admin es notestesu 

Share this post


Link to post
Share on other sites

ar pieejas tiesībām grupām var darīt dažādi. 

Es nezinu cik labi ir glabāt json db, tad var serialize, kgan pat stringā ar kkādu delimiteru glabāt teiksim

 

 

view content, add content, delete content (permissions kollona teiksim)

 

un tad kkādu fju

 

 

 

if(access('add content')) {
dari to! 
}

function access($perm) {
global $user; //tipa nav kruti global
//te vai citur splitot permus 

$perms = explode(','$user->perms);
if(in_array($perm,$perms)) {
return true;
}
return false;
}
 
Edited by anonīms

Share this post


Link to post
Share on other sites

bet ja taisu ar šim atļaujam tas nozime ka man ir jāparaksta visu kodu vai pat vieglākrakstit no jauna?

and maybe kautkur var atrast vairak info par šo visu.

 

 

un kom labāk izmantot sesijas vai ko citu ? ja ko citu tad ko tieši varbut ar nelielu piemeru?

paldies jau iepriekš

Edited by Tevocis

Share this post


Link to post
Share on other sites

> Es nezinu cik labi ir glabāt json

 

Slikti, jo tu nevari normāli izmantot SQL filtrus utml. uz JSON datiem. Vismaz pēc ANSI SQL.

Share this post


Link to post
Share on other sites

nu ar serialize jau tas pats. Kgan, ja domājam, ka atdalam permissionus ar komatu, tad var izmantot WHERE LIKE '%add content,%' piemēram 

Share this post


Link to post
Share on other sites

Tās ir perversijas. Tā nedaram!

Share this post


Link to post
Share on other sites

un tavs varians daGrevis būtu? (kkad būs vienam projektam jāpārtaisa perms sistēmu tāpēc jāsāk domāt laicīgi jau man) 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...