XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Трактир
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
<?php
if(file_exists("m.txt")){
$t=file("m.txt");
}else{
$fp=@fopen("m.txt","w");
fclose($fp);
}
if(!empty($t)){
?>
<center><textarea rows=15 cols=70>
<?php
for($1=(count($t)-1);$>=0; $i--){
echo $t[($i)];
}
}
?>
почему при загрузкее файла выводится ошибка:
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in z:\home\vetrex\www\doska.php on line 24
Старый 30.12.2005, 20:38
NETRAT

offline
Опыт: 83,712
Активность:
Не знаю, можно ли к файлу обращаться как к массиву, может просто прочитать fread в буффер и вывести?
Старый 30.12.2005, 21:53
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
ну дык скрипт правильный, я по учебнику делал=)
а почему не пашет я хз
Старый 30.12.2005, 22:36
NETRAT

offline
Опыт: 83,712
Активность:
spirit_gm
Цитата:
$1=(count($t)-1);$>=0; $i--){
какого хроля? должно быть
Код:
$i=(count($t)-1);$i>=0; $i--){
Старый 30.12.2005, 22:44
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
ну дык не в этом проблема=(
хотя молодей , что нашёл:)
Старый 30.12.2005, 23:13
zibada

offline
Опыт: отключен
у меня это работает... бага именно там, где нетрат написал.
хотя проще это сделать так:

Код:
<?php
if (file_exists("m.txt"))
{
   $t = file("m.txt");
}
else
{
    $t = array();
    $fp = @fopen("m.txt","w");
    fclose($fp);
}
if(!empty($t))
{
    echo '<center><textarea rows=15 cols=70>';
    foreach(array_reverse($t) AS $str)
    {
        echo $str;
    }
    echo '</textarea></center>';
}
?>
Старый 02.01.2006, 21:42
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
вообше странно ибо мой способ у меня не работал а твой работает отлично
спасибо!
Старый 02.01.2006, 22:44
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
<?php
if(!empty($_GET['yes'])){
if(!empty($_GET['mes']))$mes=($_GET['mes']);else exit("Введите сообщение!");
if(!file_exists("n.txt)){
$fp=fopen("n.txt","w");
fputs($fp,1);
fclose($fp);
$n[0]=1;
}
else
{
$fp=@fopen("n.txt","r");
$n=file("n.txt")
$n[0]++;
fputs($fp, $n[0]);
fclose($fp);
}
$dat=date("d m y H:i");
$fp=fopen("m.txt", "a");
fwrite ($fp, $n[0].".".$dat."\n" .$mes."\n\n");
fclose ($fp);
exit("Ваше сообщение принято.");
}
?>
опять же не работает
Старый 08.01.2006, 16:25
zibada

offline
Опыт: отключен
if(!file_exists("n.txt)){
кто кавычку после именм файла закрывать будет? =)

$n=file("n.txt")
забыл ; в конце строки.

и вообще, учись отыскивать такие ошибки сам, по номеру строки найти ошибку легко....
еще поменьше используй символ @ - сам же себе усложняешь поиск ошибок, отключая их вывод.

Код:
$fp = @fopen("n.txt","r");
$n = file("n.txt");
$n[0]++;
fputs($fp, $n[0]);
fclose($fp);


вся эта конструкция вообще непонятно что делает... тебе надо увеличить число в первой строке?
тогда это можно сделать так..

Код:
$n = file("n.txt");
$n[0]++;
$fp = fopen("n.txt","w");
foreach ($n AS $str)
   fputs($fp, $str);
fclose($fp);


но имхо, лучше экспортировать весь массив в файл как есть (var_export), а потом инклюдить n.txt как обычный php-файл..
Старый 08.01.2006, 16:47
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
надо бы мне повнимательней быть...
но ничё, в прошлом скрипте я сам ошибку найти смог=))это прогресс...
Цитата:
вся эта конструкция вообще непонятно что делает... тебе надо увеличить число в первой строке?
тогда это можно сделать так..

оба способа верны.или твой лучше ?
Старый 08.01.2006, 22:29
NETRAT

offline
Опыт: 83,712
Активность:
используй хоть парсер какой, а то с твоими ашипками только и кодить в блокноте
у меня Zend стоит
Старый 08.01.2006, 23:41
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
<?php
if(!empty($_POST['nam']))
{
$tn=htmlspecialchars($_POST['nam'],ENT_QUOTES);
}
else
{
$tn="MisterX";
}
if(!empty($_POST['mail']))
{
$te=htmlspecialchars($_POST['mail'],ENT_QUOTES);
}
else
{
$te='empty';
}
if ((strlen(rtrim($_POST['mes'])))!=0)
{
$t2=htmlspecialchars($_POST['mes'],ENT_QUOTES);
}
else
{
exit("<table cellspacing='5' cellpadding='5' width='100%' height='100%'>
<body bgcolor=orange>
<tr><td><center><H3>Вы не ввели текст объявления.</h3>
<br><input type='button' value='Назад' onclick='history.go(-1)'>
</td></tr></table>
</body>");
}
$dat = date("d m y H:i");
$fp = @fopen ("m.txt" , "a");
if(!$fp)exit("<center>Не могу открыть файл <b>m.txt</b>");
fwrite ($fp, "\n".$t2."\n".$dat. "пишет:" .$tn. " E-mail ". $te."\n");
fclose($fp);
exit("<table cellspacing='5' cellpadding='5' width='100%' height='100%'>
<body bgcolor=orange>
<tr><td><center><h3>Ваше объявление успешно добавлено.</h3>
<br><a href='doska.php'><H4>На доску</h4></a>
</td></tr></table></body></html>
</body>");
?>
когда при написание текста переходишь на новую строку(тобишь интер жмёшь), считовается в обратном порядке всё.
тобишь если напечатать
'привет мир' то будет всё нормально
а если
'привет
мир'
то будет считовать в обратном порядке, тобишь
мир
привет
как исправить?

(сори если непонятно выражаюсь, чё то в сон кланит)
и вот ещё:
опятьь про айфреймы.
чтобы теперь при нажатие на ссылку, стриница грузилась в айфрейм

spirit_gm добавил:
NETRAT:да стоит попробовать что нить, у меня где то на винте лежала прога...надо поискать)))
Старый 08.01.2006, 23:42
zibada

offline
Опыт: отключен
Цитата:
оба способа верны.или твой лучше ?

начнем с того, что твой кусок кода ничего не пишет, потому что мы открыли файл на чтение.
а если туда поставить открытие запись, файл при этом обнулится, так что надо заново его записать полностью.
что мой код и делает.

Цитата:
когда при написание текста переходишь на новую строку(тобишь интер жмёшь), считовается в обратном порядке всё.

наверное, неплохо бы привести код чтения..
если это тот, что был несколькими постами выше, то надо в строчке
foreach(array_reverse($t) AS $str)
убрать array_reverse($t), оставить просто $t..
чтобы посты при этом выводились в старом порядке, их следует добавлять задом наперед, т.е. в начало файла..

Цитата:
чтобы теперь при нажатие на ссылку, стриница грузилась в айфрейм

<a href="script.php" target="my_iframe">click me</a>
target должен совпадать с name ифрейма.
Старый 09.01.2006, 01:42
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
Цитата:
наверное, неплохо бы привести код чтения..
если это тот, что был несколькими постами выше, то надо в строчке
foreach(array_reverse($t) AS $str)
убрать array_reverse($t), оставить просто $t..
чтобы посты при этом выводились в старом порядке, их следует добавлять задом наперед, т.е. в начало файла..

хм...если делать так, то и всё будет считовать в обратном порядке, тобишь, раньше у меня сначало писали ник, время, е-майл, а потом сообщение, ну а теперь наоборот.можно ли как нибудь подругому исправить?

и есть ещё вопрос, я никак не пойму как сделать или может просто ещё не знаю
ну к примеру, когда щёлкаешь на кнопку, то выделенный фрагмент текста выделяется в определённый текст.ну к примеру как на этом движке.и вот ещё , что ещё больше интересно.
тоже при щелчке выделенный фрагмент берётся в тэг, текст выделяется как ссылка, а при нажатие внизу текста выпадает окно.блин, нормально не объяснить, короче , у вас здесь походу нет, но обычно на буллетине, есть такой тэг как sub .вот его действие мне интересно
Старый 09.01.2006, 11:24
zibada

offline
Опыт: отключен
Цитата:
хм...если делать так, то и всё будет считовать в обратном порядке, тобишь, раньше у меня сначало писали ник, время, е-майл, а потом сообщение, ну а теперь наоборот.можно ли как нибудь подругому исправить?

или пиши все задом наперед, или организуй хранение данных по-другому.
например через var_export и include.

это делается легко...
запись:
$f = fopen('./posts.dat', 'wb');
fwrite($f, '<?php $posts=' . var_export($posts, 1) . '?>');
fclose($f);

чтение и того проще:
include('posts.dat');

ну и работаем с $posts как с обычным массивом, т.е. каждый элемент, отвечающий одному посту, может быть тоже массивом с несколькими элементами - автор, ip, мыло, текст..

имена переменных и файла, очевидно, можешь изменить на свое усмотрение.
имхо, с массивом работать гораздо удобнее, чем с разбиением текста на отдельные строки и разбором всего этого.

Цитата:
тоже при щелчке выделенный фрагмент берётся в тэг, текст выделяется как ссылка, а при нажатие внизу текста выпадает окно.блин, нормально не объяснить, короче , у вас здесь походу нет, но обычно на буллетине, есть такой тэг как sub .вот его действие мне интересно


открой исходный код любой страницы, где этот тэг юзается, и посмотри.
Старый 09.01.2006, 13:05
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
я примерно нашёл , но ничего не понял.можешь хоть как то объяснить плз

spirit_gm добавил:
<?php
session_start();
$id=session_id();
$currentTime = Time();
$oldTime = time() - 420;
$mas = file("n.txt');
$k = 0;
for ($i = 0; $i < sizeof($mas); $i++ {
$line = explode("/", $mas[$i]);
if ($line[1] > $oldTime) {
$new_mas[$k] = $mas[$i];
$k++;
}
}
for ($i = 0; $i<sizeof($new_mas); $i++ {
$line = explode("/", $new_mas[$i]);
if ($line[0]==$id {
$line[1] = trim($currentTime) ."\n";
$is_id = true;
}
$line = implode("/", $line);
$new_mas[$i] = $line;
}
$fp = fopen("n.txt", "w");
for ($i = 0; $i<sizeof($new_mas); $i++ {
fputs($fp, $new_mas[$i]);
}
fclose($fp);
if(!$is_id) {
$fp = fopen("n.txt" , "a");
$line = $id."/".$currentTime . "\n";
fputs($fp, $line);
fclose($fp);
}
$mes = file("n.txt");
echo "Сейчас на сайте посетителей = ".sizeof($mes);
?>

пишет ошибку в строке
$line[1] = trim($currentTime) ."\n";
ну где здесь ошибка?:(
Старый 09.01.2006, 19:07
zibada

offline
Опыт: отключен
смотри предыдущую строку:
if ($line[0]==$id {
скобки иногда закрывать надо... неужели самому не видно?
Старый 09.01.2006, 19:38
NETRAT

offline
Опыт: 83,712
Активность:
Млин, товарисчь, поставь себе хоть какой-нить парсер, а то это нубство чистой воды получается - "все ищут мои ашипки"
Старый 09.01.2006, 21:00
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
да.ты прав=(пойду качать

spirit_gm добавил:
ха.всё равно не работает.продолжаем искать ошибки:D
Старый 09.01.2006, 21:29
spirit_gm
aka $p!r!T {G.M}
offline
Опыт: 840
Активность:
примерно на словах объясните мне как сделать регистрацию.нет, не саму регистрацию, а чтобы юзеру мог входить и оставаться на сайте , а не входить каждый раз
Старый 21.01.2006, 14:55
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 19:40.