Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Проблема С session_start(); |

19.04.2007, 19:25
|
|
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме: 2630617
Репутация:
245
|
|
Проблема С session_start();
У меня такой вопрос, я хочу передать session_start(); в файл index.php,
параметеры login i id. Но я немогу никак етого зделать =( видимо знаний не хватает.
Все бы было супер если заменить
Код:
<form method="POST" action="<?=$_SERVER['PHP_SELF'];?>">
на
Код:
<form method="POST" action="index.php">
но тогда нет поверки login i pass(((.
Может я чот не верно делаю, может все нужно зделать по другому.
Если есть у вас время помогите...
#################################
index.php
Код:
<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
Код:
<?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>
Последний раз редактировалось Micr0b; 19.04.2007 в 19:37..
|
|
|

19.04.2007, 19:36
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
$_SESSION['login'] = 'login';
в чем проблема?
в каждом независимом файле должно быть прописано сессион_старт
а во вход.пхп у тебя нету
|
|
|

19.04.2007, 21:26
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от Micr0b
Код:
<form method="POST" action="<?=$_SERVER['PHP_SELF'];?>">
тут экшен не нужен
Код:
<form method="POST">
session_start() можно поместить в файл "config.php" который используется обоими скриптами.
Сообщение от Micr0b
Код:
$result=mysql_query("SELECT id, login FROM swat WHERE login='$login' ", $link);
Просто "безопасный" фрагмент скрипта 
Последний раз редактировалось hidden; 20.04.2007 в 23:19..
Причина: <DRON-ANARCHY> Не обеими, а обоими :)
|
|
|

21.04.2007, 15:33
|
|
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме: 2630617
Репутация:
245
|
|
GreenBear - подставил не получилось.
Я просто сверху добавил в индекс.пхп
<? include("vhod.php"); ?> и все решылось, а сесию удалил
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|