کمک در مورد session , cookie

parmo2357

Member
با سلام به دوستان
من در مورد session وcookie ها به مشکل بر خوردم.
اگه کسی اطلاعاتش کامله برام یه توضح کامل بده,من میخام وقتی کاربر login شد مثل yahoo در صفحه index مثلا پیام "hi username" نوشته بشه.هر جی گشتم فقط گیج تر شدم.ممنون:rose:
 

k2-4u

Well-Known Member
برای تعریف session . ابتدا ی برنامه و قبل از اینکه کدی به سمت کاربر بره
باید تابع session_start رو فراخوانی کنید .
PHP:
session_start();

بعد شما به وسیله آرایه $_SESSION می تونین . session درست کنید
این شکلی
PHP:
$_SESSION['نام'=['مقدار';
$_SESSION['username']='salam';
برای پاک کردن session
PHP:
$_SESSION['username']='';
unset($_SESSION['username']);
این 2 راه رو دارین

تا وقتی که صفحه مرورگر کاربر بازه .
session حذف نمیشه
در نتیجه . شما می تونی session رو بگذاری در if یا ..
خب این تا اینجا :rose:
سوالی هست ؟
 

parmo2357

Member
دوست عزیز سوال من اینجاست که وقتی شخصی login شد,چطور مقادیر textbox ها رو در session قرار بدم تا user وارد شده رو در صفحه echo,index کنم
 
آخرین ویرایش:

payamsp

Member
با استفاده از متغيرهاي سراسري post يا get با توجه به متدي كه در فرم مشخص كرديد اطلاعات كاربر رو بگيريد و بعد در session قرار بديد و در صفحات بعدي مقدار session رو چاپ كنيد
PHP:
$_SESSION['name']=$_POST['name'];
 

k2-4u

Well-Known Member
خیلی ممنون payamsp
لطفا از
post_thanks.gif

استفاه کنید :rose: ممنون
 

BEHESHT

Well-Known Member
سلام دیگه من تو کار با session , cookie پاک گیج شدم !

سوال اولم اینه اگر session در سرور ذخیره میشه من چی کار کنم این مشکل رو دور بزنم:

کابر علی لاگین می کنه:
PHP:
$_SESSION['user']='ali';
و یه جا دیگه یه کابر با نام میلاد لاگین می کنه:(میلاد ادمین هست)

PHP:
$_SESSION['user']='miald';
با این اوصاف که session در سرور ذخیره میشه باید ali به millad تبدیل شده باشه درسته؟

یا من استباه می کنم چطور جولوی این مشکل رو بگیرم که علی هم ادمین نشه:sad:
 

D.A.V.O.O.D

Member
سلام ،
لطفا توجه داشته باشید که SESSION برای هر نفر یکتاست ! یعنی وقتی شما با کامپیوتر خودت لاگین میشی و من با کامپیوتر خودم ، ما دو تا هیچ گاه با هم تداخل نخواهیم کرد .

اگه منظور شما اینه که با یک دستگاه و مرروگر ، کاربر بخواد با دو تا یوزر لاگین بشه که یکیش مدیر باشه و یکی کاربر معمولی ، تنها راه حل اینکه که شما یک SESSION دیگه ، مثلا اینطوری : ست کنی :
PHP:
$_SESSION['user_type'] = "admin";

که پس از لاگین ، بر اساس سطح دسترسی مقدار دهی میشه .

امیدوارم متوجه منظورم شده باشی ، موفق باشی
 

meysam-fathi

Active Member
کلا این قضیه استفاده از سشن اینجا جایز نیست.
اطلاعات فرد لاگین شده باید از دیتابیس خونده بشه.
در ضمن سرعتش هم بیشتره استفاده از دیتابیس نسبت به سشن
 

Masoud1365

مدیر انجمن
کلا این قضیه استفاده از سشن اینجا جایز نیست.
اطلاعات فرد لاگین شده باید از دیتابیس خونده بشه.
در ضمن سرعتش هم بیشتره استفاده از دیتابیس نسبت به سشن

برای چی جایز نیست ؟
شما وقتی مثلا توی صفحه لوگین اطلاعات کاربر رو میخونی کجا نگهشون میداری که مثلا توی صفحه پروفایل ببینی طرف وارد شده یا نه ؟؟ 2 تا راه بیشتر نداری یا کوکی یا سشن که البته میتونی از دوتاش با هم ، هم استفاده کنی.
 

Masoud1365

مدیر انجمن
یک راه کوچلو دیگه هم هست Authentication
http://php.net/manual/en/features.http-auth.php

درسته !
ولی استفاده از سشن یا کوکی یا هر دو خیلی روتین تر هست و اکثر سایتها دارن ازش استفاده میکنند . اصلا این راهی که دوستمون گفتند به نظر من منطقی نیست که به جای استفاده از سشن و کوکی مدام به دیتا بیس کانکت بشیم و مدام از کاربر یوزر و پسورد بخواهیم ! درسته ؟:wink:
 

jalaladdin

Active Member
من برای فرم لاگین این کد را نوشته بودم که در واقع این پیام (نام کاربری یا کلمه عبور اشتباه است)و یا به سایت خوش آمدید به کاربر نشان میداد فرم لاگینم جداست . میخواهم وقتی روی صفحات دیگر سایت کلیک کنم نام کاربری در خود نگه دارد حالا نمیدانم چه کدهای دیگری در صفحات دیگه و همچنین فرم لاگین اضافه کنم
اینهم کد فرم لاگینم
PHP:
<?php
session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>


</head>

<body>
<table width="989" height="695" border="1">
  <tr> 
    <td width="1223" height="141" class=" header">web design tutorial</td>
  </tr>
  <tr>
  
    <td height="2"><table width="985" border="1">
      
     <div class="nav-main nav-main-font">            
            <ul>
             
              <li><a href="index.php" class=" selected">صفحه اصلی</a></li>
             
                <li><a href="register.html">عضویت</a></li>
                
                   
        <li><a href="contact.html">تماس با ما</a></li>
         
          </ul>
        </div>
        <div class="buffer"></div>
        
    </table></td>
  </tr>
  <tr>

    <td align="left" valign="top">
    <div class="sidebarbox-border bg-blue02">
<div class="sidebarbox-title-shading bg-blue05  dircss ">ورود کاربر</div>

    
<?php

if(isset($_POST['username']))
{
    $con = mysql_connect("localhost","root","");
    if(!$con)
    {
        die('could not connect');
    }

    mysql_select_db("register",$con);

    $username = addslashes($_POST['username']);
    $password = addslashes($_POST['password']);
    $result   = mysql_query("SELECT COUNT(*) FROM `users` WHERE `username`='$username' AND `password`='$password';");
    //$p = mysql_query("SELECT count(*) FROM users WHERE password = '$password'");

    if(!$result)
    {
        echo 'Could not run query: ' . mysql_error();
        exit;
    }
    $row = mysql_fetch_row($result);
    //$row = mysql_fetch_row($p);
    if($row[0] > 0)
    {
        $_SESSION['username'] = $username;
        $_SESSION['password'] = $password;
       //echo '<meta http-equiv="Refresh" content="0; URL=someOther.php" />';
        printf("خوش آمدید%s<br />", $username);
        printf('<form action="index.php" method="post" class="   dir">
        <br/>
        <input type="submit" value="خروج"  />');  exit;
    }
    else
    {
        echo"نام کاربری یا کلمه عبور اشتباه می باشد";
        printf('<form action="login.php" method="post" class="   dir">
        <input type="text" name="username"  value="نام کاربری"     />
        <input type="password"   name="password" value="پسورد"/>
        <br/>
        <input type="submit" value="ورود"  />
        <a href="register.html" ><div class="dir">ثبت نام کاربر جدید </a></div>
        <a href="back password.html" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
        </form>');
    }
}?>
     
  </tr>
</table>


</body>
</html>
 

جدیدترین ارسال ها

بالا