Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод сообщений в гостевой книге
 
 автор: Panker   (10.03.2006 в 08:29)   письмо автору
 
 

Я не очнеь предстовляю о чём говорЮ! сегодняночь лазил по нету много нового в гсотевуху поставил но 1 недостаток остлся помимо навигации постраничной :)

$f = fopen("bigrash.php", "at"); 
$n=file("bigrash.php"); $total=count($text)+1;
$str="<table border=0 width=498 cellspacing=0 cellpadding=2 class=commBodyTable height=42><tr><td class=commNameTd width=34 style='border-left-width:1px; border-right-style:dotted; border-right-width:1px; border-top-width:1px; border-bottom-width:1px'>№ $total</td><td class=commNameTd width=417><b><u><font color=#4D6D91>Говорит</font></u> <a href=mailto:$mail>$name</a></b></td><td class=commDateTd align=right nowrap height=23 width=34>$data</td></tr><tr><td class=commCommentTd height=19 colspan=3><font size =2>$comments</td></tr></table>";
// вот так вот :) запарился я уже с этой гостевой ебливой :)
$str=str_replace("\r\n","",$str);
fputs($f, $str."\n"); 
fclose($f);
} while ($i<$lm);  
header("Location: index.php");
?>

Вот я записываю сообщения уже вмести с красотой тоисть сообщения в базу идёт со всеми таблицами и так длее! Очень база быстро растёт!
я слышал можно сделать что бы писалось тока сообщеняи а выводилось уже в зарание приготовленой таблице!
Как это можно осуществить нечгео не нашел похожего в нети :(

   
 
 автор: m@rchello   (10.03.2006 в 09:03)   письмо автору
 
   для: Panker   (10.03.2006 в 08:29)
 

вот смотри скрипты только написал поэтому ещё не тестировал но работать должно нормально!
Этот скрипт для записи сообщения

<?
# скрипт записи сообщения #
$base=@file("bigrash.php");
$count=count($base)-1;
for (
$i=0;$i<=$count;$i++)
     {
     list(
$total1,$comments1,$name1,$mail1,$data1)=explode("||",$base[$i]);
     
$numr[]=$total1;
     }
     
$total=@max($numr)+1;
$comments=str_replace("\r\n","<br>",$comments);
$comments=str_replace("\n","<br>",$comments);
$str="$total||$comments||$name||$mail||$data||\r\n";
$f=fopen("bigrash.php""a+");
fwrite($f,"$str");
fclose($f);
header("Location: index.php");
?>


а этот для вывода сообщений

<?
# скрипт вывода сообщения #
$base1=@file("bigrash.php");
$count1=count($base1)-1;
for (
$i=$count1;$i>=0;$i++)
     {
     list(
$total2,$comments2,$name2,$mail2,$data2)=explode("||",$base1[$i]);
     echo
"<table border=0 width=498 cellspacing=0 cellpadding=2 class=commBodyTable height=42>
   <tr>
      <td class=commNameTd width=34 style='border-left-width:1px; border-right-style:dotted; border-right-width:1px; border-top-width:1px; border-bottom-width:1px'>
         № 
$total2
      </td>
      <td class=commNameTd width=417>
         <b><u><font color=#4D6D91>говорит</font></u> <a href=mailto:
$mail2>$name2</a></b>
      </td>
      <td class=commDateTd align=right nowrap height=23 width=34>
         
$data2
      </td>
   </tr>
   <tr>
      <td class=commCommentTd height=19 colspan=3>
      <font size =2>
$comments2</font>
      </td>
   </tr>
</table>"
;
     }
?>

   
 
 автор: Panker   (10.03.2006 в 09:07)   письмо автору
 
   для: m@rchello   (10.03.2006 в 09:03)
 

Жаль что сё так громозко получается :( у меян 3 строчки всего запись :( тут целых 20 выходит! но з ато экономия чёрт подери места :)
Буду думать! :( выбрать 3 строчки = удобно красиво понятно! но без экономии! или же выбрать громозкий вариант но с экономией :(

   
 
 автор: m@rchello   (10.03.2006 в 09:14)   письмо автору
 
   для: Panker   (10.03.2006 в 09:07)
 

Смотри тут весь код щитай для вычесления номера сообщения (если я тя поня то $total у тебя это номер сообщения! если сделать так то номер сообщения будет уникальный и повторятся не будет а если сделать как у тебя то возможно совпадение и представь как это не крсиво!
Но можно вообще не записывать номер сообщения а генерировать его прямо на выводе смотри так вот те же скрипты!


<? 
# скрипт записи сообщения # 
$comments=str_replace("\r\n","<br>",$comments); 
$comments=str_replace("\n","<br>",$comments); 
$str="$comments||$name||$mail||$data||\r\n"
$f=fopen("bigrash.php""a+"); 
fwrite($f,"$str"); 
fclose($f); 
header("Location: index.php"); 
?>



<? 
# скрипт вывода сообщения # 
$base1=@file("bigrash.php"); 
$count1=count($base1)-1
for (
$i=$count1;$i>=0;$i++) 
     {
     list(
$comments2,$name2,$mail2,$data2)=explode("||",$base1[$i]); 
     
$total2=$i+1;
     echo
"<table border=0 width=498 cellspacing=0 cellpadding=2 class=commBodyTable height=42> 
   <tr> 
      <td class=commNameTd width=34 style='border-left-width:1px; border-right-style:dotted; border-right-width:1px; border-top-width:1px; border-bottom-width:1px'> 
         № 
$total2 
      </td> 
      <td class=commNameTd width=417> 
         <b><u><font color=#4D6D91>говорит</font></u> <a href=mailto:
$mail2>$name2</a></b> 
      </td> 
      <td class=commDateTd align=right nowrap height=23 width=34> 
         
$data2 
      </td> 
   </tr> 
   <tr> 
      <td class=commCommentTd height=19 colspan=3> 
      <font size =2>
$comments2</font> 
      </td> 
   </tr> 
</table>"

     } 
?>

   
 
 автор: Panker   (10.03.2006 в 09:37)   письмо автору
 
   для: m@rchello   (10.03.2006 в 09:14)
 

мне какрас надо не выводить а генирировать так как я часто их удаляю и мне не хчоется что бы было 1 5 8 16 65 :) хочется 1 2 3 4 5 что бы так шли :) у меян какрас сейчас там так и есть но меня гложит эта память в базе :) сейчас буду пробывать может что дельное получистя :)

   
 
 автор: Panker   (10.03.2006 в 09:41)   письмо автору
 
   для: Panker   (10.03.2006 в 09:37)
 

$str="$comments||$name||$mail||$data||\r\n";
Странно! :) что значит тут $data

   
 
 автор: Panker   (10.03.2006 в 09:44)   письмо автору
 
   для: Panker   (10.03.2006 в 09:41)
 

