Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нужен простенький скрипт на пхп...

1.9K
12 мая 2004 года
Санчез
97 / / 22.10.2003
Мне надо на пхп вот такая вещь: есть раздел, вход в который по паролю(многопользовательский - несколько пользователей и у каждого свой пароль), в нем можно добавлять, удалять, редактировать ссылки и комментарии к ним, также желательно добавление даты, когда ссылка была добавлена. Храниться все сохранненые ссылки и комментарии должны в обычном txt. Выводиться эти ссылки и комментарии должны в таблице, примерно так:
+-------+-------------+
|ссылка | комментарий |
+-------+-------------+
|ссылка | комментарий |
+-------+-------------+
и тд...

Кто нибудь может написать такой скрипт, или хотябы помоч как его сделать?

зы. я чайник в пхп ;)
2.0K
12 мая 2004 года
BlackMarket
95 / / 10.04.2004
И встретились два чайника...

Ладненько давай подробней и по-порядку..
По тому как сделать я могу, но мне в лому зазря время тратить.
Еще раз - конкретно потихооооньку с малого - что не получается, что хош?
1.9K
13 мая 2004 года
Санчез
97 / / 22.10.2003
Что не получается - это сильно сказано :)
Скрипт нужен в ближайшее время(в принципе он уже нужен, но пока я такую страничку сам руами делаю),а выучить сейчас пхп не представляется возможности - экзамены начинаются, времени просто не хватает... Ну если совсем влом, то мне хотябы как происходит запрос пароля, чтение-запись в файл, а там в принципе можно остальное самому как-нибудь сделать (я вообще на Вб программирую, так что проблема не в том что не могу выучить пхп, а просто нету времени для этого)

ps. если есть всетаки желание потратить свое время на решение моей проблемы, то можешь прям в асю постучаться - 330837479 . В асе бываю по Москве с 7 утра, и до 17 вечера...
2.0K
13 мая 2004 года
BlackMarket
95 / / 10.04.2004
Цитата:
Originally posted by Санчез
Ну если совсем влом, то мне хотябы как происходит запрос пароля, чтение-запись в файл, а там в принципе можно остальное самому как-нибудь сделать (я вообще на Вб программирую, так что проблема не в том что не могу выучить пхп, а просто нету времени для этого)

ps. если есть всетаки желание потратить свое время на решение моей проблемы, то можешь прям в асю постучаться - 330837479 . В асе бываю по Москве с 7 утра, и до 17 вечера...



Что такое Вб( бейсик?)

На всякий случай - переменные в php - $var,$a,$b,...
1.Чтение запись в файл:

fopen(string $filename, string $mode, bool $use_include_path=false) - открытие файла

r — файл открывается только для чтения.

r r+ — файл открывается одновременно на чтение и запись.

r w — создает новый пустой файл....

r w+ — аналогичен r+, но ..

r a — открывает существующий файл в режиме записи, ...

r a+ — открывает файл в режиме чтения и записи, ...

Блочные чтение/запись
fread(int $f, int $numbytes);
fwrite(int $f, string $st);

Построчные чтение/запись
string fgets(int $f, int $length)


fclose(int $fp) - закрытие файла

2.А какого типа паролирование тебя интересует?
Есть же много всяких - для всяких особо секретный, неособосекретных,
особо несекретных и т.д...

Напр. самое распространенное - через сессии (я еще не пробовал)
Еще можно через cookie (мне больше всего нравится, но популярностью у нормальных :)
людей не пользуется)

А самое, вроде, лучшее(не учитывая всяких там https) это методами apache'a (тоже не пробовал)

Что там у тебя - конкретики побольше к о н к р е т и к и.

P.S. Гуру, мы тут пофлудим?Вы не против?
А насчет аськи - ....кх...у мня вообще напряги в городе в нетом..в плане оплаты..и счетов за телефон, так что ...
звыняй.

