如何连接到我的数据库与javascript和更改用户的用户名

How to connect to my database with javascript and change a users username

本文关键字:用户 javascript 数据库 何连接 连接 我的      更新时间:2023-09-26

现在我有一个网站,我只允许大约五个人登录。

这五个人每次登录时都必须阅读保密协议并在提供的两个文本框中键入他们的名字。姓和名。当用户按下提交按钮时,如果他们的名字是正确的,他们就会被带到站点,如果他们输入的不是他们的名字,他们就会退出站点。

现在我使用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?注销页面。