Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Проблема С session_start(); (https://forum.antichat.xyz/showthread.php?t=38344)

Micr0b 19.04.2007 19:25

Проблема С 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>


GreenBear 19.04.2007 19:36

$_SESSION['login'] = 'login';
в чем проблема?

в каждом независимом файле должно быть прописано сессион_старт
а во вход.пхп у тебя нету

hidden 19.04.2007 21:26

Цитата:

Сообщение от 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);

Просто "безопасный" фрагмент скрипта ;)

Micr0b 21.04.2007 15:33

GreenBear - подставил не получилось.
Я просто сверху добавил в индекс.пхп
<? include("vhod.php"); ?> и все решылось, а сесию удалил


Время: 08:26