PHP新手问题-登录和cookie

PHP新手问题-登录和cookie,php,html,forms,cookies,login-system,Php,Html,Forms,Cookies,Login System,我刚开始学习PHP,如果我有点困惑,很抱歉 我创建了我的索引页面(index.php),用HTML对其进行布局,并用CSS对其进行样式化 我有几个问题想问,以便对我需要看什么或做什么有一个基本的了解 因此,在我的主页(index.php)上,我有一个注册和登录表单。我还不一定担心注册表格,但更多的是登录表格。我还找到了一个关于如何做到这一点的教程,但它的工作原理与我希望它的工作原理略有不同 我需要用户登录并进入控制面板(可能是control.php)。我猜这相当简单。但是如果用户出错,我需要在索

我刚开始学习PHP,如果我有点困惑,很抱歉

我创建了我的索引页面(index.php),用HTML对其进行布局,并用CSS对其进行样式化

我有几个问题想问,以便对我需要看什么或做什么有一个基本的了解

因此,在我的主页(index.php)上,我有一个注册和登录表单。我还不一定担心注册表格,但更多的是登录表格。我还找到了一个关于如何做到这一点的教程,但它的工作原理与我希望它的工作原理略有不同

我需要用户登录并进入控制面板(可能是control.php)。我猜这相当简单。但是如果用户出错,我需要在索引页(在登录表单下)上显示错误消息。那么,我需要创建一个名为login.php的单独页面来设置表单上的操作,还是应该将操作设置为index.php并将登录代码放在主页上

另一件事是语言的改变。首先,我提供这个网站的法语、西班牙语,当然还有英语。我有一个选择框,onchange运行一个javascript函数,将所有文本(使用.InnerHTML)更改为该语言,但我想确保用户不必每次访问网站时都这样做。我猜你是用饼干做的。但是我该怎么做呢?通过使用“表单”,我可以(在页面加载时)查看哪种语言,然后访问www.mysite.com/index.php?english。。我对这个完全不熟悉。。基本上,我在问你怎么做?我可以保留Javascript函数,还是必须将其重新编码为PHP(文本转换器)

如有任何意见、答案或建议,我们将不胜感激

谢谢!
-Ryan

结构完全由您决定-您可以在一个页面上拥有所有内容,也可以拥有大量的页面(索引、登录、控制、错误等)。你需要决定什么将工作得最好,一旦你的网站增长


关于语言更改,您可以扩展Javascript以设置语言cookie。在每个页面的顶部(考虑include或config文件的好时机,这样您就不必重复代码),您需要检查cookie,如果它存在并且具有正确的值,您可以在页面加载后触发Javascript对其进行更改,或者使用PHP自动生成翻译后的页面。

理想情况下,我们可以看到您自己的一些代码。。。然而

我需要用户登录并进入控制面板(可能是control.php)。我猜这相当简单

1)您需要为HTML表单命名,并给它一个index.php操作

见:

6) 添加一些代码和SQL来检查用户名和密码

见:

7)检查密码,如果正确,重定向到控制面板,否则报告错误

if ($row['Password'] == $Password)
{
    header('Location: http://www.example.com/control.php');
}
else
{
    $ErrorText = "Incorrect Username or Password!";
}
您需要将用户信息存储为cookie或会话。有关此信息,请参阅;及

对于语言改变者来说,正如Shomz所说,有很多方法可以做到这一点。但是使用PHP显示所有文本是这里最好的方法


请注意。。。我没有测试过上面的任何代码,所以可能会有奇怪的错误。。。但无论如何,这会让你走的

你和这个Ryan相处得怎么样?你让它工作了吗?@PGallagher谢谢你回来检查!对不起,我没有对上一篇文章发表评论。在过去的几天里,我学到了很多关于PHP的知识!你创建的答案对我帮助很大,在我的第一个动态网站构建过程中,我回来看了很多。回答你的问题,是的,我确实让它工作了。再次感谢-RyanTo add-on。。然而,我没有让语言转换程序工作。我决定以后再提供这个附加组件。现在这并不太重要,所以我只关注登录和其他页面。太棒了。。。很高兴我能帮忙!!!!
<input type="text" name="name"><br>
<input type="text" name="password"><br>
<div><?PHP echo $ErrorText ?></div>
<input type="submit" value="Login">
$UserName = $_POST['name'];
$Password= $_POST['password'];
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    die();
}

if (!($stmt = $mysqli->prepare("SELECT * FROM Users WHERE UserName = '$UserName'))) {
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
    die();
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    die();
}

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
    die();
}

if ($res->row_count > 1) {
    echo "Too many users!";
    die();
    }

$row = $res->fetch_assoc();
if ($row['Password'] == $Password)
{
    header('Location: http://www.example.com/control.php');
}
else
{
    $ErrorText = "Incorrect Username or Password!";
}