PHP: <form action="action.php" method="post"> <table> <tr> <td>Логин:</td> <td><input type="text" name="LOGIN" /></td> </tr> <tr> <td>Пароль:</td> <td><input type="password" name="PASS" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Войти" /></td> </tr> </table> </form> Файл action.php PHP: <?php include('conn.php'); session_start(); if ($_SEESION[id]=='dima') { echo " Значит ты вернулся с 3 страницы"; echo "<a href='page2.php'> Перейди дальше</a>"; } else { if ($_POST[LOGIN]=='dima' and $_POST[PASS]=='abcd') { $_SESSION[id]=$_POST[LOGIN]; $id=$_SESSION[id]; $a=$_POST[LOGIN]; $b=$_POST[PASS]; echo " Твой id $id <br>"; $query ="SELECT * FROM paroli"; $data = mysql_query($query); $row=mysql_fetch_assoc($data); echo "Добро пожаловать в форум <b>$row[LOGIN]</b>" ; echo " Не забудь свой пароль <b> $row[PASS]</b><br>"; echo "<a href='page2.php'> Перейди дальше</a>"; } else { echo "Жаль. Сессия не передалась"; } } ?> page2.php PHP: <?php include('conn.php'); session_start(); $id=$_SESSION[id]; echo "Ура твой ID передался. Поздравляю $id<br>"; ?> <a href='page3.php'> Давай попробуем дальше</a> page3.php PHP: <?php include('conn.php'); session_start(); $id=$_SESSION[id]; echo "И снова все передалось. Поздравляю $id<br>"; ?> <a href='action.php'> Давай вернемся на главную страницу</a> Когда возвращаюсь на страницу action пишет Жаль. Сессия не передалась ((
Я тебе ещё сколько раз должен написать в разных топиках, что элементы массива заключаются в кавычки?! $_SESSION['id'] а не $_SESSION[id] и так далее по тексту А пишет так, потому что у тебя условие, связаное с проверкой пост, а не сессии.
Я оставляю без кавычек потому как скрипты (возможно парадокс) с перменными POST спокойно рабоитают без кавычек. Вот же проверка сессии ?? PHP: if ($_SEESION[id]=='dima') { echo " Значит ты вернулся с 3 страницы"; echo "<a href='page2.php'> Перейди дальше</a>"; }
Для облегчения понимания обрал всё из условий и расствил переносы. Смотри: PHP: <?php include('conn.php'); session_start(); if ($_SEESION[id]=='dima') { // Условие № раз } else { if ($_POST[LOGIN]=='dima' and $_POST[PASS]=='abcd') { // условие № два } else { echo "Жаль. Сессия не передалась"; } } ?> Вычистив мусор, может увидишь, что правильно пишется $_SESSION['id'], а не $_SEESION[id]
Эх зайцы вы мои..бросили меня..не помогаете )) все таки сделал я эти чертовы сессии, колхозно конечно с точки зрения взлома. Но авторизация от новичка готова ) form.php PHP: <form action="index.php" method="post"> <table> <tr> <td>Логин:</td> <td><input type="text" name="LOGIN" /></td> </tr> <tr> <td>Пароль:</td> <td><input type="password" name="PASS" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Войти" /></td> </tr> </table> </form> index.php PHP: <?php session_start(); if ($_POST[LOGIN]=='dima' and $_POST[PASS]=='abcd') { $_SESSION['auto']=true; require('action.php'); } else { echo "неправильно имя или пароль"; ?> <br> <a href='form.php'>назад</a> <?php } ?> action.php PHP: <?php session_start(); include('conn.php'); if(!isset($_SESSION['auto'])) { echo "нельзя так запускать"; } else { Мой код(скрипт) вывода из таблицы позиций } ?>
ктсати нельзя ли вставить header ("Location:form.php'); в файл index в строчки 22-33 , чтобы был переброс(редирект) сразу на повторную авторизацию.. вместо <a href='form.php'>назад</a> Пробовал..но у меня не получилось почему-то..(
ты опять про кавычки массивов ??)) if ($_POST[LOGIN]=='dima' and $_POST[PASS]=='abcd') это условие работает без кавычек if ($_POST['LOGIN']=='dima' and $_POST['PASS']=='abcd') --можно и по-твоему ))
Padaboo в смысле глушить? Можно E_ALL && ~E_NOTICE. Просто у него нотисы глушатся, ну он и рад жизни.