1.9K
14 мая 2004 года
Санчез
97 / / 22.10.2003
раз модем, то [email]fasco@nm.ru[/email] . Можешь скинуть сюда простенький скрипт? Страничка, есть два поля ввода, под каждым из них кнопка, при нажатии на кнопку 1, набранная информация в поле 1 сохраняется в файл(добавляется в конец файла), при нажатии на кнопку 2, отчищается поле ввода 2, и добавляется в него то что находится в файле... думаю на основе этого примера у меня не возникнет трудностей... хотя еще нужна проверка аутенфикации, так что если есть желание и время, буду благодарен за помощь...
2.0K
14 мая 2004 года
BlackMarket
95 / / 10.04.2004
Цитата:
Originally posted by Санчез
раз модем, то [email]fasco@nm.ru[/email] . Можешь скинуть сюда простенький скрипт? Страничка, есть два поля ввода, под каждым из них кнопка, при нажатии на кнопку 1, набранная информация в поле 1 сохраняется в файл(добавляется в конец файла), при нажатии на кнопку 2, отчищается поле ввода 2, и добавляется в него то что находится в файле... думаю на основе этого примера у меня не возникнет трудностей... хотя еще нужна проверка аутенфикации, так что если есть желание и время, буду благодарен за помощь...



ок..жди - кину.
Ты еще вот что скажи - ты енто дело где тестить собрался - на лок машине(винда, линух?) или сразу в нете? А, кстати, на nm.ru там же нельзя php скрипты исполнять - ты в курсе?

2.0K
15 мая 2004 года
BlackMarket
95 / / 10.04.2004
Не..в лому мне еще по почте пересылать:)..форум для того и
создан, чтобы меньше м.зг..бств. было..Очень удобно и гуру подсказать
всегда могут что-то..
Вот твой скрипт ниже..протести, попробуй..
Гуру, если не в лому тоже присоединяйтесь. Я вообще в
мелочи не вкапываюсь(пока)..Работает- и х..сним. А насчет
аутентификации после того как с этим разберемся..Угу?

Вот код php:

<?php
echo "
<FORM ACTION=\"./test.php\" METHOD=\"POST\">
<input type=\"text\" width=20 height=20 name=\"recordvar\">
<INPUT TYPE=\"submit\" VALUE=\"Введи чего нибудь и Записать\">
</FORM>";

if (@$recordvar) {
echo "write!";
$f=fopen("./yourfile.dat","a+");
flock($f,LOCK_EX); // Говорим, что дальше будем работать только мы
fputs($f,@$recordvar."\r"); //тут небольшой канфуз..., пусть гуру скажут..
fflush($f); // Сбрасываем файловый буфер
flock($f,LOCK_UN); // Отключаемся от блокировки
fclose($f);
}
echo "
<FORM ACTION=\"./test.php\" METHOD=\"POST\" name=\"read\">
<input type=\"text\" width=20 height=20 name=\"rdv\">
<INPUT TYPE=\"submit\" VALUE=\"Введи чего нибудь и Читать\">
</FORM>";

if (@$rdv) {
echo "read!";
$f=fopen("./yourfile.dat","a+");
flock($f,LOCK_EX); // Говорим, что дальше будем работать только мы
while (!feof($f))
$arr[]=fgets($f,100); //тут небольшой канфуз..., пусть гуру скажут..
fflush($f); // Сбрасываем файловый буфер
flock($f,LOCK_UN); // Отключаемся от блокировки
fclose($f);

@$i=0;
while (@$arr[$i]){
echo $arr[$i];
$i++;
}
}
?>
1.9K
15 мая 2004 года
Санчез
97 / / 22.10.2003
Тестить, и отлаживать буду на своем компе(благо Apache настроил), а выкладывать на другом сервисе с поддержкой пхп...
Щас пойду разбираться.
На счет аутенфикацичи - это я что-то загнал, там же всего 1 страничка...зачем ее проверять при переходе по страничкам...просто пароль поставлю там где скрипт соять будет...

ps. У тебя что еще и почты нету ? :)))
1.9K
15 мая 2004 года
Санчез
97 / / 22.10.2003
вот скачал пару скриптиков, для доски объявлений переделываю их в то что мне надо... нашел запрос пароля... вот с ним есть проблема. Так как доступ должны получать сразу несколько человек, то должно быть несколько паролей логинов. Я настроил чтобы он читал массив из файла. Вот код, после него скажу в чем проблема:
Код:
<?php
header("Pragma: no-cache");
if((!$PHP_AUTH_USER) || (!$PHP_AUTH_PW))
{
 Header("WWW-Authenticate: Basic realm=\"Administration\"");
 Header("HTTP/1.0 401 Unauthorized");
 echo "Для входа вам необходимо ввести логин и пароль.";
 exit;
}
else
{
$i=0 ;
for ($i = 2; $i <= 2; $i++) ;
{
include("configbl.inc");
$login[$i] = trim($login[$i]);
$pass[$i] = trim($pass[$i]);
}
//вот тут начинается проблема
if((($login[1] == $PHP_AUTH_USER) && ($pass[1] == $PHP_AUTH_PW)) or (($login[2] == $PHP_AUTH_USER) && ($pass[2] == $PHP_AUTH_PW)) )

{
include("configbl.inc");
?>
<body>
---
</body>
<?php
   }
  else
   {
Header("WWW-Authenticate: Basic realm=\"Administration\"");
Header("HTTP/1.0 401 Unauthorized");
print "Вы ввели неверный/несуществующий пароль или логин. Сообщение о попытке проникнуть отправлено администратору на е-mail.";
exit;
    }
  }
