| |
|
|
| | имеетсе следующие 3 файла:
1. globals.php
<?php
define("PS_BASE", "");
define("WEBROOT",dirname($_SERVER['SCRIPT_FILENAME']));
define("INC_DIR",PS_BASE."inc/");
// Global $name_user, $_SERVER;
// Global $HTTP_POST_VARS;
// $HTTP_POST_VARS = $_POST;
function check_login()
{
if (isset($name_user)) {$stan=true;} else {$stan=false;}; return $stan;
}
function login_in($name_user, $pass_user)
{
session_start("log");
setcookie("name_user","admin",mktime()+360000);
header("Location: ".$_SERVER['PHP_SELF']);
}
function login_out($name_user, $pass_user)
{
setcookie("name_user","",mktime()-360000);
unset($_SERVER);
unset($PHP_AUTH_USER);
unset($PHP_AUTH_PW);
unset($user_id);
unset($HTTP_COOKIE);
header("Location: ".$_SERVER['PHP_SELF']);
}
?>
|
2. shapka.php
<?php
if (isset($name_user))
{echo("Yes autorization:<a href=\"".PS_BASE."index.php?func=loginout\">Out</a>");}
else
{echo("<form hight=\"32\" method=\"POST\" action=\"".PS_BASE."index.php?func=login\">
<table width=\"100%\" height=\"32\" border=\"1\">
<tr heifht=\"32\">
<td width=\"20%\"><input type=\"text\" size=\"16\" name=\"keyword\"></td>
<td width=\"20%\"><input type=\"text\" size=\"16\" name=\"keyword\"></td>
<td width=\"*\"><input type=\"submit\" name=\"Search\" value=\"Искать\"></td>
</tr>
</table>
</form>
");
};
?>
|
3. index.php
<?php
// include("./include/protection.php");
require_once("config.php");
require_once("globals.php");
require_once(PS_BASE."db_connect.php");
if (isset($_GET["func"]))
{
if ($_GET["func"]=="login") login_in("","");
if ($_GET["func"]=="loginout") login_out("","");
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="Keywords" content="computer">
<meta name="Description" content="">
<title>"s"</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" class="fon_main">
<?php require_once(INC_DIR."shapka.php"); ?>
<?php require_once(INC_DIR."niz.php"); ?>
</body>
</html>
|
данный код работает на локалке, идет автоизация при помощи сесий, а при размещении на хост код не работает, авторизация не происходит, где ошибка????? | |
| |
|
|
| |
|
|
| |
для: carmen987
(14.02.2007 в 12:39)
| | | То что вы привели вообще никакой авторизации не содержит. В том числе и с помощью сессий. | |
| |
|
|
| |
|
|
| |
для: Loki
(14.02.2007 в 12:58)
| | | авторизация я вынес в отдельный файл globals.php в виде функций, и место проверки имени пользователя и пароля опустил. | |
| |
|
|
| |
|
|
| |
для: carmen987
(14.02.2007 в 13:17)
| | | так и надо было написать только названия файлов. Мы бы сами догадались что внутри - не сомневайтесь.
проверьте register_globals | |
| |
|
|
| |
|
|
| |
для: Loki
(14.02.2007 в 13:44)
| | | в данному случае создается кук с именем name_user и значением admin.
здесь я привел пример когда независимо от введенного имени и пароля создается кук | |
| |
|
|
| |
|
|
| |
для: carmen987
(14.02.2007 в 13:47)
| | | проверьте register_globals | |
| |
|
|
| |
|
|
| |
для: Loki
(14.02.2007 в 13:53)
| | | да Ви правы на хостинге register_globals=OFF. Что надо пометять? | |
| |
|
|
| |
|
|
| |
для: carmen987
(14.02.2007 в 13:56)
| | |
<?
if (isset($_COOKIE['name_user'])) {$stan=true;} else {$stan=false;}; return $stan;
|
Но вообще это не авторизация, конечно... | |
| |
|
|
| |
|
|
| |
для: Loki
(14.02.2007 в 14:04)
| | | мне нужно сделать также как и на этом форуме, чтобы пользователь раз ввел имя и пароль и больше его ненадо вводить, пока не выбрать режим выход. как это правильно сделать? | |
| |
|
|
| |
|
|
| |
для: carmen987
(14.02.2007 в 14:10)
| | | Можете просто посмотреть как сделано на этом форуме:
http://softtime.ru/info/liteforum.php | |
| |
|
|