我知道這個問題已經以許多不同的方式被問到,但我似乎找出了問題所在。PHP通過一個表格從一個頁面傳遞到另一個頁面的變量
基本上我有一個表單,我只需要通過會話傳遞給另一個頁面的變量。該表單是一個下拉選擇框。用戶選擇位置,然後表單進入基於該位置加載信息的頁面。
<form method = "post" action="sneakpeek.php">
<?php
$con=mysqli_connect("******","********","*******","*****");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
session_start();
$result = mysqli_query($con,"SELECT * FROM installations");
echo '<select id="selected_page">';
while($row = mysqli_fetch_array($result)) {
echo '<option value="sneakpeek.php">'.$row['name'].'</option>';
}
echo '</select>';
if($_SERVER['REQUEST_METHOD']=='POST')
{
$installation = $_POST['installation_id'];
$_SESSION['installation_id']=$installation_id;
}
mysqli_close($con);
?>
<button>Load it ! </button>
</form>
接收頁:
session_start();
$installation_id = $_SESSION['installation_id'];
<?php echo $installation_id; ?>
另外,看是否被存儲在任何會議只是'var_dump'您的會話。 'var_dump($ _ SESSION);' 這將有助於瞭解發生了什麼事情,儘管像約翰說的那樣(ps upvote),它必須在寫入任何其他內容之前從頁面頂部開始。 – EasyBB 2014-09-04 17:56:40
好的,我把session_start();在頂部。我也按照建議做了var_dump($ _ SESSION),並沒有把它結轉。任何想法爲什麼?很明顯,我創建會話的方式有些不對。 THanks – looloobs 2014-09-04 20:21:06
是否有任何包含或其他內容可能導致PHP在調用session_start()之前發送頭文件? – 2014-09-04 20:22:47