Я пытаюсь показать сообщение об ошибке на той же странице. Я знаю, что мне нужно использовать javascript. Это мой код до сих пор. Однако он говорит 1 после. Я thnk это из моих numrows! == 0 как бы я избавился от этого 1.
<?php session_start(); $username = $_POST['username']; $password = $_POST['password']; if ($username&&$password) { $host_name = 'localhost'; $db_user ='root'; $db_pass = ''; $db_name = 'login'; /* Connect to MySQL */ $con = mysql_connect("$host_name","$db_user","$db_pass") or die ("Couldn't connect!"); $db = mysql_select_db("$db_name") or die ("Couldn't connect to database!"); $query = mysql_query("SELECT * FROM users WHERE username='$username'"); $numrows = mysql_num_rows($query); if ($numrows!=0) { while ($row = mysql_fetch_assoc($query)) { $dbusername = $row['username']; $dbpassword = $row['password']; } /*Check to see if they match! */ if ($username==$dbusername&&$password==$dbpassword) { echo "You're in! <a href='member.php'> Click</a> here to enter the member page"; $_SESSION['username']==$username; } else echo "Incorrect password"; } else die("That user doesn't exist!"); echo $numrows; } else die("Please enter username and/or password!"); ?>
Для этого вам не нужен JavaScript. Вы можете сделать это на PHP. Как показано ниже.
Я изменил ваш код PHP. Поместите это в файл, где вы выполняете вход в систему.
<?php session_start(); $username = $_POST['username']; $password = $_POST['password']; if (!empty($username) && !empty($password)) { $host_name = 'localhost'; $db_user ='root'; $db_pass = ''; $db_name = 'login'; $con = mysql_connect($host_name, $db_user, $db_pass) or die ("Couldn't connect!"); $db = mysql_select_db($db_name) or die ("Couldn't connect to database!"); $query = mysql_query("SELECT * FROM users WHERE username=".mysql_real_escape_string($username)." and password = ".mysql_real_escape_string($password)); $numrows = mysql_num_rows($query); if($numrows == 1) { $_SESSION['username'] = $username; //Store username to session for futher authorization header("Location: member.php"); //Redirect user to home page } else { $_SESSION['errMsg'] = "Invalid username or password"; } header("Location: login.php"); //Redirect user back to your login form } else { die("Please enter username and/or password!"); } ?>
И просто сделайте что-нибудь подобное в своей форме входа.
<?php session_start(); ?> <html> <body> <div id="errMsg"> <?php if(!empty($_SESSION['errMsg'])) { echo $_SESSION['errMsg']; } ?> </div> <?php unset($_SESSION['errMsg']); ?> </body>