?>

И файл configbl.inc в котором хранятся пароли:
 
Код:
<?php
$login[1] = "root";
$pass[1] = "1";
$login[2] = "root2";
$pass[2] = "2";
?>

как ты видишь, я проверку сделал руками... а тех кто должен иметь доступ будет порядка 20 человек... не буду же я руками прописывать все условия. Короче говоря не получается у меня цикл сделать. Пробовал сделать вот так:
 
Код:
$i=0;
for ($i = 2; $i <= 2; $i++) ;
{
if (($login[$i] == $PHP_AUTH_USER) && ($pass[$i] == $PHP_AUTH_PW))

Но он почему то не принимает пароли... в чем проблема?
2.0K
15 мая 2004 года
BlackMarket
95 / / 10.04.2004
Цитата:
Originally posted by Санчез
... в чем проблема?



М-да...сам такого никогда не делал - тебе буду..:devil:
У меня работает - ХВАТАЙ, А ТО УБЕЖИТ!

Код:
<?php
header("Pragma: no-cache");
if((!@$PHP_AUTH_USER) || (!@$PHP_AUTH_PW))
{
 Header("WWW-Authenticate: Basic realm=\"Administration\"");
 Header("HTTP/1.0 401 Unauthorized");
 echo "Для входа вам необходимо ввести логин и пароль.";
 exit;
}
else
{

include_once("configbl.inc");

//Я тут лишнюю хренотень посносил - нах оно надо?!!! было..:)


//вот тут начинается проблема И ЗАКАНЧИВАЕТСЯ:)
for ($i = 1; $i <= 2; $i++)
if (($login[$i] == $PHP_AUTH_USER) && ($pass[$i] == $PHP_AUTH_PW))
{

// include("configbl.inc");    //ЗАЧЕМ ЗДЕСЬ ОПЯТЬ ИНКЛУДИТЬ, ЕСЛИ ОНО УЖЕ???

echo "        //а у тебя тут ошибку не выдает?!!! без echo???
<body>
---
</body>"
;
exit;//ПОТОМУ КАК НАДО ЦИКЛ ПРЕРВАТЬ !!!
   }

//тут тоже хрень какая-то была...

Header("WWW-Authenticate: Basic realm=\"Administration\"");
Header("HTTP/1.0 401 Unauthorized");
print "Вы ввели неверный/несуществующий пароль или логин. Сообщение о попытке проникнуть отправлено администратору на е-mail.";

  }
?>
1.9K
16 мая 2004 года
Санчез
97 / / 22.10.2003
Цитата:

echo " //а у тебя тут ошибку не выдает?!!! без echo???


Нет, не выдает.

Ну значит едим дальше. Ни как не могу понять как устроена проверка на то что такое сообщение уже есть:

Код:
$add_time = date('H:i, d.m.y');
if(isset($add_comm)):
        $data_array = file($comm);
        $cnt = count($data_array) - 1;
        for ($i = $cnt; $i >= 0; $i--)
                {
                list($my_dates,$my_name,$my_name_email,$my_mes) = explode("|||", $data_array[$i]);
                $my_mes = trim($my_mes);
                $comment = trim($comment);
                $check = "$my_dates1|||$my_name|||$my_name_email|||$my_mes";
                if($check == "$add_time1|||$name_comm|||$mail_comm|||$comment") { $error[] = "Такой уже есть.";}
                }

 endif;

В файл данные записываются вот так:
 
Код:
время|||кто добавил|||мыло|||сообщение

у меня же записываются другие данные и мне надо, чтобы только третья(здесь - мыло) часть не повторялась. Что надо сделать с кодом чтобы это осуществить? (я чтото наделал, и у меня заработал, а потом решил улучшить... короче так и не смог восстановить когда оно работало :)
2.0K
16 мая 2004 года
BlackMarket
95 / / 10.04.2004
Ладненько разберемся... У тебя енто дело уже в вебе?Покаж..P( посмотрим 8)
2.0K
17 мая 2004 года
BlackMarket
95 / / 10.04.2004
Не успел ты ответить как я уже..
Таксссс...скрипт я не тестил, так как ты только часть скрипта дал(как я понял)
да и формы задающей этот скрипт тоже не дал...Потому лови объяснение и возможные
ошибки, которые ты мог не увидеть или допустить:


Код:
[php                // и что значат эти квадратные скобки?
$add_time = date('H:i, d.m.y'); //Это текущее время  - правильно?
if(isset($add_comm)):          // Это проверка на то, что введен новый текст
$data_array = file($comm);  // Теперь создается массив из строк твоего файла
$cnt = count($data_array) - 1;  //А $cnt это количество записей в файле
            //хотя я ламо не понимаю почему надо вычесть 1??Гуру - объъсяните!, плиииизз
           
for ($i = $cnt; $i >= 0; $i--)  //Теперь начинаем проверять все записи на совпадение
{
list($my_dates,$my_name,$my_name_email,$my_mes) = explode("|||", $data_array[$i]);
//С этой функцией я не общался, но как понимаю, она избавляет нашу строку от ||| и
//назначает каждой переменной значение даты, имени, мэйла и сообщения в строке.
$my_mes = trim($my_mes);//  ВОТ ЭТУ ХР.Н.Т.НЬ Я БЫ ВООБЩЕ ВЫКИНУЛ. НЕ ЗНАЮ ЗАЧЕМ ОНА ЗДЕСЬ?!!
$comment = trim($comment);// ЧТО ЭТО ВООБЩЕ ЗА ФУНКЦИЯ trim?  Гуру, объясните, плиииз.

//А ВОТ ДАЛЬШЕ НАВЕРНО ИДЕТ САМОЕ ИНТЕРЕСНОЕ:
$check = "$my_dates1|||$my_name|||$my_name_email|||$my_mes"; //Что это за переменная $my_dates1?
//Ее же вообще нигде нет?!!!Может быть там должно быть $add_time? Тобиш текущее время.
// Потому как дальше мы нашу запись будем сравнивать с новой, а время, как вы
//понимаете будет всегда разным.И мы его "искусственно" делаем одинаковым, чтобы оно нам не
// помешало! Наверно должно быть $add_time вместо $my_dates1


if($check == "$add_time1|||$name_comm|||$mail_comm|||$comment") { $error[] = "Такой уже есть.";}
//А здесь как я понимаю $add_time - время новой записи (кстати нафига $add_time1? ведь
// вверху текущее время определяется переменной $add_time! Должно быть наверно $add_time.
// А дальше переменные $name_comm,$mail_comm,$comment - это нововведенные переменные.
// Кстати проверь, чтобы имена этих переменных совпадали с именами форм.
}
endif;
// и опять что это за [] квадратные скобки? Это так часть скрипта что ли обозначается?
[/code]

ты сказал, что тебе нужно проверять на совпадение только мыло:
$check = "$add_time|||$name_comm|||$my_name_email|||$comment";
if($check == "$add_time|||$name_comm|||$mail_comm|||$comment") { $error[] = "Такой уже есть.";}

тобиш все переменные делаешь "искусственно" совпадающими, а мыло получается сравниваешь!
..фух...все..
1.9K
17 мая 2004 года
Санчез
97 / / 22.10.2003
Ну для начала проверь личные сообщения.
Дальше - "[php" это я криво написал... это для форума чтобы он распознал кусок как пхп скрипт

Не знаю как в пхп, но на ВБ функция trim$(value as string) убирает в текстовой строке все лишнии пробелы(в начал и конце, если я не ошибаюсь...вдруг нажал случайно при вводе логина/пароля), здесь наверное тоже самое.

На счет времни - это я тоже понял что чушь... но что ты у меня спрашиваешь? :) это чужой скрипт и его я переделываю под то что надо мне :)

На счет "искусственного" совпаденеия...попробую...
1.9K
17 мая 2004 года
Санчез
97 / / 22.10.2003
Цитата:

$cnt = count($data_array) - 1; //А $cnt это количество записей в файле, хотя я ламо не понимаю почему надо вычесть 1??Гуру - объъсяните!, плиииизз


объясняю :) когда он записывает в файл то образуется пустая строка в самом конце... ну думаю дальше понятно...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог