Я хочу знать, как перенаправить пользователя на определенную ссылку после входа в php
например, на веб-сайте электронной коммерции, если пользователь нажимает кнопку «Добавить в корзину», и если этот пользователь не войдет в систему, тогда пользователь будет перенаправлен на страницу входа в систему, и после того, как пользователь будет перенаправлен на страницу корзины, на которой запрашивается страница, поэтому я хочу знаете, как закодировать для этого.
if(!empty($_SESSION['username'])) { $url=' .php';//here i want dynamic link which is requested page link when user tries to access } else { $url='login.php'; }
Первая проверка пользователя – это логин или нет.
if(isset($_SESSION['username'])){ $url='cart.php'; }else{ $url='login.php'; } <a href="<?php echo $url; ?>">add to cart</a>
Вероятно, для вас это будет быстрее, чем раньше, чем потратить время на ввод текста в StackOverflow и ждать мониторинга ответов, но кто скажет. Возможно, ваш браузер уже открыт на этой странице, и вы используете старый модем, поэтому загрузка нового не кэшированного контента происходит очень медленно.
Как сделать перенаправление в PHP?
вы можете попробовать это:
header('Location: http://www.example.com/');
Здесь вы можете найти полезные ссылки на бесплатные книги: https://stackoverflow.com/tags/php/info
Вы должны передать переменные для своей ссылки, чтобы знать, с какой страницы вы придете.
Для этого вам нужно использовать header()
.
session_start();// beginning of your file. if(user is logged in) { start checking for conditions here. if($_GET['from'] == "checkout" $file="checkout.php"; else $file="index.php"; header("Location: $file");// file to which you want to redirect after login. } else { // redirect to login page. }
Вы можете перейти от того места, где вы находитесь на этой странице, а затем проверить, что пользователь вошел в систему, а затем решить, куда перенаправить.
Форма входа
<form action="loginchk.php" method="post"> <input type="text" name="unm" id="unm" /> <input type="password" name="pwd" id="pwd" /> <input type="hidden" name="redirect_url" value="<?php echo basename($_SERVER['PHP_SELF']); ?>" /> <input type="submit" value="Login" /> </form>
loginchk.php
<?php if(!empty($_POST)){ extract($_POST); //sql query if(//true condition){ header("location:".$redirect_url); } else{ header("location:login.php"); } } ?>