在我的php脚本中,我有一个简单的username/email exists条件,但是我想把这个错误(如果存在的话)放在html的某个地方,这样我就可以设置它的样式并将它放置在我的表单上。Echo只是把它放在左上角。我该怎么做?设置变量似乎不是最佳解决方案。
<?php
require('connect.php');
if(isset($_POST["register"])){
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
$username = mysqli_real_escape_string($conn, $username);
$password = mysqli_real_escape_string($conn, $password);
$email = mysqli_real_escape_string($conn, $email);
$conflictUserQuery = "SELECT username FROM members WHERE username='$username'";
$conflictUserResult = mysqli_query($conn, $conflictUserQuery);
$conflictUserRow = mysqli_fetch_array($conflictUserResult, MYSQLI_ASSOC);
$conflictMailQuery = "SELECT email FROM members WHERE email='$email'";
$conflictMailResult = mysqli_query($conn, $conflictMailQuery);
$conflictMailRow = mysqli_fetch_array($conflictMailResult, MYSQLI_ASSOC);
if(mysqli_num_rows($conflictMailResult) ==1){
echo "Could not be registered. Mail exists.";
}
elseif(mysqli_num_rows($conflictUserResult) ==1){
echo "Could not be registered. Username exists.";
}
else{
$registerQuery = mysqli_query($conn, "INSERT INTO members (username, password, email) VALUES ('$username', '$password', '$email')");
if($registerQuery){
echo "Thank You! you are now registered.";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/style.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
<title>Blog</title>
</head>
<body>
<div class="flex-enable flex-center">
<div class="flex-enable flex-center semiOverride flex-center px100">
<div class="flex-enable flex-center flex-column">
<h2 class="big-white-title">Register.</h2>
<h3 class="medium-white-title">Be a part of this.</h3>
<form class="flex-enable flex-center flex-column" method="POST">
<input class="form-input-text small-white-title" type="text" name="username" placeholder="Username">
<input class="form-input-text small-white-title" type="text" name="password" placeholder="Password">
<input class="form-input-text small-white-title" type="text" name="email" placeholder="e-mail">
<input class="form-button small-white-title" type="submit" name="register" value="Register">
</form>
<h3 class="small-white-subtitle">Or <a id="register" href="">login</a> if you have an account.</h3>
</div>
</div>
</div>
<div id="attribution">Photo by <a href="https://unsplash.com/@meindrittesauge">Sebastian Kanczok</a></div>
</body>
</html>
正如我在评论中所说:
这可能很简单,只要在使用内联CSS样式方法时为其指定一个变量即可:
$error = "<span style=\"color:red;\">Error message here.</span>";
您还可以将样式表与.error
类(可用于多个实例,而不是#id
)一起使用,并将其应用于错误元素,只需将$error
变量放置在您希望它出现的位置,并使用isset()
。
注意:isset()
的使用非常重要,因为它可以避免可能出现的未定义变量通知。
也可以使用三元运算符:
这对于类似的东西也很有效,因为您可以为它设置默认消息。
如评论中所述,最好使用预先准备好的语句,强烈建议使用安全的密码存储/哈希方法。
参考资料:
早些时候,我部署了我的页面的一个新版本,安装了一个服务工作者,该服务工作者应该只在安装时缓存一个脱机页面,如果服务工作者由于脱机而无法获取文档,则应重定向到此缓存的脱机页面。 现在有些东西没有按预期工作,有时服务人员会显示脱机页面,尽管他不应该显示。因此我感到恐慌,因为我找不到问题,部署了一个新版本,该版本应该注销所有服务人员。我希望每件事都能对每个人都起作用。 但是,当我想到这些问题时,我感到震
我自己想了一个实现,但觉得有点过头了,而且笨重? 我将使用用户ID作为密钥 Id然后在value部分中存储JWT令牌的hashmap。 示例 null null 这意味着在每个对受保护的apiendpoint的请求中,我必须按userId进行搜索,反序列化hashmap,循环遍历hashmap并尝试匹配在头中发送的JWT。这看起来像是一个很大的工作?还有别的办法吗? 如果一个用户想要注销,那么这个
本文向大家介绍我可以在SAP HANA中使用“自定义错误”页面吗?,包括了我可以在SAP HANA中使用“自定义错误”页面吗?的使用技巧和注意事项,需要的朋友参考一下 您是正确的,因为XSA支持自定义错误页面,但传统版不支持自定义错误消息。 如果您需要采取任何方式,那么可以尝试的是,您需要通过负载平衡器或代理解析所有请求,然后显示自定义错误消息。这不是一种简单且可维护的方法。
问题内容: 我试图更改HTML表单,输入类型文件。这是我的代码: HTML,表格ID =表格 .CSS 这两种方法均无效。我确实从某些网站(如Facebook,YouTube,Google或Twitter)看到,它们具有不同的风格。想知道他们是如何做到的。 问题答案: 您不能对输入类型的文件执行任何操作(巨大的黑客攻击除外)。我知道这听起来很可怕,但是Web标准仍然没有提出解决方案。 但是我建议您
我尝试过Launch4j,但这种方法要求我同时提供JRE和EXE。根据我的要求,我不应该使用安装程序来发布,也不应该在客户端机器上提取/安装JRE。 如何将JRE放入JAR并加以利用?
问题内容: 说我有一个带有这样的渲染的组件: 其中jewelStyle = 如何使背景颜色动态并随机分配?我试过了 但这会使View的所有实例具有相同的颜色,我希望每个实例都是唯一的。 有小费吗? 问题答案: 我通常按照以下方式进行操作: … 每次渲染View时,都会使用与之关联的随机颜色实例化一个新样式对象。当然,这意味着每次重新渲染组件时颜色都会改变,这也许不是您想要的。相反,您可以执行以