Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Tôi đang xây dựng một trang web bao gồm một trang đăng nhập. Tôi cần chuyển hướng người dùng đến trang hồ sơ của họ sau khi họ đã đăng nhập thành công, nhưng tôi không biết cách làm điều đó trong PHP (đó là trang web đầu tiên của tôi).

Tôi đã tìm kiếm trên internet và đã được thông báo rằng chức năng

function redirect($url) {
    header('Location: '.$url);
    die();
}
3 nên thực hiện thủ thuật, nhưng nó sẽ chỉ hoạt động nếu tôi không xuất trình bất kỳ thông tin nào trước khi sử dụng.

Đó chính là vấn đề. Tôi đã xuất ra một loạt các thông tin (bao gồm cả HTML để tự xây dựng trang đăng nhập).

Vậy làm cách nào để chuyển hướng người dùng từ trang này sang trang khác?

Tôi có những tùy chọn nào? Ngoài ra, thực tiễn tốt nhất trong những trường hợp này là gì?


Chỉnh sửa: Đây là toàn bộ trang

function redirect($url) {
    header('Location: '.$url);
    die();
}
4 của tôi:

 
   
      
         
        Sprout
    
     
 
    
Name

Password
"; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $username = $_POST["username"]; $password = $_POST["password"]; $dbhost = "localhost"; $dbuser = "root"; $dbpass = "root"; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database"); $dbname = "database"; mysql_select_db($dbname); $query = "SELECT username FROM users WHERE username = '$username' AND password = '$password'"; $result = mysql_query($query) or die ("Failed Query of " . $query); while($row = mysql_fetch_assoc($result)) { $_SESSION["user"] = $username; } } ?>

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Hoặc xét nghiệm

4.91513 Huy hiệu vàng48 Huy hiệu bạc82 Huy hiệu đồng13 gold badges48 silver badges82 bronze badges

hỏi ngày 2 tháng 2 năm 2011 lúc 7:50Feb 2, 2011 at 7:50

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Jasonaburtonjasonaburtonjasonaburton

2.7017 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng7 gold badges32 silver badges47 bronze badges

9

Bạn có thể sử dụng một chức năng tương tự như:

function redirect($url) {
    header('Location: '.$url);
    die();
}

Đáng chú ý, bạn nên có chức năng

function redirect($url) {
    header('Location: '.$url);
    die();
}
5 hoặc
function redirect($url) {
    header('Location: '.$url);
    die();
}
6 để ngăn chặn thực thi mã thêm.

Lưu ý rằng nó không có ý nghĩa gì khi xuất ra các khối lớn của HTML nếu bạn định chuyển hướng. Do đó, bạn phải di chuyển mã xử lý biểu mẫu trên tất cả HTML. Là một tác dụng phụ, nó sẽ giảm thiểu lỗi "tiêu đề đã được gửi" khét tiếng.

Dưới đây là một hướng dẫn chi tiết hơn bất kỳ câu trả lời nào khác đã đề cập: http://www.exchangecore.com/blog/how-redirect-using-php/

Hướng dẫn này bao gồm các lý do để sử dụng các chức năng

function redirect($url) {
    header('Location: '.$url);
    die();
}
5 /
function redirect($url) {
    header('Location: '.$url);
    die();
}
6 trong chuyển hướng của bạn, cũng như khi nào nên sử dụng
function redirect($url) {
    header('Location: '.$url);
    die();
}
9 so với
if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}
0 và một số lỗi tiềm ẩn mà các câu trả lời khác đã để lại tại thời điểm này.

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Đã trả lời ngày 8 tháng 5 năm 2014 lúc 13:03May 8, 2014 at 13:03

1

Bạn có thể chuyển hướng một cách có điều kiện đến một số trang trong tệp PHP ....

if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}

Jehy

4.6491 Huy hiệu vàng36 Huy hiệu bạc55 Huy hiệu Đồng1 gold badge36 silver badges55 bronze badges

Đã trả lời ngày 26 tháng 2 năm 2016 lúc 15:19Feb 26, 2016 at 15:19

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Vishal Kumarvishal KumarVishal Kumar

4.2711 Huy hiệu vàng24 Huy hiệu bạc31 Huy hiệu đồng1 gold badge24 silver badges31 bronze badges

0

