我顯示類似的線程,但無法通過它們清除。從php文件發佈變量到另一個php文件
page1.php中
<?php
$id = 1234;
//Post $id to page2.php
?>
使page2.php
<?php
$user_id=$_POST['id']; //should receive id posted from page1.php
?>
我顯示類似的線程,但無法通過它們清除。從php文件發佈變量到另一個php文件
page1.php中
<?php
$id = 1234;
//Post $id to page2.php
?>
使page2.php
<?php
$user_id=$_POST['id']; //should receive id posted from page1.php
?>
其實你是不是送id
參數,以此來Page2.php
Page1.php
<?php
$id = 1234;
header("location:page2.php?id=$id");//Post $id to page2.php
?>
Page2.php
<?php
echo $user_id=$_GET['id']; //should receive id posted from page1.php
?>
您可以使用sessions此也,向你展示你的選擇是什麼。
這一方法在POST方法(使用都在同一個文件的形式方法)
表法(page1.php中)
<?php
session_start();
$id = $_SESSION["id"] = $_POST['id'];
if(isset($_POST["submit"])){
echo $id;
echo "<br>";
echo "<a href='page2.php'>Click to see session ID on next page</a>";
}
?>
<form action="" method="post">
Enter ID:
<input type="text" name="id">
<br>
<input type="submit" name="submit" value="Submit">
</form>
使page2.php
<?php
session_start();
$user_id=$_SESSION["id"];
echo $user_id; // will echo 1234 if you entered "1234" in the previous page.
常規會話方法(page1.php)
<?php
session_start();
$id = $_SESSION["id"] = "1234";
echo $id; // will echo 1234
使page2.php
<?php
session_start();
$user_id=$_SESSION["id"];
echo $user_id; // will echo 1234
腳註:
然後,您可以使用相同的(會話)變量成員的登錄區,數據庫實例。
這是重要保持session_start();
包括在使用會話的所有頁面內,並在頂部。
如果您在本一起使用header()
,那麼你將需要之前session_start();
否則添加ob_start();
(如埃坦在註釋說明)「$_SESSION
值將是無法解決的。「
header()
例如:
<?php
ob_start();
session_start();
$user_id=$_SESSION["id"];
if(isset($_SESSION["id"])){
header("Location: members_page.php");
exit;
}
else{
header("Location: login_page.php");
exit;
}
你也可以更換:if(isset($_SESSION["id"]))
與if(!empty($_SESSION["id"]))
要實現退出頁面,你就需要使用session_destroy();
好東西不會忘記「session_start();」,否則$ _SESSION值將無法解析。 – Eitan
您提出了一個很好的觀點,我會爲此添加一個註釋,謝謝。 '+ 1'發表評論。 @Eitan –
感謝,但我可以用'POST '在這裏?怎麼做? – user3245689
我喜歡你的答案,但由於點數太少而不能滿意... – user3245689
@ user3245689,你不能使用'POST '在這裏。請使用'cURL' :) –