2014-03-31 28 views
0

因此,即時通過解決如何製作選項標籤時遇到問題,因此當按下它時,會在所有頁面上執行操作 這就是我這樣做:從選擇標記使選項保持不變,在重新加載或更改頁面後,PHP

index1.php 
include 'select.php' 
<title>Ultra 2014 <?php if (isset($title)) {echo $title;} else{echo "Miami";}?> Area</title> 

index2.php 
include 'select.php' 
<title>Ultra 2014 <?php if (isset($title)) {echo $title;} else{echo "Miami";}?> Area</title> 

select.php 

<div id="regContainer"> 
    <form id="regionSelect" action="<?php $_SERVER['PHP_SELF'] ?>" method="post" onchange="this.form.submit();" > 
     <select id="selectedRegion" name="selectedRegion" size="1" autocomplete="off"> 
      <option value="miami">miami</option> 
      <option value="new york">ny</option> 
     </select> 
     <input type="submit" value="Enter Region" /> 
    </form> 
</div> 


process.php 
<?php if(!isset($_SESSION)){ session_start();} 


    if(isset($_POST['selectedRegion'])){ 

    $region = $_POST['selectedRegion']; 

    if($region == "miami"){ 
    echo "miami selected"; 

    $title = "miami"; 

    } 

    if($region == "new york"){ 
    echo "new york selected"; 

    $title = "new york"; 

    } 


    } 
?> 

當我按下第一個選項,它通常將標題上index1.php,但是當我去index2.php ......它不會改變頁面的標題,我必須再次按下第一個選項按鈕才能進行更改。 無論如何,只要按下選擇中的第一個選項,然後更改所有頁面的標題,而無需再次按下按鈕?

任何建議都會有所幫助。由於

+0

使用Cookie ..... – underscore

+0

您必須在選擇中查看每個選項,並且如果前一個窗體的值等於該選項,則添加'selected =「selected」'選擇該選項。 –

+0

感謝您的幫助,如何設置Cookie? – MusicProgrammer

回答

1

使用您目前有你可以做以下

<form id="regionSelect" action="<?php $_SERVER['PHP_SELF'] ?>" method="post" onchange="this.form.submit();" > 
     <select id="selectedRegion" name="selectedRegion" size="1" autocomplete="off"> 
      <option <?php if($_REQUEST['selectedRegion'] == 'miami') echo "selected"; ?> value="miami">miami</option> 
      <option <?php if($_REQUEST['selectedRegion'] == 'newyork') echo "selected"; ?> value="newyork">ny</option> 
     </select> 
     <input type="submit" value="Enter Region" /> 
    </form> 

這將確保該選項在頁面刷新選擇的代碼。如果你想要的東西,也作用於頁面的變化,那麼你將需要使用cookie

if(isset($_REQUEST['selectedRegion'])){ 
    setcookie("region", $_REQUEST['selectedRegion'], time()+3600); 
} 

<form id="regionSelect" action="<?php $_SERVER['PHP_SELF'] ?>" method="post" onchange="this.form.submit();" > 
      <select id="selectedRegion" name="selectedRegion" size="1" autocomplete="off"> 
       <option <?php if($_COOKIE["region"] == 'miami') echo "selected"; ?> value="miami">miami</option> 
       <option <?php if($_COOKIE["region"] == 'newyork') echo "selected"; ?> value="newyork">ny</option> 
      </select> 
      <input type="submit" value="Enter Region" /> 
     </form> 
+0

感謝您的回覆矢量..我想了頁面刷新部分..但我怎麼能在頁面更改? – MusicProgrammer

+0

我的cookie示例將在頁面更改 – Vector

+0

上感謝Vector,選項現在在更改頁面時保持不變...但沒有執行我在index1.php上執行的操作 所以我想要的是每當我按下該按鈕將使按鈕在所有頁面上的操作,改變所有頁面的標題。 任何建議要做到這一點?感謝您的幫助 – MusicProgrammer

0

您需要更改

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

要只是

session_start(); 

你在說什麼當前是如果你有一個會話集,不要加載會話庫然後使用該會話數據。

+0

感謝您的建議瑞恩,但如果我這樣做,我得到這個錯誤: 注意:會話已經開始 - 忽略session_start() – MusicProgrammer

相關問題