【问题标题】:Javascript creating a username using inputsJavascript 使用输入创建用户名
【发布时间】:2014-07-18 21:17:25
【问题描述】:

我有一个表单,用户可以在其中输入各种信息。输入选择的名称允许用户输入选择的用户名,但需要集成隐藏输入以便创建系统用户名。

系统用户名由javascript函数在页面提交时生成,由Family name、街道地址、Given name中的第一个字母组成;月份的数字日期;以及提交时间的数字秒字段。例如:用户在 2014 年 4 月 25 日 12:31:16 注册了名称 Bernardo O'Higgins,地址 213 Liberator St。他的系统用户名是 OLB2516。只是为了让我看看它是否有效,目前系统用户名没有隐藏,只是一个普通的文本框。

我完全迷失了,因为我不知道该怎么做,希望有人能帮助我?这是我的集成表单的 php 文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />

<title>Registration</title>


</head>

<body>
<?php
$conn = mysql_connect("localhost", "....", ".....");
mysql_select_db("tipping291", $conn)
or die ('Database not found ' . mysql_error() );




mysql_close($conn); 
?>

<div id="container">
<div id="header">

<h1>Registration</h1></div>

<div id="menu">
<a href="home.php"><h2>Homepage</h2></a><br />
<a href="rego.php"><h2>Registration</h2></a><br />
<a href="userlogin.php"><h2>User Login</h2></a><br />
<a href="adminlogin.php"><h2>Administrator Login</h2></a><br />
<a href="tipping.php"><h2>Tipping</h2></a><br />
<a href="termsnconditions.php"><h2>Terms & Conditions</h2></a><br />
</div>

<form id="rego" action="<?php echo 
htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" onSubmit="return       validateForm()">

<label>Given Name:</label> <input type="text" name="gname"><br />
<br />
<label>Middle Name: </label><input type="text" name="mname"><br />
<br />
<label>Family Name:</label> <input type="text" name="surname"><br />
<br />
<label>Chosen Username:</label> <input type="text" name="username"><br />
<br />
<label>Address:</label> <input type="text" name="address"><br />
<br />
<label>Postcode: </label><input type="text" name="postcode"><br />
<br />
<label>State:</label> <input type="text" name="state"><br />
<br />
<label>Tel number: </label><input type="text" name="tel"><br />
<br />
<label>Password:</label> <input type="password" name="password"><br />
<br />
<label>Password confirmation:</label> <input type="password" name="passconfirm"><br />
<br />
<label>System username</label> <input type="text" name="susername" >
<input type="submit" value="submit">
</div>
</form>
</body>

</html>

Sombody PASE 能帮帮我吗!!!!!!我还没有成功

【问题讨论】:

  • 如果系统名是客户端生成的,你打算如何保证唯一性?
  • 你的问题是什么?你不知道如何生成系统用户名,将数据保存到数据库或什么?
  • 我不知道如何创建系统用户名。 @scragar 这是我正在做的一个小项目,所以唯一性是个问题

标签: javascript php forms


【解决方案1】:

我觉得here找到的代码更适合生成随机字符串(可以放20个字符而不是10个)

您也可以只在时间或用户电子邮件中使用 md5()...

而且你不必担心用 javascript 创建它,如果这是随机生成的,你可以在 php 中创建它。

如果你真的需要用 javascript 来做......this post.. 有 CaffGeek 的回答。谁可以帮助你

【讨论】:

    【解决方案2】:

    在关闭}function validateForm() { 之前添加以下代码并尝试

    var username = '';
    var date = new Date();
    $.each(['surname', 'address', 'gname'], function() {
        username += $.trim($('input[name="' + this + '"]').val().replace(/\d+/g, '')).substring(0, 1);
    });
    username += date.getDate() + '' + date.getSeconds();
    $('input[name="susername"]').val(username);
    

    jsBin

    【讨论】:

    • 我如何从隐藏的输入'susername'调用这个函数
    • 您可以在验证功能中通过$('input[name="susername"]').val(username); 做到这一点。在function validateForm() { 中添加上述代码并尝试,答案已更新
    • 不起作用,我有一个名为系统用户名的输入框(上面编辑过的帖子)来测试并查看该功能是否正常工作。它没有
    • 确保在validateForm中添加上述代码在function的末尾,例如jsBin链接jsbin.com/vetazako/1/edit
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多