Avatar billede fragze Juniormester
18. marts 2004 - 10:32 Der er 1 løsning

Cookie i login script

Hej exp.
Jeg har et spm. ang mit login script, jeg vil godt ha det lavet sådan at jeg bruge cookies til at huske login info... sådan at den faktisk laver et auto login...det skal fungere sådan at når man er inde of ændre sine settings, så skal man kunne hakke en checkbox af med husk login :) håber det kan lade sig gøre :)
Har selv prøvet lidt med det funker nada :)
nedenfor følger mit kode.. :)

Min form:
top.php
______________________________________
            <?
            if ($_SESSION['kapow_id'] == "") {
           
            if (($_COOKIE['kapow_autologin_nick']) != "" && ($_COOKIE['kapow_autologin_passwd']) != "") {
                    header("Location: funcs/login/login-cookie.php");   
                    } else {
           
            ?>
            <form action="funcs/login/login.php" method="post" style="display:inline;"><input type="hidden" name="PHPSESSID" value="eab1bc8e105e7f0dce02c0731fd8d815" />
<input type="hidden" name="logind" value="logind">
<table>
    <tr align="left" valign="middle">
        <td>Username:</td>
      <td><input type="text" name="user" style="width: 120; height: 16; color: #7E8496; background-image:url(images/form.gif); font-size: 7pt; font-family: Verdana; border-width: 0"></td>
        <td>Password:</td>
      <td><input  type="password" name="pswd" style="width: 120; height: 16; color: #7E8496; background-image:url(images/form.gif); font-size: 7pt; font-family: Verdana; border-width: 0"></td>
      <td><input name="image" type="image" value="button" SRC="../images/loginbut.gif" style="margin-top:1px;"></td>
        <td><a href='index.php?site=addmember'><img src="images/register.gif" width="80" height="16" border="0"></a></td>
    </tr>
        </table>
        </form>
            <?
            }
                  } else {
               
                ?>
                    <table>
                        <tr valign='top'>
                        <td>Welcome <a href="index.php?site=edit&id=<?php echo $_SESSION['kapow_id']; ?>"><? echo $_SESSION['kapow_username']; ?></a></td>                                       
               
                        <td> | <? if ($_SESSION['kapow_level'] == "newbie") { echo "You have no permissions"; } ?><? if ($_SESSION['kapow_level'] == "overadmin") { echo "<a href=index.php?site=admin>admin tool</a> - <a href=index.php?site=stats>stats</a>"; } ?><? if ($_SESSION['kapow_level'] == "user") { echo "<a href=index.php?site=stats>stats</a>"; }  ?><? if ($_SESSION['kapow_username'] == "torM") { echo " | <a href=index.php?site=words>Words of wisdom</a>"; } ?> | <a href='../funcs/login/logout.php'>logout</a></td>
                        </tr>
                    </table>
            <?
            }
            ?>

________________________________________

Login action:
login.php
________________________________________
<?
session_start();

include ("../connect.ini.php");
$psw = md5($pswd);
$tjek = mysql_query("SELECT * FROM brugere WHERE nick='$user' AND password='$psw'") or die ("Kunne ikke vælge felter i database-tabellen");
    //hvis logget ind
    if(mysql_num_rows($tjek) == 1)
    {
        $tjek2 = mysql_query("SELECT * FROM brugere WHERE nick='$user' AND password='$psw'") or die ("Kunne ikke vælge felter i database-tabellen");
        while($data = mysql_fetch_array($tjek2))
        {
            if($data[aktiveret] == "0")
            {
            header("location: ../index.php?site=notactivated");
            exit;   
            }
            else
            {
                    if($data[ban] == "0")
                    {

                    $_SESSION['sessionnr'] = session_id();
                    $_SESSION['kapow_username'] = $data[nick];
                    $_SESSION['kapow_password'] = $data[password];
                    $_SESSION['kapow_level'] = $data[level];
                    $_SESSION['kapow_email'] = $data[email];
                    $_SESSION['kapow_id'] = $data[userid];
                    $_SESSION['kapow_country'] = $data[country];
                    session_register("sessionnr");
                    session_register("kapow_username");
                    session_register("kapow_password");
                    session_register("kapow_level");
                    session_register("kapow_email");
                    session_register("kapow_id");
                    session_register("kapow_country");
                    $lastlogin = date("Y-m-d H:i:s", time());
                                   
                    mysql_query("Update brugere set lastlogin = '$lastlogin' where nick='$user'");
                    mysql_query("Update brugere set online = '1' WHERE userid=$_SESSION[kapow_id]") or die(mysql_error());
               
                   
                   
                   
                    header("location: ../../index.php");
                    exit;
                    }
                    else
                    {
                    header("location: ../../index.php?site=banned");
            exit;   
                    }
            }
        }
    }
    //hvis ikke logget ind
    else
    {
    header("location: ../../index.php?site=wrong");
    exit;
    }


