|
|
|
|
|
для: cheops
(01.06.2005 в 20:46)
| | Буквально на днях столкнулся с такой же праблой что и автор этой темы,
тут модифицировал малёху отладочный скрипт от cheops'а ,
может кому нить и понадобится ....ХЫ...
файл test.php :
<?php
Error_Reporting(0);
$name=$_POST['name'];
if(isset($_POST['action']))
{
if($name==""){
$submit = false;
}
if($name!==""){
session_start();
$_SESSION['name']=$name;
Header("Location: itog.php");
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Проверка регистрации переменных при отключеной register_global</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>
<body onload="document.form.name.focus();"><center><font color=blue size=10>Введите какое нибудь имя для теста</font>
<form action="test.php" method="post" name="form">
<input type="hidden" name="action" value="">
<input type="text" name="name" value=""> <br><br>
<input type="submit" name="submit" value="проверка">
</form></center>
</body></html>
|
файл itog.php :
<?php
Error_Reporting(0);
print "<title>Итог Теста</title>";
// Инициируем сессию
session_start();
if(!$_SESSION['name']){
print "<center><font color=red size=16>Переменной login Нет в супер-глобальном массиве!<br> обратитесь к документации по настройке php на вашем сервере</font></center>";
exit;
}
else{
// Выводим содержимое массива
print "<center><font color=green size=18>Всё работает:</font></center><br><center><font color=darkblue size=14>Логин: <b>".$_SESSION['name']."</b><br><br>id сессии: <b>".session_id()."</b><br></font></center>";
exit;
}
?>
|
ЗЫ: Модераторам > Если Ошибся где то в терминологии поправте пожалуйста...
спасибо за внимание... | |
|
|
|
|
|
|
|
для: Андрюха.
(01.06.2005 в 16:27)
| | Давайте вопрос в какой-нибудь одной теме обсуждать :)))
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4367 | |
|
|
|
|
|
|
|
для: cheops
(21.01.2005 в 12:51)
| |
<?php
// Инициируем сессию
session_start();
echo session_id();
// Помещаем переменную в сессию
$_SESSION['name'] = "value";
// Переходим на другую страницу
echo "<a href=qq1.php>проверка</a>";
?>
|
и файл qq1.php
<?php
// Инициируем сессию
session_start();
echo session_id();
// Выводим содержимое массива
print_r($_SESSION);
echo $_SESSION['name'];
//echo session_id();
?>
|
и сесия qq отличается от qq1. кроме сессий ничего не выводится - хост | |
|
|
|
|
|
|
|
для: Felix
(21.01.2005 в 04:57)
| | Например, создать файл index.php следующего содержания
<?php
// Инициируем сессию
session_start();
// Помещаем переменную в сессию
$_SESSION['name'] = "value";
// Переходим на другую страницу
echo "<a href=index1.php>проверка</a>";
?>
|
а в index1.php вывести дамп суперглобального массива $_SESSION
<?php
// Инициируем сессию
session_start();
// Выводим содержимое массива
print_r($_SESSION);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.01.2005 в 20:06)
| | А какой отладочный скрипт надо написать ? | |
|
|
|
|
|
|
|
для: cheops
(20.01.2005 в 08:07)
| | У меня приведённый выше вариант, после подстановки соответствущих параметоров баз данных и закомментаривание вызовов файлов, которых у меня нет - работает. Может дело действительно в сервере - попробуйте написать простейший отладочный скрипт - он работает? | |
|
|
|
|
|
|
|
для: Felix
(20.01.2005 в 06:05)
| | Так и не добрался вчера до вашего скрипта :((( Сегодня будут делать... | |
|
|
|
|
|
|
|
для: cheops
(19.01.2005 в 13:02)
| | Вот еще раз выкладываю скрипты
немного измененные но на работу не изменения существенно не влияют
<?php
session_start();
// Это файл handler.php
// Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
// сейчас выставлен сервер локальной машины
$dblocation = "192.168.1.202";
// Имя базы данных
$dbname = "knp";
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем
// у нас, например $dbuser = "softtime";
$dbuser = "root";
// Пароль - в комментариях не нуждается ;-)
$dbpasswd = "wrdz98x";
// Соединяемся с сервером базы данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
echo( "<P>В настоящий момент сервер базы данных не
доступен, поэтому корректное отображение
страницы невозможно.</P>" );
exit();
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) ) {
echo( "<P>В настоящий момент база данных не доступна,
поэтому корректное отображение страницы
невозможно.</P>" );
exit();
}
// Формируем и выполняем SQL-запрос для посетителя с
// именем $_POST['name']
$query = "SELECT password FROM avtoriz WHERE login='".$_POST['name']."'";
$nme = mysql_query($query);
if(!$nme)
{
echo mysql_error();
echo "Ошибка выполнения запроса";
exit();
}
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
// Получаем пароль
$password = mysql_result($nme, 0);
// Сравниваем пароль из базы данных и введённый посетителем
if ($_POST['password'] == $password)
{
// Идентификация прошла успешно - осуществляем
// "вход" посетителя. Для того, чтобы в течении текущей
// сесси посетитель не вводил своё имя пароль повторно -
// передаём их через сессию
# $_SESSION['user'] = $_POST['name'];
# $_SESSION['password'] = $_POST['password'];
$user = $_POST['name'];
session_register("user");
// Осуществляем автоматический переход на
// страницу index.php чтобы убедится, что
// посетитель "вошёл"
Header("Location: men.php");
# echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=men.php'></HEAD><body>";
}
else
{
#echo "Ошибка идентификации: неправильный пароль";
Header("Location: index.php");
exit();
}
}
// Если в результате запроса не получено ни одной
// строки - посетитель с таким именем не зарегистрирован
else
{
# echo "Ошибка идентификации: посетитель не зарегистрирован";
Header("Location: index.php");
exit();
}
?>
|
и обработчик
<?
session_start();
if(isset($_POST['exit']))
{
session_unset();
session_destroy();
Header("Location: ../index.php");
}
?>
<HTML>
<HEAD>
<META http-equiv="Content-Language" content="ru">
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<Title>WEB сервер УС БоГЭС</title>
</HEAD>
<body bgcolor="black" alink="Lime" link="lime" vlink="lime" text="Yellow">
<?
include("style.inc");
?>
<table bgcolor='#003366' border="1" width="15%">
<tr>
<td width="100%" bgcolor="#0000FF"><center>
<font color="#FFFFFF">БоГЭС</font></center></td>
</tr>
<?
include "knp/connect.php";
$ath=mysql_query("select id from avtoriz where login='".$HTTP_SESSION_VARS["user"]."'");
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($ath) > 0)
{
// Получаем id
$id = mysql_result($ath, 0);
switch ($id)
{
#####################################################################
case "1": include_once "knp/user/admin.php"; break;
case "2": include_once "knp/user/vitp.php"; break;
#default: include_once "index.php";
#####################################################################
}
}
if(!isset($_POST['exit']))
{
print"<tr><td>";
print"<form action='' method='POST'>
<input type='submit' name='exit' value='закончить работу'></td></tr>";
}
?>
</table></form>
<?
$id = $_GET['id'];
include_once "$id";
?>
|
| |
|
|
|
|
|
|
|
для: Felix
(19.01.2005 в 12:58)
| | Я сейчас уезжаю, но вечером потестирую тщательно потестирую вашу форму и обработчик на локальной машине... скорее всего это ничего не даст, но по крайней мере мы исключим код (ну или найдём ошибку). | |
|
|
|
|
|
|
|
для: cheops
(19.01.2005 в 12:41)
| | Да именно с той формой и обработчиком которые выше. | |
|
|
|
|