В любом месте на моем сайте пользователь может запустить CMS
Я предполагаю, что вы имеете в виду, что веб-сайт реализован через CMS и что пользователь может получить доступ к расширенным привилегиям / дополнительным функциям на любом этапе, добавив строку запроса.
сохранить URL текущей страницы в сеансе
Эрк.
Это неподходящее место для хранения этой информации - ее следует передавать через URL (или через POST - но это не сработает при перенаправлении):
session_start();
if (!is_auth_for_cms() && $_GET['mod']=='admin') {
// simplified a bit...
$comeback='http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// rewriting the get trigger avoids short circuit looping problems
$comeback=urlencode(str_replace('mod=admin', 'mod=auth', $comeback));
header("Location: " 'http://' . $_SERVER['HTTP_HOST'] . "/login.php?backto=$comeback";
}
Оставляя в стороне опечатки в вашем коде, в чем вопрос?
if($num_rows == 1){
session_start();
$_SESSION['username'];
header('Location: ' . $_SESSION['url']);
}
Как вы думаете, что делает третья строка?