Я создал базовую регистрационную форму, которая работает с полной функциональностью. Единственная проблема заключается в том, что ошибки, которые появляются, довольно далеко вверху слева от экрана, и это выглядит довольно неудобно. Наряду с этим, похоже, что он не имеет отношения к ошибке отображения текстового поля. Я хочу, чтобы сообщение об ошибке отображалось в подсказке таким образом, как конкретное сообщение в определенном текстовом поле.как отобразить сообщение об ошибке как подсказку в php
а также если пользователь делает успешный вход в систему, я хочу, чтобы он перенаправил его на страницу входа, но на моей веб-странице он умирает из-за этого утверждения.
die ("<h2> Welcome</h2>Login to get started...");
Просьба также предоставить альтернативу для этого. любая помощь определенно будет оценена.
if ($reg) {
if ($em==$em2) {
$e_check = mysql_query("SELECT email FROM users WHERE email='$em'");
$checke = mysql_num_rows($e_check);
$u_check = mysql_query("SELECT username FROM users WHERE username='$un'");
$check = mysql_num_rows($u_check);
if ($check == 0 && $checke == 0) {
if ($fn&&$ln&&$un&&$em&&$em2&&$pswd&&$pswd2) {
if ($pswd==$pswd2) {
if (strlen($un)>25||strlen($fn)>25||strlen($ln)>25) {
echo "Username/ First Name/ Last Name cannot exceeds 25 characters!";
}
if (strpos($un, " ") !== false){
echo "Your username cannot have a space character.";
}
if (strpos($em, "@") == false){
echo "Invalid Email";
}
else {
if(strlen($pswd)>30||strlen($pswd)<5) {
echo "Your password must be between 5 and 30 characters long!";
}
else{
$pswd = md5($pswd);
$pswd2 = md5($pswd2);
$query = mysql_query("INSERT INTO users VALUES ('', '$un','$fn','$ln','$em','$pswd','$d','0','Write something about yourself.','','')");
die ("<h2> Welcome</h2>Login to get started...");
}
}
}
else{
echo "Your passwords doesn't match!";
}
}
else{
echo "Please fill in all the fields";
}
}
else{
echo Username already taken or Email already registered
}
}
else{
echo "Your E-mails doesn't match";
}
}
HTML:
<form action="#" method="POST">
<input type="text" name="fname" size="25" placeholder="First Name" />
<input type="text" name="lname" size="25" placeholder="Last Name" /><br><br>
<div data-tip="Make Sure you remember your username. You'll need it at the time of login. Your username should not have space in between.">
<input type="text" name="username" size="56" placeholder="User Name" /></div><br><br>
<input type="text" name="email" size="56" placeholder="Email Address" />
<input type="text" name="email2" size="56" placeholder="Please re-enter your Email Address" /><br><br>
<input type="password" name="password" size="47" height="30" padding="30" placeholder="Password" /><br><br>
<input type="password" name="password2" size="47" height="30" placeholder="Please re-enter your Password" /><br><br>
<input type="submit" name="reg" value="Sign Up and learn!" />
</form>
Ajax будет лучшим вариантом. – Deep
Я не дружу с AJAX. –
Вы должны получить много * новых друзей * s, как вы должны потерять 'mysql_ *', поскольку это устарело, а 'md5()' небезопасно для хэширования паролей. Начните использовать 'password_hash()' и 'PDO' или' mysqli_ * 'вместо этого. Вы можете начать дружить с AJAX, тем временем :) – Nytrix