2016-02-03 182 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文件并保存该变量然后使用它。