Skrypt Komentarzy PHP

Oka znalazłem sobie pewien skrypt ale mam mały problem kiedy klikam wyślij strona znika i pokazuje się link “dziękujemy za komentarz” klikam na niego i jestem powrotem na stronie z gotowym komentarzem.

Jak to pominąć ? Tak aby po kliknięciu wyślij strona się odświeżyła i było gotowe… po prostu przeładowała ??

To ten skrypt: http://www.gametronik.pl/koment/kom.php

Zarzuć skryptem którym użyłeś :wink:

Nie wiem jak inni, ale ja z początku też tak myślałem. Później jednak więcej czasu zabrało mi przerabianie tego prostego systemu komentarzy do coraz większych potrzeb :wink:

Zgadzam się z Tobą, ale mam ale :wink: Gdy ktoś potrzbuje jakiś prosty skrypcik, i zrobić małe poprawki, to szybciej wdroży gotowca niż napisze od podstaw (tym bardziej jak nie ma aż takich umiejętności :wink: )

Ok - także się zgadzam, ale w tym wypadku może jednak skorzystać z CMS’a bo później będzie miał wiele rzeczy z głowy gdyby strona się rozwinęła (czego życzę, a gdybyś już kloc221 zarabiał na tej stronie miliony to nie zapominaj o kolegach i koleżankach z forum) :wink: Poza tym nie każdy musi pisać od razu swój autorski CMS :slight_smile: Ale ok - koniec OT :stuck_out_tongue_winking_eye:

Myślę, że wystarczyłoby jakbyś do zmiennej $zobacz w pliku add.php przypisał ten kod:

czyli zmienna powinna wyglądać tak:

$zobacz = '';

Mam pewien problem. Zrobiłem już swój system komentarzy i zastanawiam się nad jednym. Chciał bym aby na stronie z artykułami pod nazwą arta pisała liczba komentarzy która w nim jest tylko nie mam pojęcia jak to zrobić ??

Przykładowa strona z komentarzami (na dole) http://www.gametronik.pl/art_postacice.php

Strona na której miała by się wyświetlać liczba http://www.gametronik.pl/artykuly_dx.php

Dodane 21.01.2010 (Cz) 7:22

Plik komentarza:

[syntax=html]

Nick:

Komentarz:


size=“2” width=“100%”>

Na początku popraw sobie plik add.php tak aby nie robił w pliku data.txt czegoś takiego:

A co do liczenia komentarzy to mam pomysł ale nie jest on za dobry ale działa :slight_smile: Najpierw zacznijmy od aktualizacji pliku add.php

<?

extract($_REQUEST);

$napis="dziękujemy za komentarz";

$dataloc="data.txt";



$zobacz = '';

 

$read=fopen($dataloc, "r");

$fileread = fread($read, filesize($dataloc));

fclose($read);