?>
__________________________________________

Min editform til brugere:
edit.php
__________________________________________
  <tr>
    <td><strong>Auto login:</strong></td>
    <td><input type='checkbox' name='autologin' value='yes' <? if ($_COOKIE['kapow_autologin_nick'] != "" && $_COOKIE['kapow_autologin_passwd'] != "") { echo "checked"; } ?> onclick='alert("coming soon :)");'></td>
  </tr>
____________________________________________
Og til sidst måden det bliver updated i dben :)
tag_edit_user.php
____________________________________________
<?PHP
ob_start();
session_start();
include ("../funcs/connect.ini.php");

if ($_POST['op'] == 'ds') {

   
    // Autologin cookie
       
            if ($_GET['autologin'] == "yes") {
                setcookie('kapow_autologin_nick', $_SESSION['kapow_username'], time()+999999999);
                setcookie('kapow_autologin_passwd', $_SESSION['kapow_password'], time()+999999999);
                $cookie = $autologin;
            } else {
                setcookie('kapow_autologin_nick', $_SESSION['kapow_username'], time()-1);
                setcookie('kapow_autologin_passwd', $_SESSION['kapow_password'], time()-1);
                $cookie = $autologin;
            }

$query = mysql_query("SELECT password FROM brugere WHERE nick = '$_POST[nick]'") or die(mysql_error());
$row = mysql_fetch_array($query);

if($_POST[password] == "") { $password = $row[password]; }
else { $password = md5($_POST[password]); }

    mysql_query("UPDATE brugere SET nick='$_POST[nick]', password='$password', name='$_POST[name]', zipcode='$_POST[zipcode]', bynavn='$_POST[bynavn]', age='$_POST[age]', email='$_POST[email]', cpu='$_POST[cpu]', memory='$_POST[memory]', gfx='$_POST[gfx]', mouse='$_POST[mouse]', pad='$_POST[pad]', connection='$_POST[connection]', cfg='$_POST[cfg]', quote='$_POST[quote]', headset='$_POST[headset]', monitor='$_POST[monitor]', country='$_POST[country]'  where userid = '$_POST[userid]'") or die (mysql_error());

   
   
                // FIlE UPLOAD
            $fra = $_FILES['avatar']['tmp_name'];
           
                      if (isset($fra)) {
                            $ext = strtolower(end(explode(".", $_FILES['avatar']['name'])));
                          if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png') {
                         
                          include ("../funcs/homemade/image.inc.php");
                           
                               
                                $file_name = $_SESSION['kapow_id'] . "." . $ext;
                                    $til = '../data/avatar/' . $file_name;
                               
                                $new = imageresize($fra, 235, 175, $til) or die("resize, line 17");
                                //$end = readfile($end1);
                                move_uploaded_file($new, $til);
                                $get_row = mysql_query("SELECT * FROM avatar WHERE user_id = '$_SESSION[kapow_id]'") or die(mysql_error());
                                    if (mysql_num_rows($get_row) == "0") {
                                        mysql_query("INSERT INTO avatar SET user_id = '$_SESSION[kapow_id]', filename = '$file_name'") or die(mysql_error());
                                      } else {
                                        mysql_query("UPDATE avatar SET filename = '$file_name' WHERE user_id = '$_SESSION[kapow_id]'") or die(mysql_error());
                                    }
                          }
                        }
   
   
    header("location: ../index.php?site=front");
}

ob_end_flush(); ?>
______________________________________________
Avatar billede fragze Juniormester
20. marts 2004 - 15:29 #1
asd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester