русский
Germany.ruForen → Архив Досок→ Webdesign und Hosting

Помогите написать скрипт

230  
alex-2004 гость19.06.04 22:33
alex-2004
NEW 19.06.04 22:33 
Всем привет!
Кто видит ошибку?
....
<?
$datei=fopen("counter.txt","r",0);
$zaehler=fgets($datei,12,0);
fclose($datei,0);
echo "Sie sind der <b>$zaehler.</b> Besucher!";
$zaehler++;
$datei=fopen("counter.txt","w",0);
fputs($datei,"$zaehler",0);
fclose($datei,0);
?>
....
Не работает, собака! http://www.wettberatung.de/1.php
..........
И еще, к знатокам:
Кто подскажет скрипт элеметарнейшего гэстэбуха на пхп?
(без админа, паролей, с *.тхт файлом в качестве датэнбанка)
Чем короче, тем лучше
Заранее благодарю
--------------------------------
http://www.macenko.de
#1 
Melnikov знакомое лицо19.06.04 22:45
Melnikov
NEW 19.06.04 22:45 
in Antwort alex-2004 19.06.04 22:33
вроде правильно всё
посмотри chmod на папке и на текстовом файле
http://www.CTAPT.de
http://COOLSITES.CTAPT.de
#2 
GANDJUBAS местный житель19.06.04 23:09
GANDJUBAS
NEW 19.06.04 23:09 
in Antwort alex-2004 19.06.04 22:33, Zuletzt geändert 19.06.04 23:13 (GANDJUBAS)
стоит же Permission denied
нет прав на запись.
и еще работая с файлами лучше писать так:
$datei=fopen("counter.txt","w",0);
flock($datei,2,0);
fputs($datei,"$zaehler",0);
flock($datei,3,0);
fclose($datei,0);
так Вы избежите конфликтов записи...
и еще логически правильнее обатныей порядок
$zaehler++;
echo "Sie sind der <b>$zaehler.</b> Besucher!";
Хочу жить вечно! Пока получается! ;-)
#3 
alex-2004 гость19.06.04 23:31
alex-2004
NEW 19.06.04 23:31 
in Antwort GANDJUBAS 19.06.04 23:09
Переделал, как ты подсказал, только теперь еще страшнее выглядит...
Кстати, что это за команда flock(,0); ?
--------------------------------
http://www.macenko.de
#4 
  validol знакомое лицо19.06.04 23:49
NEW 19.06.04 23:49 
in Antwort alex-2004 19.06.04 23:31
Tomasson старожил20.06.04 01:54
Tomasson
NEW 20.06.04 01:54 
in Antwort alex-2004 19.06.04 23:31
Надо изменить права доступа, чтобы ты мог записывать в файл.
А чтобы страшно не выглядело, надо делать проверку, или в файл можно писать:
if(is_writable("counter.txt"))
{
... // код записи в файл
}
Manche Hähne glauben, dass die Sonne ihretwegen aufgeht
#6 
alex-2004 гость20.06.04 07:57
alex-2004
NEW 20.06.04 07:57 
in Antwort Tomasson 20.06.04 01:54
Сделал. Актуальный скрипт:
---------
<?
$datei=fopen("counter.txt","r",0);
$zaehler=fgets($datei,12,0);
fclose($datei,0);
$zaehler++;
echo "Sie sind der <b>$zaehler.</b> Besucher!";
if(is_writable("counter.txt"))
{
$datei=fopen("counter.txt","w",0);
flock($datei,2,0);
fputs($datei,"$zaehler",0);
flock($datei,3,0);
fclose($datei,0);
}
?>
---------
Ужас пропал, остался только счетчик
... Но к сожалению он такой же мертвый как и был
--------------------------------
http://www.macenko.de
#7 
  validol знакомое лицо20.06.04 10:22
20.06.04 10:22 
in Antwort alex-2004 20.06.04 07:57
ну а саму "counter.txt" рядышком положил? и в ней "0" вписал?
Работает все, только что проверил
<=============
#8 
Tomasson старожил20.06.04 10:37
Tomasson
NEW 20.06.04 10:37 
in Antwort alex-2004 20.06.04 07:57
Сделай так:
if(is_writable("counter.txt"))
{
echo "test ... file is writable";
$datei=fopen("counter.txt","w",0);
flock($datei,2,0);
fputs($datei,"$zaehler",0);
flock($datei,3,0);
fclose($datei,0);
}
Если тестовая строка не появится, меняй права доступа к файлу (07хх). Иначе ты не сможешь записать в файл новое значение счетчика.
Manche Hähne glauben, dass die Sonne ihretwegen aufgeht
#9 
Tomasson старожил20.06.04 10:39
Tomasson
NEW 20.06.04 10:39 
in Antwort Tomasson 20.06.04 10:37
Возьми какую-то книгу по PHP. Там все это есть.
Manche Hähne glauben, dass die Sonne ihretwegen aufgeht
#10 
Melnikov знакомое лицо20.06.04 12:31
Melnikov
NEW 20.06.04 12:31 
in Antwort alex-2004 19.06.04 22:33
В ответ на:

посмотри chmod на папке и на текстовом файле


а чё... этого не достаточно?
http://www.CTAPT.de
http://COOLSITES.CTAPT.de

#11 
GANDJUBAS местный житель20.06.04 14:00
GANDJUBAS
NEW 20.06.04 14:00 
in Antwort alex-2004 19.06.04 23:31, Zuletzt geändert 20.06.04 14:03 (GANDJUBAS)
>Кстати, что это за команда flock(,0); ?
Так временно закрывается доступ к файлу для других пользователей. То есть если идет запись, то другие ждут.
А счетчик ваш не работает из-за отсутсвия прав доступа, как сверху уже писали.
То что вы встроили проверку - это проблемы не решает, у Вас просто пеперь нет сообщений об ошибке, но счетчик не считает, так как не перезаписывается файл.
Вы скорее всего сохраняете файлы на сервер при помощи FTP-программы.
Во всех этих программах есть возможность изменить права на тот или иной файл.
В зависимости от программы должна быть либо кнопка, либо пункт в popup-меню (если на файле нажать правой кнопкой). Называться должно или CHMOD или "права" (Richts, Rechte в зависимости от языка). Стандартно там стоит обычно 644 или rw-r--r-- или
либо примерно так
<<<<<<<<<< смотрите картинку
Надо выставить 666 или rw-rw-rw-
или так как показано на картинке.
Хочу жить вечно! Пока получается! ;-)
#12 
Mik78 прохожий11.07.04 16:34
Mik78
NEW 11.07.04 16:34 
in Antwort alex-2004 19.06.04 22:33
echo "Sie sind der <b>$zaehler.</b> Besucher!";
надо так:
echo "Sie sind der" . "<b>" . "$zaehler" . "</b>" . " Besucher!";
Пьянство не рождает пороков: оно их обнаруживает. Nürnberger Leben der jungen Erwachsenen
#13 
Melnikov знакомое лицо11.07.04 18:21
Melnikov
NEW 11.07.04 18:21 
in Antwort Mik78 11.07.04 16:34
В ответ на:

надо так:


да лана? ты это серьёзно или так... для поддержания беседы?
http://www.CTAPT.de
http://COOLSITES.CTAPT.de

#14 
boobiesboob гость12.07.04 00:11
boobiesboob
NEW 12.07.04 00:11 
in Antwort alex-2004 19.06.04 22:33
da ya voobwe poka v PHP ne waru ;)
timer ya delal na Java. :) a piwu tak, 4tob razgovor potderjat ;)
Я - ламер домашний, средней пушистости, поэтому меня все и любят :)
Я - ламер домашний, средней пушистости, поэтому меня все и любят :)
#15 
Melnikov знакомое лицо12.07.04 08:57
Melnikov
NEW 12.07.04 08:57 
in Antwort boobiesboob 12.07.04 00:11
В ответ на:

timer ya delal na Java. :)



ты это серьёзно?
http://www.CTAPT.de
http://COOLSITES.CTAPT.de

#16