我使用php制作了登录/注册系统。登录后我想向用户显示一个mesaage,欢迎$ username。但我面临一些问题。这是我的代码:
<?php
session_start();
$username = $_SESSION['username'];
$password = $_SESSION['password'];
if(!$username && !$password)
{
header( 'Location: login.php' ) ;
}
else
{
echo '';
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Home | Incredible Saurav</title>
<link rel="stylesheet" href="css/responsiveslides.css">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<link href="css/responsive.css" rel="stylesheet">
<link rel="shortcut icon" href="images/ico/1.png">
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script>
$(function() {
$(".rslides").responsiveSlides();
});
</script>
<script src="js/responsiveslides.min.js"></script>
<script src="js/responsiveslides.js"></script>
</head>
<body>
<header id="header" class="entry-header">
<nav class="navbar1 navbar-inverse" role="banner" style="border-top: 5px solid #065157;">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html"><img src="images/logo.png" alt="logo"></a>
</div>
<div class="collapse navbar-collapse navbar-right">
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Home</a></li>
<li><a href="about.html">About Us</a></li>
<li><a href="faculties.html">Faculties</a></li>
<li><a href="picture.html">Picture Gallery</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="login.php"><?php echo Welcome $username; ?></a></li>
</ul>
</div>
</div>
</nav>
<div class="top-bar" style="border-bottom: 5px solid #065157;" >
<div class="container" style="margin-top:90px;">
<div class="row">
<div class="col-sm-6 col-xs-4">
<div class="top-number"><p><i class="fa fa-phone-square"></i> +91 9097678160</p></div>
</div>
<div class="">
<div class="col-sm-6 col-xs-8">
<div class="social">
<ul class="social-share">
<li class="saurav"><a href="http://facebook.com/incredible.100rav" title="Facebook"><i class="fa fa-facebook"></i></a></li>
<li class="saurav"><a href="http://twitter.com/incredible100rv" title="Twitter"><i class="fa fa-twitter"></i></a></li>
<li class="saurav"><a href="http://instagram.com/incredible.100rav" title="Instagarm"><i class="fa fa-instagram"></i></a></li>
<li class="saurav"><a href="http://plus.google/saurav.chill05" title="Google-Plus"><i class="fa fa-google-plus"></i></a></li>
<li class="saurav"><a href="#"><i class="fa fa-skype" title="Skype"></i></a></li>
</ul>
<div class="search">
<form role="form">
<i class="fa fa-search"></i>
<input type="text" class="search-form" autocomplete="off" placeholder="Search">
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
<div class="container">
<ul class="rslides">
<li><img src="images/1.jpg" alt=""></li>
<li><img src="images/2.jpg" alt=""></li>
<li><img src="images/3.jpg" alt=""></li>
<li><img src="images/4.jpg" alt=""></li>
<li><img src="images/5.jpg" alt=""></li>
</ul>
</div>
<section id="conatcat-info">
<div class="container">
<div class="row">
<div class="col-sm-8">
<div class="media contact-info">
<div class="pull-left">
<i class="fa fa-phone"></i>
</div>
<div class="media-body">
<h2>Have a question question about our college?</h2>
<p>Call Us : +91-909-7678-160</p>
</div>
</div>
</div>
</div>
</div>
</section>
<footer id="footer" class="midnight-blue" style="border-bottom: 5px solid #065157;" >
<div class="container">
<div class="container">
<center>
<ul class="copyright">
<li>© Copyright Accurate College</li>
<li>Designed by <a title="Incredible Saurav" href="http://www.facebook.com/incredible.100rav">Rahul Gautam</a></li>
</ul>
</div>
</footer>
</body>
</html>
请指出我的错误并予以纠正。谢谢!!
答案 0 :(得分:1)
HTML中的以下更正:
<li><a href="login.php"><?php echo "Welcome, ".$_SESSION['username']; ?></a></li>
顺便说一下,你有条件的其他人完全没有目的,所以为了清晰,简洁和正确而删除它。
答案 1 :(得分:0)
关于此代码:
<li><a href="login.php"><?php echo Welcome $username; ?></a></li>
目前,欢迎&#39; PHP将被理解为一个不存在的常量,但是在没有将它连接到变量之后,它只会抛出语法错误。我建议使用IDE(例如Netbeans),这样就可以看到这种错误而无需运行代码。
请改为:
<li>
Welcome
<a href="login.php"
><?php echo htmlspecialchars($username, ENT_HTML5) ?></a>
</li>
我已经将固定字符串作为HTML的一部分 - 没有任何价值将其添加到echo
语句中。
我还将输出变量包装在函数中以编码任何尖括号,以过滤掉您网站上的任何XSS尝试。请记住,用户输入可能有害,需要谨慎对待。