-1

我只是从 PHP 开始,如果我感到困惑,很抱歉。

我创建了我的索引页面 (index.php),方法是使用 HTML 布局并使用 CSS 设置样式。

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

所以在我的主页(index.php)上,我有一个注册和登录表单。我还不一定担心注册表格,但更多的是登录表格。我还找到了有关如何执行此操作的教程,但它的工作方式与我希望它的工作方式略有不同。

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

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

任何意见,答案或建议表示赞赏!

谢谢!-瑞安

4

2 回答 2

0

结构完全取决于您 - 您可以将所有内容放在一个页面上,或者为所有内容(索引、登录、控制、错误等)提供大量页面。一旦您的网站发展壮大,您需要决定什么最有效。

关于语言更改,您也可以扩展 Javascript 以设置语言 cookie。在每个页面的顶部(考虑包含或配置文件的好时机,这样您就不必重复您的代码)您需要检查该 cookie,如果它存在并且它具有适当的值,您可以要么在页面加载后触发您的 Javascript 来更改它,要么使用 PHP 自动生成翻译页面。

于 2013-01-28T00:41:52.080 回答
-1

理想情况下,我们会看到一些您自己的代码......但是......

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

1) 你需要为你的 HTML 表单命名,并给它一个 index.php 的动作;

见:http ://www.w3schools.com/tags/tag_form.asp

<form action="index.php" method="post">

2) 使用合适的 ID 和名称命名您的用户名和登录框;

见:http ://www.w3schools.com/tags/att_input_name.asp

<input type="text" name="name"><br>
<input type="text" name="password"><br>

3) 添加一个带有一些内联 PHP 的 Div 标签,让您的用户知道他们的用户名或密码是否不正确;

见:http ://www.w3schools.com/php/default.asp

<div><?PHP echo $ErrorText ?></div>

4) 添加提交按钮

<input type="submit" value="Login">

5) 添加一些 PHP,在提交表单时读取登录和密码框 PostBack 值;

见:http ://www.w3schools.com/php/php_post.asp

$UserName = $_POST['name'];
$Password= $_POST['password'];

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

见: http: //php.net/manual/en/mysqli.quickstart.php

$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();

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

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

您还需要将用户信息存储为 cookie 或会话。有关此信息,请参阅;http://www.w3schools.com/php/php_cookies.asphttp://www.w3schools.com/php/php_sessions.asp

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

请注意......我没有测试过上面的任何代码,所以可能会有奇怪的错误......但这应该能让你继续前进!

于 2013-01-28T11:11:20.547 回答