使用PHP将变量从单独的文件追加到数组中

时间:2014-05-03 21:44:03

标签: php arrays forms

使用PHP,但不使用mysql(因为我的导师不需要)我尝试创建用户登录表单,一旦提交, 如果存在信息,程序将扫描另一个文件。 如果用户没有先前的信息,他们会创建一个。

我试图找到一种方法将这些新用户传递/用户名附加到一个数组,该数组将位于与包含用户/传递输入表单的文件不同的文件中。

当用户返回并填写他们新创建的信息并登录时, 程序检查输入的信息(变量)是否确实包含在数组中。

所以......我试图做一些事情:

<?php
include "fileContainingArray.php";

print <<<here
<form method="post">
<input type="text" name="user"/>
<input type="text" name="pass"/>
<input type="submit" name="login"/>
</form>

<form method="post">
<input type="text" name="newuser"/>
<input type="text" name="newpass"/>
<input type="submit" name="createnew"/>
</form>

here;

if(isset($_POST["createnew"])){

/////append newly created login info to an array w/usernames and array w/passwords
}

if(isset($_POST["login"])){

if (in_array('username', $user) && in_array('password', $password)) {
///grants access///
}

所以问题是,是否可能,如果是这样,我怎样才能将新变量附加到来自不同文件的现有数组?

任何帮助都会很棒!!谢谢!

2 个答案:

答案 0 :(得分:0)

应该可以从当前文件中轻松访问另一个文件中的数组。

$anotherArray['index'] = $newVar;

OR

array_push($anotherArray, "index", $newVar);

但是,我认为您正在尝试使用正确的登录/注销系统。在这种情况下,您应该设置一个数据库,可能是MySQL。 PHP会话结束时会刷新变量,因此无法创建永久用户,并将数据存储在“文本”中。文件效率很低,可能导致访问等问题。

答案 1 :(得分:0)

检查http://www.php.net/manual/en/function.serialize.php。您可以将PHP对象(例如,您可以定义的用户对象)序列化到文件中,然后对其进行反序列化。您可以构建一个位置来存储您的用户数据,就像那些不是数据库的用户数据一样。我并不是说这对生产环境来说是可取的。