cnhfyyj ghb pfgbcb e vtzy DCTULF jib,rf yf cfve. gjcktlyb. cnhjre bl'n ^( b ytxtuj yt gbib ^(

   
 
 автор: Panker   (10.03.2006 в 09:45)   письмо автору
 
   для: Panker   (10.03.2006 в 09:41)
 

Странно! у меян при записи ошибка ВСЕГДА на самую последнию строку тоисть на ?> идёт! и не запсиывает

   
 
 автор: Panker   (10.03.2006 в 09:45)   письмо автору
 
   для: Panker   (10.03.2006 в 09:41)
 

Странно! у меян при записи ошибка ВСЕГДА на самую последнию строку тоисть на ?> идёт! и не запсиывает

   
 
 автор: Drago   (10.03.2006 в 09:47)   письмо автору
 
   для: Panker   (10.03.2006 в 09:45)
 

Возможно скобку проспутил или лишнюю добавил.

   
 
 автор: Panker   (10.03.2006 в 09:48)   письмо автору
 
   для: Panker   (10.03.2006 в 09:45)
 

что то точно перемудри :)

   
 
 автор: Drago   (10.03.2006 в 09:45)   письмо автору
 
   для: Panker   (10.03.2006 в 09:41)
 

А что оно значит в твоем посте?

   
 
 автор: Panker   (10.03.2006 в 09:50)   письмо автору
 
   для: Drago   (10.03.2006 в 09:45)
 

