Php 正确设置注销链接
目前正在使用PHP开发一个小的注册/登录系统。情况如下:Php 正确设置注销链接,php,logout,Php,Logout,目前正在使用PHP开发一个小的注册/登录系统。情况如下: <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
<title>Secret Diary</title>
<style>
body {
margin:0;
height: 0;
}
#error {
background-color: red;
}
body {
background-image: url("img/bg.jpg");
background-color: #cccccc;
}
#containerLogin {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
#containerSignup {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
.switchBtt {
margin-top: 5%;
width: 70%;
}
.display-4 {
font-weight: 300;
}
</style>
</head>
<body>
<div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div>
<div id="containerLogin">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">
<input type="checkbox" class="form-check-input" value="checked" name="signUpRemember">
<label class="form-check-label" for="signUpRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Login" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div>
</center>
</div>
<div id="containerSignup">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">s
<input type="checkbox" class="form-check-input" value="checked "name="LoginRemember">
<label class="form-check-label" for="LoginRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Sign up" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div>
</center>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
</body>
<script>
$("#containerLogin").hide();
$(".switchBtt").click (function () {
$("#containerLogin").toggle();
$("#containerSignup").toggle();
});
</script>
</html>
我有一个名为“signup.php”的第一个页面,用于注册和登录。提交表单后,您将被重定向到名为“diary.php”的第二个页面。单击“提交”按钮后,将在“用户”数据库中分别使用您的id创建一个会话。如果没有diary.php,就会有一个注销链接。
如果您已注册或登录,并且现在正在查看diary.php,则除非按logout,否则无法查看signup.php页面。按logout后,将重定向到signup.php页面,但是$\u GET数组中有一个logout变量
<a href='signup.php?logout=1'>Logout</a>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
<title>Secret Diary</title>
<style>
body {
margin:0;
height: 0;
}
#error {
background-color: red;
}
body {
background-image: url("img/bg.jpg");
background-color: #cccccc;
}
#containerLogin {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
#containerSignup {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
.switchBtt {
margin-top: 5%;
width: 70%;
}
.display-4 {
font-weight: 300;
}
</style>
</head>
<body>
<div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div>
<div id="containerLogin">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">
<input type="checkbox" class="form-check-input" value="checked" name="signUpRemember">
<label class="form-check-label" for="signUpRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Login" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div>
</center>
</div>
<div id="containerSignup">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">s
<input type="checkbox" class="form-check-input" value="checked "name="LoginRemember">
<label class="form-check-label" for="LoginRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Sign up" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div>
</center>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
</body>
<script>
$("#containerLogin").hide();
$(".switchBtt").click (function () {
$("#containerLogin").toggle();
$("#containerSignup").toggle();
});
</script>
</html>
我使用这个logout变量来检查$\u GET数组中是否存在“logout”键,它会破坏会话并将我重定向回signup.php页面
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
<title>Secret Diary</title>
<style>
body {
margin:0;
height: 0;
}
#error {
background-color: red;
}
body {
background-image: url("img/bg.jpg");
background-color: #cccccc;
}
#containerLogin {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
#containerSignup {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
.switchBtt {
margin-top: 5%;
width: 70%;
}
.display-4 {
font-weight: 300;
}
</style>
</head>
<body>
<div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div>
<div id="containerLogin">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">
<input type="checkbox" class="form-check-input" value="checked" name="signUpRemember">
<label class="form-check-label" for="signUpRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Login" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div>
</center>
</div>
<div id="containerSignup">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">s
<input type="checkbox" class="form-check-input" value="checked "name="LoginRemember">
<label class="form-check-label" for="LoginRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Sign up" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div>
</center>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
</body>
<script>
$("#containerLogin").hide();
$(".switchBtt").click (function () {
$("#containerLogin").toggle();
$("#containerSignup").toggle();
});
</script>
</html>
现在问题来了。假设我注册了一个新帐户,然后注销。一旦我注销,GET中就会有一个“注销”键,对吗?(销毁会话)。如果我尝试注册另一个帐户,它实际上会为我注册(在数据库上),但它会自动为我注销,因为我的链接中有注销键,而且也因为没有会话(我的代码中有几行代码,如果没有会话,它会自动将您带回signup.php)
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
<title>Secret Diary</title>
<style>
body {
margin:0;
height: 0;
}
#error {
background-color: red;
}
body {
background-image: url("img/bg.jpg");
background-color: #cccccc;
}
#containerLogin {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
#containerSignup {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
.switchBtt {
margin-top: 5%;
width: 70%;
}
.display-4 {
font-weight: 300;
}
</style>
</head>
<body>
<div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div>
<div id="containerLogin">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">
<input type="checkbox" class="form-check-input" value="checked" name="signUpRemember">
<label class="form-check-label" for="signUpRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Login" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div>
</center>
</div>
<div id="containerSignup">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">s
<input type="checkbox" class="form-check-input" value="checked "name="LoginRemember">
<label class="form-check-label" for="LoginRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Sign up" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div>
</center>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
</body>
<script>
$("#containerLogin").hide();
$(".switchBtt").click (function () {
$("#containerLogin").toggle();
$("#containerSignup").toggle();
});
</script>
</html>
我希望这足以让你们大家明白。我将把我的两页代码留给你检查。谢谢大家!
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script>
<title>Secret Diary</title>
<style>
body {
margin:0;
height: 0;
}
#error {
background-color: red;
}
body {
background-image: url("img/bg.jpg");
background-color: #cccccc;
}
#containerLogin {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
#containerSignup {
margin: auto;
width: 30%;
padding: 10px;
margin-top: 5%;
}
.switchBtt {
margin-top: 5%;
width: 70%;
}
.display-4 {
font-weight: 300;
}
</style>
</head>
<body>
<div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div>
<div id="containerLogin">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">
<input type="checkbox" class="form-check-input" value="checked" name="signUpRemember">
<label class="form-check-label" for="signUpRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Login" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div>
</center>
</div>
<div id="containerSignup">
<center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1>
<br>
<h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5>
<br>
<form method="post" name="signup">
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password">
</div>
<div class="form-group form-check ">s
<input type="checkbox" class="form-check-input" value="checked "name="LoginRemember">
<label class="form-check-label" for="LoginRemember">Keep me signed in</label>
</div>
<input class="btn btn-primary" type="submit" value="Sign up" name="submit">
</form>
<div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div>
</center>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
</body>
<script>
$("#containerLogin").hide();
$(".switchBtt").click (function () {
$("#containerLogin").toggle();
$("#containerSignup").toggle();
});
</script>
</html>
- signup.php
<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> <title>Secret Diary</title> <style> body { margin:0; height: 0; } #error { background-color: red; } body { background-image: url("img/bg.jpg"); background-color: #cccccc; } #containerLogin { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } #containerSignup { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } .switchBtt { margin-top: 5%; width: 70%; } .display-4 { font-weight: 300; } </style> </head> <body> <div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div> <div id="containerLogin"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check "> <input type="checkbox" class="form-check-input" value="checked" name="signUpRemember"> <label class="form-check-label" for="signUpRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Login" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div> </center> </div> <div id="containerSignup"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check ">s <input type="checkbox" class="form-check-input" value="checked "name="LoginRemember"> <label class="form-check-label" for="LoginRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Sign up" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div> </center> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> </body> <script> $("#containerLogin").hide(); $(".switchBtt").click (function () { $("#containerLogin").toggle(); $("#containerSignup").toggle(); }); </script> </html>
session_start(); $conn=mysqli_connect(“本地主机”、“根”、“日记”); $error=''; $success=''; 如果(数组\键\存在(“提交”、$\发布)){ 如果(!$\u POST['email']){ $error.=“缺少电子邮件字段。
”; } 如果(!$\u POST[“密码”]){ $error.=“缺少密码字段。
”; } 如果($error!=''){ $error=“填写缺少的字段:
”$error; } 否则如果($_POST[“提交”]=“注册”){ $email=$_POST[“email”]; $query=“从电子邮件=“$email”;”的用户中选择*; $result=mysqli\u查询($conn,$query); 如果(mysqli_num_行($result)!=0){ $error.=“此帐户已存在!”; }否则{ $email=$_POST[“email”]; $password=$_POST[“password”]; $query1=“在用户(电子邮件、密码)中插入值(“$email”、“$password”);”; mysqli_查询($conn,$query1); $success.=“成功注册!”; $query=“从电子邮件=“$email”;”的用户中选择id; $row=mysqli_fetch_数组(mysqli_query($conn,$query)); $id=$row[“id”]; $\会话[“id”]=$id; 标题(“位置:diary.php”); 如果(!isset($_POST[“signUpRemember”])){ }否则{ setcookie(“id”,$id,time()+60*60*24*30); } } }如果($_POST[“提交”]=“登录”){ $email=$_POST[“email”]; $password=$_POST[“password”]; $query=“从电子邮件=“$email”;”的用户中选择*; if(mysqli_num_行(mysqli_查询($conn,$query))==0){ $error.=“此帐户不存在,请注册一个新帐户!”; }否则{ $query=“从电子邮件=“$email”;”的用户中选择密码; $rows=mysqli_fetch_数组(mysqli_query($conn,$query)); 如果($password!=$rows[“password”]){ $error.=“您为此帐户插入了错误的密码。请重试!”; }否则{ $query=“从电子邮件=“$email”;”的用户中选择id; $rows=mysqli_fetch_数组(mysqli_query($conn,$query)); $\会话[“id”]=行[“id”]; 如果(!isset($_POST[“signUpRemember”])){ }否则{ setcookie(“id”,$rows[“id”],time()+60*60*24*30); } 标题(“位置:diary.php”); } } } } 如果(数组\键\存在(“注销”,“获取$”){ 取消设置($_会话[“id]”); setcookie(“id”,“”,time()-60*600); } 如果(数组\键\存在(“id”,$\会话)){ 标题(“位置:diary.php”); } ?><!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> <title>Secret Diary</title> <style> body { margin:0; height: 0; } #error { background-color: red; } body { background-image: url("img/bg.jpg"); background-color: #cccccc; } #containerLogin { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } #containerSignup { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } .switchBtt { margin-top: 5%; width: 70%; } .display-4 { font-weight: 300; } </style> </head> <body> <div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div> <div id="containerLogin"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check "> <input type="checkbox" class="form-check-input" value="checked" name="signUpRemember"> <label class="form-check-label" for="signUpRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Login" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div> </center> </div> <div id="containerSignup"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check ">s <input type="checkbox" class="form-check-input" value="checked "name="LoginRemember"> <label class="form-check-label" for="LoginRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Sign up" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div> </center> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> </body> <script> $("#containerLogin").hide(); $(".switchBtt").click (function () { $("#containerLogin").toggle(); $("#containerSignup").toggle(); }); </script> </html>
秘密日記 身体{ 保证金:0; 身高:0; } #错误{ 背景色:红色; } 身体{ 背景图片:url(“img/bg.jpg”); 背景色:#中交; } #集装箱物流{ 保证金:自动; 宽度:30%; 填充:10px; 利润率最高:5%; } #集装箱装卸{ 保证金:自动; 宽度:30%; 填充:10px; 利润率最高:5%; } .开关{ 利润率最高:5%; 宽度:70%; } .显示器-4{ 字体大小:300; }
出于这个确切的原因,您通常不应该使用GET查询字符串来更改应用程序中的状态
浏览器会试图利用这一点来加速页面加载,或者在用户点击页面之前预先请求页面,或者缓存页面,而不是实际从服务器请求页面。这两种情况都会导致意外行为。此外,如果有人在页面上添加了?logout=1的书签,他们将(可能是意外地)在返回页面时注销<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> <title>Secret Diary</title> <style> body { margin:0; height: 0; } #error { background-color: red; } body { background-image: url("img/bg.jpg"); background-color: #cccccc; } #containerLogin { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } #containerSignup { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } .switchBtt { margin-top: 5%; width: 70%; } .display-4 { font-weight: 300; } </style> </head> <body> <div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div> <div id="containerLogin"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check "> <input type="checkbox" class="form-check-input" value="checked" name="signUpRemember"> <label class="form-check-label" for="signUpRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Login" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div> </center> </div> <div id="containerSignup"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check ">s <input type="checkbox" class="form-check-input" value="checked "name="LoginRemember"> <label class="form-check-label" for="LoginRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Sign up" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div> </center> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> </body> <script> $("#containerLogin").hide(); $(".switchBtt").click (function () { $("#containerLogin").toggle(); $("#containerSignup").toggle(); }); </script> </html>
最好用后置动词来表达。您可以轻松地使用HTML标记和提交按钮:<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> <title>Secret Diary</title> <style> body { margin:0; height: 0; } #error { background-color: red; } body { background-image: url("img/bg.jpg"); background-color: #cccccc; } #containerLogin { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } #containerSignup { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } .switchBtt { margin-top: 5%; width: 70%; } .display-4 { font-weight: 300; } </style> </head> <body> <div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div> <div id="containerLogin"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check "> <input type="checkbox" class="form-check-input" value="checked" name="signUpRemember"> <label class="form-check-label" for="signUpRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Login" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div> </center> </div> <div id="containerSignup"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check ">s <input type="checkbox" class="form-check-input" value="checked "name="LoginRemember"> <label class="form-check-label" for="LoginRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Sign up" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div> </center> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> </body> <script> $("#containerLogin").hide(); $(".switchBtt").click (function () { $("#containerLogin").toggle(); $("#containerSignup").toggle(); }); </script> </html>
<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha384-o+RDsa0aLu++PJvFqy8fFScvbHFLtbvScb8AjopnFD+iEQ7wo/CG0xlczd+2O/em" crossorigin="anonymous"></script> <title>Secret Diary</title> <style> body { margin:0; height: 0; } #error { background-color: red; } body { background-image: url("img/bg.jpg"); background-color: #cccccc; } #containerLogin { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } #containerSignup { margin: auto; width: 30%; padding: 10px; margin-top: 5%; } .switchBtt { margin-top: 5%; width: 70%; } .display-4 { font-weight: 300; } </style> </head> <body> <div id="error"><?php if ($error != "") { echo $error; } else { echo "<script>$( '#error' ).css('background-color', 'green');</script>"; echo $success;} ?></div> <div id="containerLogin"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class=" text-muted "><font color="#DFD2CA">Welcome back!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check "> <input type="checkbox" class="form-check-input" value="checked" name="signUpRemember"> <label class="form-check-label" for="signUpRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Login" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to sign-up panel ↹ </div> </center> </div> <div id="containerSignup"> <center><h1 class="display-4 text-muted "><font color="#6D3E6C">Secret Diary</font></h1> <br> <h5 class="text-muted "><font color="#DFD2CA">Sign up today, for free!</font></h5> <br> <form method="post" name="signup"> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" name="email" aria-describedby="emailHelp" placeholder="Enter email"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <div class="form-group form-check ">s <input type="checkbox" class="form-check-input" value="checked "name="LoginRemember"> <label class="form-check-label" for="LoginRemember">Keep me signed in</label> </div> <input class="btn btn-primary" type="submit" value="Sign up" name="submit"> </form> <div class="btn btn-secondary switchBtt">Switch to login panel ↹ </div> </center> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> </body> <script> $("#containerLogin").hide(); $(".switchBtt").click (function () { $("#containerLogin").toggle(); $("#containerSignup").toggle(); }); </script> </html>
<form action="signup.php" method="POST" id="logout_form"> <input type="hidden" name="logout" value="1" /> <input type="submit" value="Logout" /> </form>
Michael的回答很好(也被接受了!),但目前我工作的地方正在进行可访问性审计,所以我想到了这一点。屏幕阅读器、使用高对比度自定义样式表的人等无法处理表单