2016-09-26 163 views
0

如何登錄並保持當前頁面?採用這種結構無論我正在訪問該頁面,當我登錄,我總是降落在主頁上:這裏是從配置,登錄和main.php文件中的代碼:登錄重定向PHP

MGconfig文件

<?php 

$user = 'root'; 
$pwd = ''; 
$server = 'localhost'; 
$bdschema = 'MG'; 

// mysql(i) form improved 
$connection = mysqli_connect($server,$user, $pwd, $bdschema); 

if (mysqli_connect_error()) { 
    echo "Error to DB ..." .mysqli_error($connection); 
    exit; 
}; 

mysqli_set_charset($connection, "utf8"); 
//print_r($connection); 


?> 

的login.php(login文件)

<?php 

session_start(); 

$error=""; 
$successMessage=""; 

if ($_POST){ 
    if(!isset($_POST["salada"]) || $_POST["salada"]===""){ 
    $error = "PHP: An email is required <br>"; 
} 


//If some field is missing, there's an error 

if(!isset($_POST["arroz"]) || $_POST["arroz"]===""){ 
    $error .= "PHP: A password is required"; 
} 

if ($error !=""){ 
    $error = '<div class="error-login">'.$error.'</div>'; 

    //try to do login 

}else { 

    //connect to DB 
    require("MGconfig.php"); 

    //read parameters (fields) 

    $email = mysqli_real_escape_string($connection, $_POST["salada"]); 
    $pwd = md5(mysqli_real_escape_string($connection, $_POST["arroz"])); 

    //var_dump($email.$pwd); 

    $result = mysqli_query($connection, "select name, id from users where email = '".$email."' and password = '".$pwd."'"); 

    // alerta erro 
    if (mysqli_num_rows($result) !==1){ 
     $error='<div class="error-login">PHP: Invalid email or password</div>'; 
     header("Location:index.php?error=".$error); 

    }else { 

      $nome = mysqli_fetch_row($result); 

      $_SESSION["name"] = $nome[0]; 
      $_SESSION["id"]=$nome[1]; 

      header ("Location: main.php"); 
      } 
      } 


     } 

     ?> 

MAIN.PHP FILE

 <?php 
     session_start(); 
     ?> 

     <?php 

     include "menu.php"; 


     if(isset($_GET["area"])){ 
     $destino = $_GET["area"]; 
     } else { 
     $destino = "index"; 
     } 

     switch($destino){ 

     case "formsubmit":{ 
      include("formsubmit.php"); 
      } break; 
     case "index": { 
      include("inicio.php"); 
     } break;  

     case "videos": { 
      include("videos.php"); 
     } break; 

     case "FAQs": { 
      include("FAQs.php"); 
     } break; 

     case "quemsomos": { 
      include("quemsomos.php"); 
     } break; 

      case "form": { 
      include("form.php"); 
     } break;        

     default: { 
      include("inicio.php"); 
     } break; 

     } 



     ?> 
     </div> 

     <div> 

    <?php 

    include "footer.php"; 

     ?> 
    </div> 
+1

最簡單的方法TS添加查詢參數鏈接,將您帶到登錄頁面,例如'Login',然後將該查詢參數用於您的位置標題。 – Scott

+0

感謝您的答案,但它不工作 - 它說「對象沒有找到...」在PHP中的一種新的 – icenine

+0

當你改變你的登錄鏈接 - 改變'header(「Location:main.php」);''標題(「位置:main.php面積=?」 $ _GET [「重定向」);' – Scott

回答

1

斯科特和MounirOnGithub:這個工作(login文件)

 header ("Location: main.php?area=".$_POST["area"]); 
0

我看到你有一個include('form.php');在你的main.php文件中。

試圖將財產行爲添加到您的形式是這樣的:

<form action="your redirect"> 
    <!-- your code here --> 
</form> 
+0

我的當前

是登錄文件本身,所以程序讀取這個文件,這是我的地方有標題位置(main.php)...和主要是你在哪裏找到一個指定區域的開關...我沒有得到它 – icenine

+0

也許這是因爲你做了'Login'我看到它會重定向到inicio。 php'在你的'main.p hp',正如你在最近的評論中所說的 – MounirOnGithub

+0

我已經嘗試過基於你們的建議的每種可能的組合......我仍然獲得404頁面...感謝anyaway,乾杯 – icenine