Нужна ваша помощь, господа прораммисты

Статус
Закрыто для дальнейших ответов.

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
Здарвствуйте, я новичек в вашем форуме, но мне нужна ваша помошь.Не могли бы вы мне помочь?
Мне нужен кусок php кода. Я хотл бы что бы вы написали заход в чат! т.е. проверку человек ввел правильную пару логин пароль, и проверку находиться он в чате или нет.все ники онлайн юзеров хранить в online.txt файле. а имя и пароль юзеров в файле users.txt :unsure:

users.txt
имя узера/md5_кодированный_пароль.

online.txt
имя_онлайн_юзера1/имя_онлайн_юзера 2
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Код:
<?php

$users = file("users.txt");

foreach ($users as $string) {
	list($login, $pwd) = split("\/", $string);
	if ($_POST['login'] == $login && md5($_POST['pwd']) == md5($pwd)) {
		$stat = 1;
		break;
	}
}

if ($stat == 1) {
	echo "Welcome to my chat!";
} else {
	echo "Invalid login or password";
}

?>
На счет ников-онлайн = почитай про работу с файлами посредством PHP, там все проще простого. Хотя я бы не рекомендовал юзать .txt файл базы онлайн юзеров. Кстати, один юзер = одна строка, а то геморой заработаешь так.
И не используй .txt файлы, их любой ребенок может прочитать.
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
ну я все это написал, но не могу что бы все вместе... ты не мог бы сам написать для меня скритик этот.. так как у меня не получаеться что бы и наличие юзера в чате проверялось и вго пароль и логин. Почему-то мой код не работает...

А на счет текстовых файлов, спасиб, приму к сведению...
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
И не используй .txt файлы, их любой ребенок может прочитать.
Небольшая поправка: их никто не прочитает, если все сделано по уму, т.е. запрещено файлом .htaccess.
Хотя самый лучший вариант, это использование БД, а не файлов.
Опять же, если используете файлы, то не забывайте блокировать файлы при изменении информации, не то могут быть плачевные последствия.
Почитать об этом можно в статье: http://www.internet-technologies.ru/articl...rticle_386.html

И не используй .txt файлы, их любой ребенок может прочитать.
Небольшая поправка: их никто не прочитает, если все сделано по уму, т.е. запрещено файлом .htaccess.
Хотя самый лучший вариант, это использование БД, а не файлов.
Опять же, если используете файлы, то не забывайте блокировать файлы при изменении информации, не то могут быть плачевные последствия.
Почитать об этом можно в статье: http://www.internet-technologies.ru/articl...rticle_386.html
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
а каким оборозом можно написать личное сообщение.. как в чатах!??? к стати я на свой первый вопрос ответил сам....гы.. написал код. и все нормально работает...
вот терь надо личико написать и я ваше не понимаю как это можно сделать... помогите плиз..
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Личико - это дизайн что ли? (спросил дизайнер, задумавшись... А почему бы и нет....)
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
ну личико если вы не знаете , это не диза, это когда кто-то кому-то пишет лично сообщение...т.е. когда это сообщение видят только отправитель, чел,кому отправелано и админ конечно..
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Art: личико это личико. не более того. А уж кто чего не знает - еще вопрос.
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
ну знаешь ли, я не спорю, что я мнго не знаю,... вот потому и обратилси к вам..гы.. так как на счет мне помочь?
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Раз вы для хранения информации используете файлы, то "личико" вы можете организовать, создав еще 1 файл pm.txt, где будет хранить инфа в виде (для примера):

Код:
login1 | дата1 | приватное сообщение1
login2 | дата2 | | приватное сообщение2
login3 | дата3 | | приватное сообщение3
И каждые * минут данные будут обновляться, т.е. удаляться устаревшие...или же после того, как пользователь выйдет из чата.
Принцип я описал...
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Вообще бредово это все - чат на txt файлах...
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Вообще бредово это все - чат на txt файлах...
Полностью согласен! Могут быть большие проблемы с скоростью работы, особенно, если будет правильно написано взаимодействие с файлами, т.е. блокировки их на время изменения, а если нет, то могут быть траблы еще больше:))

ОФФ: Вот для форума, еще возможно использование файлов, но только потому, что там данные изменяются не каждую минуту.
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Лучше объясните, как чат окно обновляет?
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
Ну поверпых,дорогие друзья. Чат будет не на txt файлаь.. я просто не хочу исползовать Мускулы. А вовторых,чат ,который взаимадействует с файлами уже существует. Вот. и он используеться..
А блакирование, я еще сделаю... на данный момент мне важно написать вход в чат и личик. К стати. Если я сделаю как ты говоришь Creator,то эти сообщения будут видеть не только три человека.. а все..не правдо ли?
как обновляеться? а зачем refresh в html?
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Если я сделаю как ты говоришь Creator,то эти сообщения будут видеть не только три человека.. а все..не правдо ли?
Немного ошибся:) Нужно будет добавить еще 1 поле с логином отправителя.
Ну если ты будешь использовать файлы в CSV-формате и открывать через него, то все не так плохо.

Насчет рефреша, то можно использовать команду sleep() и через 15 сек отправлять заголовок на перезагрузку. Можно через JS...
Так же можно сделать постоянную загрузку, без возможности отмены пользователя с использованием sleep(), но придется отключать время выполнение скрипта.
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
слушь, Создател.. а ты мне не скажешь, как можно сравнить массив и переменную???
А о я так и не смог написать вход для чата...
 

ArTi

Member
Регистрация
24.02.2006
Сообщения
22
Код:
<?php

include("lang.txt");
$uses= FILE("$all_nicks");
$online = FILE("$online_nicks");
$nick= $_POST['nick'];
$pass=$_POST['pass'];
$pass1= md5($pass)."\r\n";
Error_Reporting(E_ALL & ~E_NOTICE);

//проверяем ни в онлайне ли такой юзер.
for($i=0;$i<count($online);$i++){
	$on= explode("/",$online[$i]);
	$on_array = 1;
};
if($on_array == 1){
	foreach($on as $online_nick){
		if($nick == $online_nick){
			$online_error = 1;
			break;
		}
		else{
			$online_error != 1;
			break;
		};
	};
		if($online_error == 1){
		echo "online error";;
	}
	elseif($online_error !=1){
		for($p=0;$p<count($uses);$p++){
			$us == explode("/",$uses[$p]);
			if($nick == $us['0'] && $pass1 == $us['1']){
				echo "wse ok";
				break;
			}
			elseif($online){
				echo "pass error";;
				break;
			};
		};
	};
};


?>

</body>
</html>
в чем мою ошибка скажите плиз...
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
echo "pass error";;

Что за новая мода?
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Вроде как после { } не надо ";"
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Тоже, кстати:))) Блин, парень, ты синтаксис пытался угадать или все-таки в книжке вычитал?
 
Статус
Закрыто для дальнейших ответов.
Верх Низ