如何连接到我的数据库与javascript和更改用户的用户名
How to connect to my database with javascript and change a users username
现在我有一个网站,我只允许大约五个人登录。
这五个人每次登录时都必须阅读保密协议并在提供的两个文本框中键入他们的名字。姓和名。当用户按下提交按钮时,如果他们的名字是正确的,他们就会被带到站点,如果他们输入的不是他们的名字,他们就会退出站点。
现在我使用javascript来做这个,因为我不知道如何使用php来做这个。
如果用户在第一次登录时没有正确输入他的名字,就像我现在所做的那样,并且我还希望通过在用户名末尾添加"xxx10017969"来更改该用户的用户名。这将阻止他重新登录,并要求他与我联系,以便我可以在数据库中修复他的用户名。
这里是HTML:
<form method="post" action="index.php" style="width: 600px;"><p>By typing your first and last name below you are bound by this contract. If you type anything other than your first and last name, you will be logged out and your account will be deleted.</p>
<p><input type="text" value="First Name" name="first_name" id="first_name" />
<input type="text" value="Last Name" name="family_name" id="last_name" />
<input type="date" value="Date" name="signiature" /></p>
<p><input type="button" value="Access Site" onclick="checkforname();" /><p>
</form>
这是我的javascript:
<script type="text/javascript">
function checkforname() {
var fname = "<?php echo "$identity->first_name"; ?>";
var lname = "<?php echo "$identity->family_name"; ?>";
var enteredFname = document.getElementById("first_name").value;
var enteredLname = document.getElementById("last_name").value;
if (enteredFname == fname && enteredLname == lname) {
}
else {
window.location = ("login.php?logout");
}
}
</script>
用PHP代替javascript -
表单提交到index.php,所以逻辑应该在那里。
如果你想利用重定向到login.php的方式?登出,那么index.php必须包含如下代码:
<?php
// Code to populate $identity from the database goes here
// Checks if user entered fields match database record
if ($identity->first_name != $_POST['first_name'] ||
$identity->family_name != $_POST['family_name'])
{
// Code to disable account goes here, but need to see a sample of
// your existing php database code to show how to modify first_name
header("Location: login.php?logout");
}
请记住,在php打印包括换行符在内的任何内容之前,应该处理任何头文件。因此,如果index.php是一个"内联php"HTML页面,请确保在HTML部分开始之前在文件的最顶部执行此操作。开头的<?php
标签应该在第1行。
同样,这假设您有一种方法可以从会话或其他地方再次查找用户,以获得用用户记录填充的$identity变量。
理想情况下,这里还可以做一些其他的事情,比如对post字段中的用户输入进行消毒,检查post字段是否为空以不产生警告,但这些都是另一次的教训。
编辑:当它与数据库交互时,请显示您现有的php代码,如它如何填充$identity,否则无法提供特定的解决方案。
你不能直接用javascript连接到服务器端数据库,因为它是客户端语言。将服务器端信息获取到javascript中通常使用AJAX调用完成,告诉javascript将一些信息发布到服务器并获得响应,然后可以处理响应。
永远不要使用JavaScript验证用户。它应该总是在服务器端使用PHP完成。在客户端做用户验证是不好的,因为用户可以通过。如果您使用上面的代码,用户名和密码将在页面的源代码中,任何人都可以通过查看您的页面的源代码看到它们。
我建议这样做。当用户输入名字和姓氏时,将表单提交到login.php页面。使用PHP验证该页面上的用户,如果用户有效,则允许他通过,否则重定向到login.php?注销页面。
- 使用javascript搜索具有用户输入的数组
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使用JavaScript中的用户输入创建序列/序列
- javascript跨浏览器确定用户是否滚动到页面底部
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- 如何在ASP中为用户控件添加Javascript对象网
- Javascript没有't更新DOM,直到用户交互
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- Facebook Javascript API:'/我/相册'不适用于其他用户
- 如何在用户输入 javascript 时更改值
- 如何使用javascript localStorage保存用户选择并在不同的html页面中显示
- 如何在Javascript中创建一个所有用户都可以访问的变量
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 试图修改此javascript代码以减小弹出窗口的大小,或者在用户单击框外时关闭
- Acrobat DC 应用程序和用户 JavaScript 文件夹问题
- 401未经授权的错误读取Azure移动服务表作为认证的用户(Javascript)
- 用户/ Javascript格式化
- 通过'用户'javascript Ajax在laravel
- 在用户javascript中使用chrome.app.window.create