使用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///
}
所以问题是,是否可能,如果是这样,我怎样才能将新变量附加到来自不同文件的现有数组?
任何帮助都会很棒!!谢谢!
答案 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对象(例如,您可以定义的用户对象)序列化到文件中,然后对其进行反序列化。您可以构建一个位置来存储您的用户数据,就像那些不是数据库的用户数据一样。我并不是说这对生产环境来说是可取的。