Javascript 使用php登录后在主页上进行更改
我已经为我的网页创建了注册和登录页面。问题是,我想在登录后显示用户的姓名和图像,换句话说,我想在登录后在主页上做一些更改。 这是我的代码:Javascript 使用php登录后在主页上进行更改,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我已经为我的网页创建了注册和登录页面。问题是,我想在登录后显示用户的姓名和图像,换句话说,我想在登录后在主页上做一些更改。 这是我的代码: lib.php function checkUser($username,$password){ include "connection.php"; $result = mysqli_query($conn, "SELECT * FROM `data` WHERE `username` = '$username' AND `password`
lib.php
function checkUser($username,$password){
include "connection.php";
$result = mysqli_query($conn, "SELECT * FROM `data` WHERE `username` = '$username' AND `password` = '$password'") or die("No result".mysqli_error());
$row = mysqli_fetch_array($result);
$logic = false;
if (($row['username'] == $username) && ($row['password'] == $password)) {
echo "Login is successfull. Welcome <b>".$row['username']."</b>";
$logic = true;
}
else{
echo "Failed to login. Username or password is incorrect. Try again.";
}
return $logic;
}
function logIn($username, $password){
include ("connection.php");
$_SESSION["loggedInUser"] = $username;
$_SESSION["loggedInTime"] = time();
}
<?php
include "lib.php";
if(checkUser($username,$password)){
logIn($username, $password);
header("Location: index_en.php");//goes to my main page
?>
<li><a href="#">Hello, <?php echo $username; ?></a></li>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
console.log("successfull");
$(".nav_header").remove();//I tried to change my index_en.php page, but no changes appear there
</script>
<?php
}
?>
<?php
session_start();
if(isset($_SESSION['username'])){
echo "Hello, ".$_SESSION['username'];
}
?>
函数checkUser($username,$password){
包括“connection.php”;
$result=mysqli_query($conn,“从`data`中选择*,其中`username`='$username'和`password`='$password'))或死(“无结果”.mysqli_error());
$row=mysqli\u fetch\u数组($result);
$logic=false;
如果($row['username']=$username)&&($row['password']=$password)){
echo“登录成功。欢迎”。$row['username'];
$logic=true;
}
否则{
echo“登录失败。用户名或密码不正确。请重试。”;
}
返回$logic;
}
函数登录($username,$password){
包括(“connection.php”);
$\u会话[“loggedInUser”]=$username;
$\会话[“loggedInTime”]=time();
}
action.php<?php
include "lib.php";
if(checkUser($username,$password)){
logIn($username, $password);
header("Location: index_en.php");//goes to my main page
?>
<li><a href="#">Hello, <?php echo $username; ?></a></li>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
console.log("successfull");
$(".nav_header").remove();//I tried to change my index_en.php page, but no changes appear there
</script>
<?php
}
?>
console.log(“成功”);
$(“.nav_头”).remove()//我试图更改我的index_en.php页面,但没有出现任何更改
我理解这个问题,所以我认为您的代码可能是这样的
action.php
function checkUser($username,$password){
include "connection.php";
$result = mysqli_query($conn, "SELECT * FROM `data` WHERE `username` = '$username' AND `password` = '$password'") or die("No result".mysqli_error());
$row = mysqli_fetch_array($result);
$logic = false;
if (($row['username'] == $username) && ($row['password'] == $password)) {
echo "Login is successfull. Welcome <b>".$row['username']."</b>";
$logic = true;
}
else{
echo "Failed to login. Username or password is incorrect. Try again.";
}
return $logic;
}
function logIn($username, $password){
include ("connection.php");
$_SESSION["loggedInUser"] = $username;
$_SESSION["loggedInTime"] = time();
}
<?php
include "lib.php";
if(checkUser($username,$password)){
logIn($username, $password);
header("Location: index_en.php");//goes to my main page
?>
<li><a href="#">Hello, <?php echo $username; ?></a></li>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
console.log("successfull");
$(".nav_header").remove();//I tried to change my index_en.php page, but no changes appear there
</script>
<?php
}
?>
<?php
session_start();
if(isset($_SESSION['username'])){
echo "Hello, ".$_SESSION['username'];
}
?>
console.log(“成功”);
$(“.nav_头”).remove()//我试图更改我的index_en.php页面,但没有出现任何更改
当用户已经登录时,您希望对Index_en.php(主页)进行一些更改,您的页面应该包含,index_en.php
function checkUser($username,$password){
include "connection.php";
$result = mysqli_query($conn, "SELECT * FROM `data` WHERE `username` = '$username' AND `password` = '$password'") or die("No result".mysqli_error());
$row = mysqli_fetch_array($result);
$logic = false;
if (($row['username'] == $username) && ($row['password'] == $password)) {
echo "Login is successfull. Welcome <b>".$row['username']."</b>";
$logic = true;
}
else{
echo "Failed to login. Username or password is incorrect. Try again.";
}
return $logic;
}
function logIn($username, $password){
include ("connection.php");
$_SESSION["loggedInUser"] = $username;
$_SESSION["loggedInTime"] = time();
}
<?php
include "lib.php";
if(checkUser($username,$password)){
logIn($username, $password);
header("Location: index_en.php");//goes to my main page
?>
<li><a href="#">Hello, <?php echo $username; ?></a></li>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
console.log("successfull");
$(".nav_header").remove();//I tried to change my index_en.php page, but no changes appear there
</script>
<?php
}
?>
<?php
session_start();
if(isset($_SESSION['username'])){
echo "Hello, ".$_SESSION['username'];
}
?>
成功登录后,您将用户重定向到index_en.php
,使用header()重定向将停止其余代码行的执行并重定向您,因此您的“Hello$username”将永远不会显示,console.log()将永远不会打印到日志。那么,成功登录后会出现什么问题。。只需获取用户详细信息(用户名/配置文件图像)并保留在会话中。如果你想在另一个包含或需要lib.php
的页面上阅读这些信息,那么你必须在lib.php
页面上写入。它不会自动传递,仅仅因为你改变了一些变量,如果你想知道的话。此外,登录的内容远不止这些。记住暴力攻击。实际上,您应该从学习AJAX开始。祝你好运。检查用户($username,$password)
和登录($username,$password)
功能工作正常。我只是没有在那里写完整的代码。问题是在主页内进行更改。为什么action.php中有header()
?header(“Location:index_en.php”)
将页面重定向到index_en.phpSo请记住,header()
之后的所有行将不会执行。在注释header()
之后,我编写的Hello消息将显示在不在index_en.php内的白色页面上