Javascript &引用;电子邮件是必需的;PHP注册脚本中出现错误
我目前正在编写一个脚本来执行基本的用户注册 当用户到达登录页时,我有一个JS脚本,可以从URL识别他们的电子邮件,并将其填充到电子邮件输入框中(该框已禁用)。之后,用户只需输入密码即可创建帐户。然而,PHP抛出错误“Email是必需的”,即使它是由JS脚本填充的 我已经尝试将输入框的状态更改为disabled(已禁用)到enabled(已启用),但这没有多大帮助。我已附上以下过程中涉及的文件。任何帮助都将不胜感激 fillEmail.jsJavascript &引用;电子邮件是必需的;PHP注册脚本中出现错误,javascript,php,jquery,sql,registration,Javascript,Php,Jquery,Sql,Registration,我目前正在编写一个脚本来执行基本的用户注册 当用户到达登录页时,我有一个JS脚本,可以从URL识别他们的电子邮件,并将其填充到电子邮件输入框中(该框已禁用)。之后,用户只需输入密码即可创建帐户。然而,PHP抛出错误“Email是必需的”,即使它是由JS脚本填充的 我已经尝试将输入框的状态更改为disabled(已禁用)到enabled(已启用),但这没有多大帮助。我已附上以下过程中涉及的文件。任何帮助都将不胜感激 fillEmail.js $(document).ready(function()
$(document).ready(function() {
var link = window.location.href;
var emailIndex = link.indexOf("email");
if(emailIndex != -1) {
link = link.substring(emailIndex + 6);
} else {
link = "";
}
document.getElementById("email").value = link;
//$('#email').attr('disabled', 'disabled');});
register.php
<?php include('server.php') ?>
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="header">
<h2>Register</h2>
</div>
<form method="post" action="register.php">
<?php include('errors.php'); ?>
<div hidden class="input-group">
<label>Username</label>
<input type="text" name="username" value="user">
</div>
<div class="input-group">
<label>Email</label>
<input type="email" name="email" id="email" value="<?php echo $email; ?>" disabled>
</div>
<div class="input-group">
<label>Password</label>
<input type="password" name="password_1">
</div>
<div class="input-group">
<label>Confirm password</label>
<input type="password" name="password_2">
</div>
<div class="input-group">
<button type="submit" class="btn" name="reg_user">Register</button>
</div>
</form>
</body>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous">
</script>
<script type='text/javascript' src="fillEmail.js"></script>
</html>
登记
登记
用户名
电子邮件
为了提交值,该字段不能被禁用
简单的解决方案,创建另一个字段作为(隐藏),这些都是提交的
<input type="email" id="email" value="<?php echo $email; ?>" disabled>
<input type="hidden" name="email" value="<?php echo $email; ?>">
为了提交值,不能禁用字段
简单的解决方案,创建另一个字段作为(隐藏),这些都是提交的
<input type="email" id="email" value="<?php echo $email; ?>" disabled>
<input type="hidden" name="email" value="<?php echo $email; ?>">
根据我的评论,您可以简单地使用只读
而不是禁用
来实现类似的效果。另外,请使用准备好的语句来防止SQL注入mysqli\u real\u escape\u string
是不够的根据我的评论,您可以简单地使用只读
而不是禁用
来实现类似的效果。另外,请使用准备好的语句来防止SQL注入mysqli\u real\u escape\u string
不够在点击注册按钮之前进入页面,进入“检查元素”,检查它是否确实将电子邮件的值输入到输入的值属性中。提示:表单中禁用的元素将不会提交!禁用的输入永远不会提交如果您要提交电子邮件,请使用隐藏的输入字段,并保持禁用的输入不变(或将其删除),请不要使用MD5对密码进行哈希/保存。使用password\u hash()
。在点击注册按钮之前进入页面后,进入“检查元素”,检查它是否将电子邮件的值输入到输入的值属性中。提示:表单中禁用的元素将不会提交!禁用的输入永远不会提交如果您要提交电子邮件,请使用隐藏的输入字段,并保持禁用的输入不变(或将其删除),请不要使用MD5对密码进行哈希/保存。使用密码\u hash()
。您也错过了他们对MD5的使用。您也错过了他们对MD5的使用。