Блин вот тему то сам свою же засрал!
а насчёт data что то туплЮ! не спал всю ночь :) с милой гостевой возился :)
дада и озночает даду! я прост оендавно её добавил не запомниЛ!
но насчёт записи и вывода точно что то не так )

   
 
 автор: Drago   (10.03.2006 в 10:02)   письмо автору
 
   для: Panker   (10.03.2006 в 09:50)
 

Так а что не так? Главное суть понять, а сделать это несложно.
В файл-базу, записываешь все данные, которые потом будешь выводить. К примеру такого формата:

дата||имя||маил||сообщение

А затем, уже в файле который будет это выводить, разбираешь эти данные функцией explode() и для каждой записи, генерируешь HTML код, точно такой же, какой раньше записывал в файл. Только там где нужно, подставляешь переменные.

   
 
 автор: Panker   (10.03.2006 в 10:04)   письмо автору
 
   для: Drago   (10.03.2006 в 10:02)
 

всё это легко сказать но для новечка сложно :) ладно буду сидет ьмучится :)спасибо :)

   
 
 автор: Panker   (10.03.2006 в 10:07)   письмо автору
 
   для: Drago   (10.03.2006 в 10:02)
 

У меян последний вопрос!
Почему у меян всё бесконечно поевляется! тоисть вроде записал вывел но вывод идёт бесконечно! :)

   
 
 автор: Drago   (10.03.2006 в 10:12)   письмо автору
 
   для: Panker   (10.03.2006 в 10:07)
 

Значит неправильное условие в цикле. Если используешь приведенный выше код, то попробуй изменить

for ($i=$count1;$i>=0;$i++)

на

for ($i=$count1;$i>=0;$i--)

или на это

for ($i=0;$i<=$count1;$i++)

   
 
 автор: Panker   (10.03.2006 в 10:16)   письмо автору
 
   для: Panker   (10.03.2006 в 10:07)
 

Странно это всё )
1 бесконечно поевляются таболици да!
2 выводится тока последние сообщение :(

   
 
 автор: Panker   (10.03.2006 в 10:19)   письмо автору
 
   для: Panker   (10.03.2006 в 10:16)
 

неожидал что всё так прсото будет! я тут ночь с куками возился а тут такую штуку не без помощи богов Пхп конечно но сделал :)
Спасибо
за обьяснения
за помощь
за то что открыли глаза
и самое БОЛЬШОЕ СПАСИБО за то что теперь нумерация сообщений так как я мечтал идёт!
Вот прошел месяц уже всё вроде естЬ! осталось сделать постраничную навигацию но это мне не осилить так что будет без неё :) скоко не читал не где нечего н найти :)

   
 
 автор: m@rchello   (10.03.2006 в 13:52)   письмо автору
 
   для: Panker   (10.03.2006 в 10:19)
 

скинь мне на мыло свою гостевую я тебе сделаю!

   
 
 автор: Panker   (10.03.2006 в 15:42)   письмо автору
 
   для: m@rchello   (10.03.2006 в 13:52)
 

Нееееее :)
Тогда эта гостевая будет уже не моя :)
А я СВОЮ делаю :) и не хуже чем у других :)
Большо спасибо за предложение :)
Но я пожалуй пусть похуже НО СВОЁ :)
А своё всегда самое самое :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования