2016-02-03 249 views
1

我想從一個HTML表單一些變量在名爲management.php文件名爲vars.php另一個PHP文件和存儲變量,然後使用這些通過將它們包含在其他php文件中。存儲變量

<form method="post" action="vars.php"> 
    <input type="text" name="text"> 
    <input type="submit" value="submit"> 
</form> 

而且在vars.php這些代碼:

<?php 
    $text = $_POST['text']; 
    ?> 

然後在像其他一些文件中使用這些變量

所以我在management.php寫這些代碼index.html

<?php 
include 'vars.php'; 
echo $text; 
?> 

但它不工作...
我得到以下錯誤:

Notice: Undefined index: text in C:\xampp\htdocs\demo\vars.php on line 10

Im相當的PHP新的,請幫助我。

+6

您今天已經問了一個類似的問題,並在這裏提供了很好的答案:http://stackoverflow.com/questions/35174845/connect-two-php-variables – Daan

+2

您需要使用會話,cookie或數據庫。 PHP變量不會像那樣「存儲」,如果你改變page/reload /等等,變量將是空的,除非你再次設置它們。 – Epodax

+0

@達安不,它不一樣。我想將它們存儲在其他文件中並將其用於將來。會議不是我所期待的。 –

回答

0

不能變量保存到一個文件,但你可以將其存儲到sessioncookie

與會話

要做到這一點,首先需要在每個PHP文件中加入這一行你使用方法:

session_start(); 

然後,您可以在SESSION變量存儲這樣的:

<?php 
    $_SESSION['color'] = $_POST['color']; 
    $_SESSION['text'] = $_POST['text']; 
?> 

而且你可以用它在另一個文件是這樣的:

<?php 
    echo $_SESSION['color']; 
?> 

用一個cookie

但是,如果你想在你的網站再次訪問使用它,你應該使用cookie像這樣的:

<?php 
    setcookie('text',$_POST['text']); 
    setcookie('color',$_POST['color']); 
?> 

並使用它像這樣從你的網站的任何PHP文件:

<?php 
    echo $_COOKIE['text']; 
    echo $_COOKIE['color']; 
?> 

注意:

的DATAS不會存儲到服務器上,但在客戶端計算機中的文件。

如果客戶端恢復他的計算機,變量將無法使用。

+0

Thanx,但我想爲某人創建一個管理面板,以便能夠編輯該網頁,並將其編輯爲future.session不會留下將來Cokkie仍然存在? –

+0

Cookie將保留,但分別爲每個用戶。如果您想爲所有用戶存儲它們,則需要使用數據庫。 –

-1

html文件不能讀取php文件,所以你得到了錯誤。給表單action.it中的php文件名稱將工作。

+0

靜態HTML文件也不會報告PHP錯誤!由於op收到PHP通知,這意味着HTML文件通過PHP解釋器運行。沒有必要改變其擴展名。 – axiac

+0

它不給PHP的錯誤,它給未找到錯誤,因爲它不會能夠讀取它。 –

+0

你在哪裏看到「未找到」部分?他正在清除「通知...」錯誤。 – Epodax

1

你不能那樣做。在表單中提交var.php $ _POST ['text']從表單中獲取值。但是使用「include'var.php';」 $ text將嘗試查找$ _POST ['text']的值。所以它顯示「未定義索引」錯誤。

爲此,而無需使用會話你可以像

  1. 在var.php

    <?PHP

    $content = '<?php $text="' .$_POST['text'] . '"; ?>'; 
    
    file_put_contents('./path/variables.php', $content); 
    

    ? >

  2. index.html中

    <?PHP

    include './path/variables.php'; 
    
    echo $text; 
    

    ? >

在這裏,我創建了一個新的php文件並保存該變量然後使用它。