Php 我的重定向用户返回到previoud url无效
我在projet的本地机器上工作,我想在用户登录后将其重定向回以前的机器。我根据互联网上的研究尝试了自己,但没有成功。如果有人能帮忙;非常感谢……这是我的密码。 sell.phpPhp 我的重定向用户返回到previoud url无效,php,redirect,Php,Redirect,我在projet的本地机器上工作,我想在用户登录后将其重定向回以前的机器。我根据互联网上的研究尝试了自己,但没有成功。如果有人能帮忙;非常感谢……这是我的密码。 sell.php if (!isset($_SESSION["user_id"])) { header("Location: login.inc.php?location=". urlencode($_SERVER["REQUEST_URI"])); exit(); } include_once("./includes/p
if (!isset($_SESSION["user_id"])) {
header("Location: login.inc.php?location=". urlencode($_SERVER["REQUEST_URI"]));
exit();
}
include_once("./includes/partheader.html");
<form action='' method='post'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type="hidden" name="location" value="<?php if (isset($_GET["location"])) {
echo htmlspecialchars($_GET["location"]);
} ?>">
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
if(array_key_exists('login', $_POST)){
$redirect = NULL;
if($_POST['location'] != '') {
$redirect = $_POST['location'];
}
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
}
else{
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
}
else{
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (isset($redirect)) {
header("Location:". $redirect);
}
//end of redirect header
}
}catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
<?php
session_start();
if (!empty($_SESSION["user_id"])) {
$_SESSION['cur_url'] = $_SERVER["REQUEST_URI"];
header("Location: login.inc.php");
exit();
}
include_once("./includes/partheader.html");
<?php session_start(); ?>
<form action='' method='post' accept-charset='utf-8'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
<?php
session_start();
if(array_key_exists('login', $_POST)){
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
} else {
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
} else {
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (!empty($_SESSION['cur_url'])) {
header("Location:". $_SESSION['cur_url']);
}
//end of redirect header
}
} catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
login.inc.php
if (!isset($_SESSION["user_id"])) {
header("Location: login.inc.php?location=". urlencode($_SERVER["REQUEST_URI"]));
exit();
}
include_once("./includes/partheader.html");
<form action='' method='post'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type="hidden" name="location" value="<?php if (isset($_GET["location"])) {
echo htmlspecialchars($_GET["location"]);
} ?>">
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
if(array_key_exists('login', $_POST)){
$redirect = NULL;
if($_POST['location'] != '') {
$redirect = $_POST['location'];
}
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
}
else{
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
}
else{
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (isset($redirect)) {
header("Location:". $redirect);
}
//end of redirect header
}
}catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
<?php
session_start();
if (!empty($_SESSION["user_id"])) {
$_SESSION['cur_url'] = $_SERVER["REQUEST_URI"];
header("Location: login.inc.php");
exit();
}
include_once("./includes/partheader.html");
<?php session_start(); ?>
<form action='' method='post' accept-charset='utf-8'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
<?php
session_start();
if(array_key_exists('login', $_POST)){
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
} else {
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
} else {
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (!empty($_SESSION['cur_url'])) {
header("Location:". $_SESSION['cur_url']);
}
//end of redirect header
}
} catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
电邮:
路况:
我认为这样的脚本很容易出错和出现问题。如果有人弄乱了请求头怎么办?相反,您应该将url保存在会话变量中,并在需要时使用它:
Sell.php
if (!isset($_SESSION["user_id"])) {
header("Location: login.inc.php?location=". urlencode($_SERVER["REQUEST_URI"]));
exit();
}
include_once("./includes/partheader.html");
<form action='' method='post'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type="hidden" name="location" value="<?php if (isset($_GET["location"])) {
echo htmlspecialchars($_GET["location"]);
} ?>">
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
if(array_key_exists('login', $_POST)){
$redirect = NULL;
if($_POST['location'] != '') {
$redirect = $_POST['location'];
}
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
}
else{
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
}
else{
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (isset($redirect)) {
header("Location:". $redirect);
}
//end of redirect header
}
}catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
<?php
session_start();
if (!empty($_SESSION["user_id"])) {
$_SESSION['cur_url'] = $_SERVER["REQUEST_URI"];
header("Location: login.inc.php");
exit();
}
include_once("./includes/partheader.html");
<?php session_start(); ?>
<form action='' method='post' accept-charset='utf-8'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
<?php
session_start();
if(array_key_exists('login', $_POST)){
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
} else {
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
} else {
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (!empty($_SESSION['cur_url'])) {
header("Location:". $_SESSION['cur_url']);
}
//end of redirect header
}
} catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
电邮:
路况:
login\u form.inc.php
if (!isset($_SESSION["user_id"])) {
header("Location: login.inc.php?location=". urlencode($_SERVER["REQUEST_URI"]));
exit();
}
include_once("./includes/partheader.html");
<form action='' method='post'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type="hidden" name="location" value="<?php if (isset($_GET["location"])) {
echo htmlspecialchars($_GET["location"]);
} ?>">
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
if(array_key_exists('login', $_POST)){
$redirect = NULL;
if($_POST['location'] != '') {
$redirect = $_POST['location'];
}
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
}
else{
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
}
else{
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (isset($redirect)) {
header("Location:". $redirect);
}
//end of redirect header
}
}catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
<?php
session_start();
if (!empty($_SESSION["user_id"])) {
$_SESSION['cur_url'] = $_SERVER["REQUEST_URI"];
header("Location: login.inc.php");
exit();
}
include_once("./includes/partheader.html");
<?php session_start(); ?>
<form action='' method='post' accept-charset='utf-8'>
<p>
<label for='email'>Email : </label>
<input type='text' name='email' value='<?php if(isset($_POST['email'])){ echo $_POST['email'];} ?>' /><?php if(isset($errEmail) ){echo $errEmail;} ?>
</p>
<p>
<label>Mot de passe : </label>
<input type='password' name='userpwd' value='' /><?php if(isset($pwdErr)){ echo $pwdErr;} ?>
</p>
<p>
<input type='submit' name='login' value='Connexion' />
</p>
</form>
<?php
session_start();
if(array_key_exists('login', $_POST)){
if (empty($_POST["email"])) {
$errEmail = "Enter your email";
} else {
$email = trim($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = "Invalid email ";
}
}
if (empty($_POST['userpwd'])) {
$pwdErr = "Entrer votre mot de passe";
} else {
$userpwd = sha1($_POST['userpwd']).$_POST['userpwd'];
}
if(empty($errEmail) && empty($pwdErr) ){
include_once(BASE_URI."pdoconnect.inc.php");
if(isset($pdo) ){
try{
$sql = 'SELECT userid, gender,nameuser FROM users WHERE users.email = :email AND users.userpwd = :userpwd';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':userpwd', $userpwd);
$stmt->execute();
$rowscount = $stmt->rowCount();
if(isset($rowscount) && $rowscount < 1 ){
$err = 'Mot de passe ou nom d\' utilisateur incorrect';
} else {
foreach($result = $stmt->fetchAll() as $row){
$_SESSION['user_id'] = $row['userid'];
$_SESSION['gender'] = $row['gender'];
$_SESSION['nameuser'] = $row['nameuser'];
} //end foreach
if (!empty($_SESSION['cur_url'])) {
header("Location:". $_SESSION['cur_url']);
}
//end of redirect header
}
} catch (PDOException $e) {
$errors[] = "Eror in script".$e->getMessage();
}
}
}//end of check error
}//end of post
@icecub…我已经试过你的技巧了…但还是不起作用