fwrite (fopen("data.txt", "r+"), "$imiez $imie 
 $komentz $koment 
  \n $fileread");


fclose(fopen("data.txt", "a+"));


echo ("$zobacz");

?>

[/code]


W linijce zapisywania zamieniłem kolejność [b][/b] z [b]\n $fileread[/b]. Dodatkowo [b][/b] musi mieć spacje z lewej i z prawej strony po to aby zliczanie komentarzy zadziałało.

Tak, teraz przykład zliczania komentarzy z data.txt:

[code] $sciezka = “koment/data.txt”; $plik = fopen($sciezka, “r”); $zawartosc = fread($plik, filesize(“koment/data.txt”)); fclose($plik); $array = explode(" “, $zawartosc); $word_frequency = array_count_values($array); echo " Ilość komentarzy: “.$word_frequency[””]."" ;

Jakoś powinno działać.

Tylko po co explodować tworząc tablicę, a potem zliczać liczbę jej elementów?

No i jeszcze kłopot z tym znakiem/znakami rozdzielającymi!

Przecież można to prościutko zrobić

$ile = substr_count($zawartosc, '');

-gdzie $zawartość zawiera dane wczytane przez fread.

Inna sprawa, czy nie prościej wczytać te dane przez file_get_contents ? http://pl.php.net/manual/en/function.fi … ntents.php

Skoro to łatwiejsze api to chciał bym z tego skorzystać ale jakoś tego nie łapię choć przeczytałem wszystko… Mógł byś mi jakoś zrobić przykład jak Scofield111. Jeśli to nie wyjdzie mi najwyżej skorzystam z jego pomysłu…

plik komentarza

Mail: 



Nick: 



Komentarz:

|


size=“2” width=“100%”> |

?php $sciezka = ‘koment/dane.txt’; if(file_exists($sciezka)){ echo $zawartosc = file_get_contents($sciezka); echo ’ Ilość komentarzy: ‘.substr_count($zawartosc, ‘’).’’; } else echo ‘Brak komentarzy’; ?[/code] plik add.php

[code]?php ob_start(); $dataloc=‘dane.txt’; $mail=$_POST[‘mail’]; $imie=$_POST[‘imie’]; $koment=$_POST[‘koment’]; /* tutaj warto by jeszcze sprawdzić czy coś …i co otrzymano na wejściu. jeżeli dane wejściowe są ok - skrypt idzie dalej, jeśli błędne - można przekierować do formularza, albo walnąć komunikat błędu i zatrzymać skrypt: exit; */ $str=’’.$imie.’’.$koment.’


size=“2”>’."\n"; if(!file_exists($dataloc)) { touch($dataloc); chmod($dataloc,0777); } $zawartosc = file_get_contents($dataloc); file_put_contents($dataloc,$zawartosc.$str); header(‘Location: …/art_postacice.php’); ob_end_flush(); ?

A co mam dać w miejscu w którym ma się wyświetlać liczba komentarzy… tego pliku ?

w pierwszym pliku pod formularzem jest

<?php

$sciezka = 'koment/dane.txt';

if(file_exists($sciezka)){

echo $zawartosc = file_get_contents($sciezka);

echo '
Ilość komentarzy: '.substr_count($zawartosc, '').'';

} else echo 'Brak komentarzy';

?>[/code]

Wielkie Dzięki api Jeśteś naprawdę pomocny i miły :slight_smile: Dzięki po raz kolejny… =D>

Już system moich komentarzy jest dość fajny ale nadal chciał bym go udoskonalić o 2 ostateczne detale…

1.Chciał bym aby pod Nickiem pisała data dodania komentarza (choć to nie konieczne)

  1. Trudno to opisać słowami dlatego imab.png

Chciał bym aby przy każdym wpisie widniał jakiś tam obrazek jak to zrobić ??

PS. Jeśli to z tą datą jest skomplikowane nie musicie się fatygować aby mi to tłumaczyć nie jest mi to potrzebne na gwałt…

w add.php

Dobra mam już skrypt na wyświetlanie liczby komentarzy niestety ma on jeden błąd i nie wiem jak go poprawić.

Chodzi o to że jest napis ilość komentarzy i liczba którą przenosi do następnej lini. Chciał bym aby wszystko było w 1 linijce.

Aktualny kod

Przykład na www

http://www.gametronik.pl/artykuly_dx.php

<?php $sciezka = ‘koment/dane.txt’; if(file_exists($sciezka)){ $zawartosc = file_get_contents($sciezka); echo ‘Ilo¶ć komentarzy: ‘.substr_count($zawartosc, ‘’).’’; } else echo ‘Brak komentarzy’; ?>

w stylach dorzuć:

.komimage span { float: right; margin-right: 4px; }

Albo poszerz diva komimage bo w przypadku liczby trzycyfrowej znowu będzie w nowej linii.

Mam Problem co ma być w tym pliku:

header('Location: ../art_postacice.php');