كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> برنامه‌نويسي تحت وب -> زبان برنامه‌نويسي PHP
پاسخ دادن به این موضوع
عدم انتقال به index.php
پست تاریخ: یکشنبه 21 دی 1393 - 14:45    
MHD_72
شروع فعاليت
شروع فعاليت


پست: 19
عضو شده در: 7 دی 1393
محل سکونت: تهران
blank.gif


امتياز: 175

عنوان: عدم انتقال به index.php خواندن مشخصات فردی ارسال پیام شخصی

من اشکال کد رو نمیدونم وقتی admin و password رو میزنم به صفحه index.php واقع در پوشه admin انتقال پیدا نمیکنه.
کد:
<?php

session_start();

include_once('../includes/connection.php');

if (isset($_session['logged_in'])){

}else{
   if (isset($_POST['username'], $_POST['password'])){
      $username = $_POST['username'];
      $password = md5($_POST['password']);

      if(empty($username) or empty ($password)) {
         $error = "All fields are requireds.";
      }else{
         $query = $pdo->prepare("SELECT * FROM users WHERE user_name = ? AND user_password = ?");

         $query->bindvalue(1 , $username);
         $query->bindvalue(2 , $password);

         $query->execute();
         $num = $query->rowCount();

         if ($num == 1){
            //user entered correct
            $_session['logged_in'] = true;
            header('Location: index.php');
            exit();
         }else{
            //user enterd uncorrect
            $error = "incorrect detailes";
         }
      }
   }
   ?>

   <html>
   <head>
      <title>Cms Tutorial</title>
      <link rel="stylesheet" type="text/css" href="assets/style.css">
   </head>
   <body>

      <div class="container">

         <a href="index.php" id="logo">CMS</a>
      
         <br /> <br />

         <?php if(isset($error)) {  ?>
            <small style="color:#aa0000;"><?php echo $error; ?></small>
         <?php }?>

         <form action="index.php" method="post">
         <input type="text" name="username" autocomplete="off">
         <input type="password" name="password" autocomplete="off">
         <input type="submit" value="Login" /  >

            
         </form>
         
      </div>            
   </body>
   </html>

   <?php
}

?>

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: یکشنبه 21 دی 1393 - 19:28    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

در قسمت
کد:

//user enterd uncorrect

header بنویس به صفحه ی login با یه پارامتر اررور.مثلا:
کد:

header('location: login.php?error=1');

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: یکشنبه 21 دی 1393 - 21:29    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5415
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47359

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی

اولاً session رو با حروف بزرگ بنویس...
ثانیاً به احتمال زیاد به خاطر BOM هست. یک فایل توی Sublime ایجاد کن و همین‌ها از اینجا کپی کن اونجا و ذخیره کن و بعد تست کن... فایل قبلی‌ت ممکنه ابتداش کاراکتر مخفی BOM رو داشته باشه:
http://aftab.cc/tutorial/590

اگر کلیدهای CTRL+U رو بزنی احتمالاً می‌بینی که در ابتدای صفحه یک سری کد خطا درج شده و همین باعث می‌شه header از کا بیفته.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 دی 1393 - 00:58    
MHD_72
شروع فعاليت
شروع فعاليت


پست: 19
عضو شده در: 7 دی 1393
محل سکونت: تهران
blank.gif


امتياز: 175

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی

متاسفانه فرمایشات شما افاقه نکرد باید کلا از نو بشینم بررسی کنم ممنون

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 دی 1393 - 01:32    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

من سوالتو الان فهمیدم.
فک کردم userrname و پسورد و اشتباه وارد میکنی به مشکل میخوری.
شما نوع فایل بندی پروژتو بگو تا کدتو درست کنم.
مثلا این صفحه ای که کدشو گذاشتی اسمش چیه؟ index.php ? index.php ادمینه؟
در چه پوشه ایه؟
مشخص کن.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 دی 1393 - 01:40    
MHD_72
شروع فعاليت
شروع فعاليت


پست: 19
عضو شده در: 7 دی 1393
محل سکونت: تهران
blank.gif


امتياز: 175

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی

باشه
ببین این کدهایی که بالا گذاشتم داخل پوشه ادمین هستش به نام index.php
ساختارشون اینطوریه :admin > index.php ---includes>articel.php , connection.php -----root>article.php , index.php

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 دی 1393 - 02:13    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: پاسخ به «عدم انتقال به index.php» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

یک صفحه ی login.php در فایل ادمین بساز و این کد هارو در اونجا قرار بده:
کد:

if(!isset($_SESSION))
{
   @session_start();
}

if (isset($_SESSION['logged_in']))
{
   @header('Location: index.php');
   exit('<meta http-equiv="Refresh" content="0;url=index.php">');
}

include_once('../includes/connection.php');

if (isset($_POST['btnSubmit']))
{
   if (isset($_POST['username'], $_POST['password']))
   {
      $username = $_POST['username'];
      $password = md5($_POST['password']);

      if(empty($username) || empty($password))
      {
         $error = "All fields are requireds.";
      }
      else
      {
         $query = $pdo->prepare("SELECT * FROM users WHERE user_name = ? AND user_password = ?");

         $query->bindvalue(1 , $username);
         $query->bindvalue(2 , $password);

         $query->execute();
         $num = $query->rowCount();

         if ($num == 1)
         {
               //user entered correct
            $_SESSION['logged_in'] = true;
            @header('Location: index.php');
            exit('<meta http-equiv="Refresh" content="0;url=index.php">');
         }
         else
         {
               //user enterd uncorrect
            $error = "incorrect detailes";
         }
      }
   }
}
?>

<html>
<head>
  <title>Cms Tutorial</title>
  <link rel="stylesheet" type="text/css" href="assets/style.css">
</head>
<body>

   <div class="container">

      <a href="index.php" id="logo">CMS</a>

      <br> <br>

      <?php echo (isset($error) ? '<small style="color:#aa0000;">'. $error .'</small> ' : '');  ?>

      <form action="login.php" method="post">
         <input type="text" name="username" autocomplete="off">
         <input type="password" name="password" autocomplete="off">
         <input type="submit" name="btnSubmit" value="Login">   
      </form>

   </div>             
</body>
</html>


اگر سشن ست شده باشه ریدایرکت میشه به صفحه ی index.php ادمین.
در ابتدای تمام صفحات ادمین مثل index.php هم باید چک کنی ببینی سشن ست شده یا نه.اگر ست نشده بود redirect کنی به صفحه ی login.php یا جایی دیگه.
این کدو در یک فایل بنویس و در ابتدای تمام صفحات ادمین فایل رو اینکلود کن:
کد:

if(!isset($_SESSION))
{
   @session_start();
}

if (!isset($_SESSION['logged_in']))
{
   @header('Location: login.php');
   exit('<meta http-equiv="Refresh" content="0;url=login.php">');
}


کدهایی که نوشتمو تست نکردم.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2020. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc