У меня такой вопрос, я хочу передать session_start(); в файл index.php, параметеры login i id. Но я немогу никак етого зделать =( видимо знаний не хватает. Все бы было супер если заменить Code: <form method="POST" action="<?=$_SERVER['PHP_SELF'];?>"> на Code: <form method="POST" action="index.php"> но тогда нет поверки login i pass(((. Может я чот не верно делаю, может все нужно зделать по другому. Если есть у вас время помогите... ################################# index.php Code: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <LINK href="stule.css" type=text/css rel=STYLESHEET> <?php include("config.php"); $link = mysql_connect($dbhost, $dbuser, $dbpassword); mysql_select_db($dbname, $link); $result=mysql_query("SELECT id, login FROM swat WHERE login='$login' ", $link); echo "=> $login <="; echo ("<table border='1'>"); echo ("<tr><td><b>ID</b></td><td><b>Логин</b></td></tr>"); while ($row=mysql_fetch_array($result)){ echo "<tr><td>".$row['id']."</td><td>".$row['login']."</td></tr>"; } echo "</table>"; mysql_close($link); ?> ################################# vhod.php Code: <?PHP include("config.php"); // Подключаемся к mysql серверу $link = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Не могу соединиться"); // Выбираем нашу базу данных mysql_select_db($dbname, $link) or die("Ошибка запроса"); $errors = array(); // сюда пишем ошибки if ($_SERVER['REQUEST_METHOD'] == 'POST') { // получаем логин и пароль из формы: // проверку данных не делаю, чтобы не усложнять пример $login=addslashes($_POST['login']); $pass=md5($_POST['pass']); $sql="SELECT id FROM swat WHERE login='$login'AND pass='$pass'"; $res=mysql_query($sql); // проверяем данные по БД if (!$res || mysql_num_rows($res)!=1){ $errors['login']='Неправильно введен логин или пароль'; } if (sizeof($errors) == 0){ // авторизация пройдена успешно $row = mysql_fetch_row($res); session_start(); $_SESSION['id']=$row[0]; // записываем в сессию идентификатор юзера header("Location: index.php?".SID); exit; } } // выводим форму ?> <form method="POST" action="<?=$_SERVER['PHP_SELF'];?>"> <? if (sizeof($errors) > 0) { // выводи ошибки ?> <font color="#ff0000"><?=implode("<br>",$errors);?></font> <? } ?> <input type="text" name="login"> - логин<br> <input type="password" name="pass"> - пароль<br> <input type="submit"> </form>
$_SESSION['login'] = 'login'; в чем проблема? в каждом независимом файле должно быть прописано сессион_старт а во вход.пхп у тебя нету
тут экшен не нужен Code: <form method="POST"> session_start() можно поместить в файл "config.php" который используется обоими скриптами. Просто "безопасный" фрагмент скрипта
GreenBear - подставил не получилось. Я просто сверху добавил в индекс.пхп <? include("vhod.php"); ?> и все решылось, а сесию удалил