Đó chính là vấn đề. Tôi đã xuất ra một loạt các thông tin (bao gồm cả HTML để tự xây dựng trang đăng nhập). Vậy làm cách nào để chuyển hướng người dùng từ trang này sang trang khác?

Điều này có nghĩa là thiết kế ứng dụng của bạn khá bị hỏng. Bạn không nên thực hiện đầu ra trong khi logic kinh doanh của bạn đang chạy. Đi sử dụng một công cụ mẫu (như Smarty) hoặc QuickFix bằng cách sử dụng bộ đệm đầu ra).

Một tùy chọn khác (mặc dù không phải là một tùy chọn tốt!) Sẽ được xuất ra JavaScript để chuyển hướng:


Đã trả lời ngày 2 tháng 2 năm 2011 lúc 7:59Feb 2, 2011 at 7:59

ThiefmasterthiefmasterThiefMaster

304K79 Huy hiệu vàng583 Huy hiệu bạc625 Huy hiệu Đồng79 gold badges583 silver badges625 bronze badges

4

if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}
1 sẽ không hoạt động cho tất cả

Sử dụng dưới đây mã đơn giản

 location.href='new_url'; ";
        exit;
?>

Đã trả lời ngày 17 tháng 11 năm 2016 lúc 11:56Nov 17, 2016 at 11:56

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Kiran Reddykiran ReddyKiran Reddy

71412 Huy hiệu bạc28 Huy hiệu đồng12 silver badges28 bronze badges

0

Giả sử bạn đang sử dụng cookie để đăng nhập, chỉ cần gọi nó sau cuộc gọi

if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}
2 của bạn - sau tất cả, bạn phải gọi cái đó trước khi có bất kỳ đầu ra nào.

Dù sao, nói chung, bạn có thể kiểm tra sự hiện diện của tên nút gửi biểu mẫu của bạn khi bắt đầu tập lệnh, thực hiện logic của bạn và sau đó xuất bản:

if(isset($_POST['mySubmit'])) {
    // the form was submitted

    // ...
    // perform your logic

    // redirect if login was successful
    header('Location: /somewhere');
}

// output your stuff here

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 7:55Feb 2, 2011 at 7:55

YSGPJXYSGPJXySgPjx

10K7 Huy hiệu vàng58 Huy hiệu bạc77 Huy hiệu đồng7 gold badges58 silver badges77 bronze badges

Bạn có thể sử dụng

if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}
3 trước khi gửi bất kỳ đầu ra nào. Điều này sẽ yêu cầu PHP để giữ tất cả đầu ra trong bộ đệm cho đến khi thực thi tập lệnh kết thúc, do đó bạn vẫn có thể thay đổi tiêu đề.

Thông thường tôi không sử dụng bộ đệm đầu ra, đối với các dự án đơn giản, tôi giữ tất cả logic trên phần đầu tiên của tập lệnh của mình, sau đó tôi xuất ra tất cả

if (/*Condition to redirect*/){
  //You need to redirect
  header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
  exit();
 }
else{
  // do some
}
4.

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 8:02Feb 2, 2011 at 8:02

MinkieleminkieleMinkiele

1.2502 huy hiệu vàng21 Huy hiệu bạc32 Huy hiệu đồng2 gold badges21 silver badges32 bronze badges

2

Cách tiếp cận đơn giản nhất là tập lệnh của bạn xác thực dữ liệu đăng nhập được đăng trên biểu mẫu "trên đầu" của tập lệnh trước bất kỳ đầu ra nào.

Nếu đăng nhập là hợp lệ, bạn sẽ chuyển hướng bằng cách sử dụng chức năng "Tiêu đề".

Ngay cả khi bạn sử dụng "ob_start ()" đôi khi bạn bỏ lỡ một khoảng trắng duy nhất dẫn đến đầu ra. Nhưng bạn sẽ thấy một câu lệnh trong nhật ký lỗi của bạn sau đó.


Đã trả lời ngày 2 tháng 2 năm 2011 lúc 8:44Feb 2, 2011 at 8:44

initallinitallinitall

2.37519 Huy hiệu bạc27 Huy hiệu đồng19 silver badges27 bronze badges

firstly create index.php page and just copy paste below code :-





/*------------------after that ----------------------*/

create a login_check.php and just copy paste this below code :-




0)
{   

    $result = mysql_query("SELECT * FROM admin WHERE username='".$_POST["username"]."' and password = '".$_POST["password"]."'");
    $row  = mysql_fetch_array($result);

if(is_array($row)) 
{
    $_SESSION["user_id"] = $row[user_id];
    $_SESSION["username"] = $row[username];

    $session_register["user_id"] = $row[user_id];
    $session_register["username"] = $row[username];
} 
else 
{
   $_SESSION['msg']="Invalid Username or Password";
   header("location:index.php");
}
}

if(isset($_SESSION["user_id"]))
{
    header("Location:dashboard.php");
}

?>




/*-----------------------after that ----------------------*/


create a dashboard.php and copy paste this code in starting of dashboard.php








/*-----------------------after that-----------------*/ 



create a check_session.php which check your session and copy paste this code :- 



    Welcome . Click here to Logout.






if you have any query so let me know on my mail id 

Đã trả lời ngày 9 tháng 6 năm 2014 lúc 6:56Jun 9, 2014 at 6:56

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Mặc dù không an toàn, (không có hành vi phạm tội hay bất cứ điều gì), chỉ cần dán hàm tiêu đề sau khi bạn đặt biến phiên

 while($row = mysql_fetch_assoc($result))
    {
            $_SESSION["user"] = $username;
    }
header('Location: /profile.php');

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 8:10Feb 2, 2011 at 8:10

McBeavmcbeavmcbeav

11.6K19 Huy hiệu vàng53 Huy hiệu bạc83 Huy hiệu đồng19 gold badges53 silver badges83 bronze badges

12

Trên nút nhấp chuột hành động

   if(isset($_POST['save_btn']))
    {
        //write some of your code here, if necessary
        echo' ';
     }

Đã trả lời ngày 5 tháng 11 năm 2012 lúc 6:32Nov 5, 2012 at 6:32

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Pir Fahim Shahpir Fahim ShahPir Fahim Shah

10.1k1 Huy hiệu vàng78 Huy hiệu bạc79 Huy hiệu đồng1 gold badge78 silver badges79 bronze badges

function redirect($url) {
    header('Location: '.$url);
    die();
}
0

Đã trả lời ngày 3 tháng 3 năm 2017 lúc 5:11Mar 3, 2017 at 5:11

Waruna Manjulawaruna ManjulaWaruna Manjula

2.8071 Huy hiệu vàng27 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge27 silver badges30 bronze badges

Giống như bạn đã sử dụng Echo để in một trang web. Bạn cũng có thể sử dụng cũng làm như vậy với việc chuyển hướng.

function redirect($url) {
    header('Location: '.$url);
    die();
}
1

Đã trả lời ngày 26 tháng 1 năm 2020 lúc 18:48Jan 26, 2020 at 18:48

function redirect($url) {
    header('Location: '.$url);
    die();
}
2

Hướng dẫn how redirect data from one page to another in php? - cách chuyển hướng dữ liệu từ trang này sang trang khác trong php?

Đã trả lời ngày 24 tháng 12 năm 2020 lúc 11:01Dec 24, 2020 at 11:01

Chức năng PHP nào có thể chuyển hướng một trang sang trang web khác?

Chuyển hướng trong PHP có thể được thực hiện bằng hàm tiêu đề ().header() function.

Làm cách nào để chuyển hướng đến một trang khác trong trường PHP W3Schools?

Bạn có thể chuyển hướng người dùng của bạn đến một số trang khác.Lệnh sau sẽ chuyển hướng cửa sổ trình duyệt đến vị trí đã cho ngay khi lệnh được thực thi. php header("Location: http://www.example.com/"); ?> The following command will redirect the browser window to the given location as soon as the command is executed.

Tại sao PHP không chuyển hướng đến một trang khác?

Khắc phục tiêu đề PHP không chuyển hướng điều này thường xảy ra do lỗi với bộ đệm đầu ra.Nếu chúng ta sử dụng tiêu đề (vị trí của người khác: Vị trí) ;, thì cần phải sử dụng ob_start ();sớm hơn trong kịch bản.Hàm ob_start () sẽ bật bộ đệm đầu ra.This generally happens due to an error with output buffering. If we use header(“Location: “);, then it is necessary to use ob_start(); earlier in the script. ob_start() function will turn the output buffering ON.

Làm cách nào để chuyển hướng tệp HTML sang tệp PHP?

To setup a simple redirect, simply create an index. php file in the directory you wish to redirect from with the following content: < ? php header("Location: http://www.redirect.to.url.com/"); ?>