Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prosty skrypt komentarzy
Forum PHP.pl > Forum > Gotowe rozwiązania
frogger14
Siemka poszukuje prostego skryptu komentarzy, bez logowania uzytkownikow i bez sql tongue.gif
Da sie zrobic ? 8)
Nitryt14
Da się zrobić biggrin.gif

To plik wyświetlający treść tych postów: (wyswietl.php)
[php:1:b7ab19bf32]<?php
include"config.inc";





// Czytywanie zawartości plików
$file1 = file($plik1);
$file2 = file($plik3);
//Koniec

echo "<table align=center class="2"><tr><td class="pod">";
echo "<b>Wpisy do księgi gości:</b><br><br>";
// jeżeli plik ma wage zero to:
// Wyświetlamy że niema postów
if (filesize($plik1) == "0")
{
echo "Brak wpisów";
}
else // A jeżeli nie wyświetlamy księge gości z wpisami
{
echo "<table border=0 align=center class="2">";
for ($i=0;$i<count($file1);$i++)
{
// Obróbka danych w plikach
$a1 = split("|", chop($file1[$i]));
$a2 = split("|", chop($file2[$i]));
// Wyświetlanie księgi gości
echo "<tr><td class="pod" width=20%><p>Kto:</p></td><td class="pod" align=left>$a1[0]</td></tr>";
echo "<tr><td class="pod" width=20%><p>Treść:</p></td><td class="pod" align=left>$a2[0]</td></tr>";
}
echo "</table>";
}
echo "</td></tr></table>";
// Koniec wyświetlania księgi

// Odnośnik do pliku gdzie można dodać post
print "<center><A href=wpis.html>Dodaj wpis</a></center>";

// Koniec programu

?>[/php:1:b7ab19bf32]

A teraz plik dodający: (dodaj_wpis.php)
[php:1:b7ab19bf32]<?php
include"config.inc";
if ($nick == "" || $tresc == "")
{
if ($nick == "")
{
$cos[0] = "<br>-Nick";
}
if ($tresc == "")
{
$cos[1] = "<br>-Treść";
}
if ($cos[0] != ""||$cos[1] != "")
{
print "Nie wypełniłeś pola obowiązkowego: <b>$cos[0]$cos[1]</b><br>";
}
print "Aby wiadomość została dodana wypełnij je!!!";
}
else
if ($akcja==dodaj)
{
$d1 = "$nickn";
$dane1 = addslashes(htmlentities("$d1"));
$da1 = "$dane1";
$fp1 = @fopen("$plik1", "r+");
$dane1=$dane1.fread($fp1, filesize($plik1));
rewind($fp1);
flock($fp1, 2);
fwrite($fp1, $dane1);
flock($fp1, 3);
fclose($fp1);

$d2 = "$trescn";
$dane2 = addslashes(htmlentities("$d2"));
$da2 = "$dane2";
$fp2 = @fopen("$plik2", "r+");
$dane2=$dane2.fread($fp2, filesize($plik2));
rewind($fp2);
flock($fp2, 2);
fwrite($fp2, $dane2);
flock($fp2, 3);
fclose($fp2);
print "<a href="$adres">Powrót</a>";
}
else
{
print "$tresc_niedziala";
}


?>[/php:1:b7ab19bf32]

A teraz plik konfiguracyjny: (config.inc)
[php:1:b7ab19bf32]<?php
$plik1 = "kto.inf"; //Plik z nickiem osoby dodajacej wpis
$plik2 = "tresc.inf"; //Plik z treścia postu
$tresc_niedziala = "CO??"; // tekst alternatywny jak coś niedziała
$adres = ""; // Adres strony głównej do powrotu


?>[/php:1:b7ab19bf32]
Formularz będzie prosty ale też ci go napisze (wpis.html)
Kod
<table width=50%>

<tr>

<td width=10%>

Nick:

</td>

<td width=90%>

<form action="dodaj_wpis.php?akcja=dodaj" method="post">

<input type="text" name="nick">

</td>

</tr>

<tr>

<td>

Treśc

</td>

<td>

<textarea name="tresc"></textarea>

</td>

</tr>

<tr>

<td colspan="2">

<input type="submit" value="dodaj">

</form>

</td>

</tr>

</table>

Mam nadzieje że działa ale jakby coś pisz!

Pozdrawiam
frogger14
A ustawiac jakies chmody?
kto.inf, tresc.inf - te pliki sie same zrobia ?
Nitryt14
Pliki niestety same się nie zrobią ale jak wstawisz skrypt to już nic nie trza zmieniać laugh.gif
frogger14
Czyli co, bo zbytnio nie skapowalem ?
Zrobia sie czy nie ?
I jeszce jedno :jakbys mogl to wez popraw ten plik wpis.html (bo troche bledow tam jest)
Nie wyswietla mi sie pole tam gdzie trzeba wpisac nika i w polu na tekst wyskakuje cos dziwnego:

<textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="dodaj">
</td>
</tr>
</table>
<script language='javascript1.2' src='http://ww6.piwko.pl/stat1.js'></script>
<script language='javascript1.2' src='http://stat.piwko.pl/stat.js?id=program.website.pl'></script>


Wez wejdz na www.program.website.pl i zobacz jak to wyglada
Nitryt14
skrypt już poprawiony powinno działac a jak wchodze na twoją stronke to mi się wyswietla ze niemam uprawnień do ogladania tamtej strony :cry:

Napisz jak mam tam się dostać

Pozdrawiam i zycze miłej zabawy
frogger14
Spoko juz wszystko jest "ok"
A czy mozna zrobic aby byl limit 20 wpisow na jedna strone ?

Myslalem ze wszystko "OK", ale jednak nie. Jest jakis blad bo nie sprawdza wogole nika i tresci (jesli wpiszesz tresc komentarza i swojego nika to wogole ten skrypt nie "widzi" wyswietla ze nie wypelniles "nika" i "tresci) sad.gif
Nitryt14
Da się to poprawić ale niewiem dlaczego niedziała :?

przed

dodaj_wpis.php
[php:1:c686201320]<?php
if ($nick==""||$tresc=="")
{

?>[/php:1:c686201320]
wstaw
[php:1:c686201320]<?php

$tresc = HTTP_POST_VARS['tresc'];
$nick = HTTP_POST_VARS['nick'];

global $nick, $tresc;

?>[/php:1:c686201320]
Mam nadzieje że zadziała

Pozdrawiam i zyczę powodzenia
frogger14
Dzieki, ide testowac tongue.gif
bartek89
ale mi i tak nie działa wszystkie pliki działaja opróćz doaj_wpis.php sad.gif
kszychu
Cytat
wstaw
[php:1:8201600405]<?php

$tresc = HTTP_POST_VARS['tresc'];
$nick = HTTP_POST_VARS['nick'];

global $nick, $tresc;

?>[/php:1:8201600405]

Jeśli już to
[php:1:8201600405]<?php
$tresc = $HTTP_POST_VARS['tresc'];
$nick = $HTTP_POST_VARS['nick'];
?>[/php:1:8201600405]
a lepiej:
[php:1:8201600405]<?php
$tresc = $_POST['tresc'];
$nick = $_POST['nick'];
?>[/php:1:8201600405]
Nitryt14
Ja działam na serwerze na którym niedziała to drugie tylko to pierwsze.
A "global" dodałem tak dla pewności zeby napewno działalo
:wink:
Pozdrawiam
frogger14
A na jakim serwie jedziesz ?
Nitryt14
Apache costam - (nie pamiętam bo mam na innym kompie) chodzący pod Windows oraz php 4.3.2 albo 4.3.4 jak dobże pamiętam plus do tego PHPMYADMIN. Całość nazywasię PHPTRIAD for WINDOWS

A ty na czym jedziesz znasz coś lepszego?questionmark.gif

Pozdrawiam

Ps. Jak myślisz jaka wersje linuxa bym musiał zainstalowac na kompie 200MHZ tak zeby wmiare dobrze chodzil!
frogger14
Cytat
A ty na czym jedziesz znasz coś lepszego?questionmark.gif


Chodzilo mi na jakim serwie jedziesz typu : www.piwko.pl, www.friko.pl smile.gif


Cytat
Ps. Jak myślisz jaka wersje linuxa bym musiał zainstalowac na kompie 200MHZ tak zeby wmiare dobrze chodzil!


Nie znam sie na linuxie sad.gif
Nitryt14
W necie jeszcze niemam stronki swojej dopiero będe zakładał u mojego wujak jest dyryktorem serwisu www.procad.com.pl czy jakos tak wieswz nieograniczone miejsce wielkos przesyłu pliku z mysql'em php4 itp itd a oprócz tego ten serwe jet za******** zabezpieczony tak przynajmiej słyszałem od niego a własnie dzisiaj najprawdopodobniej go dostane jak założe moją stronke w necie to dam znac

Pozdrawiam!

Ps. Jakby co niesmiej się z tematyki bo bedzie zwiazana z Harrym Potterem
frogger14
spoko nie bede sie smial .....kazdy czyms sie interesuje wkoncu, ty np. harrym potterem, ja czyms innym (niebede sie tu rozpisywal wkoncu to niejest odpowiednie miejsce smile.gif)

PS. Moj adresik to www.froger.website.pl (tylko sie nie smiejcie tongue.gif)
Nitryt14
Wracając do temat co uważasz na temat mojego skryptu tego do komentarzy co by mozna w nim zmienić?questionmark.gif

Pozdrawiam
frogger14
Znalazlem inny skrypt do dodawania komentarzy
oto on:
to jest plik: kom.php
[php:1:c61cc8b778]
<?

$DATADIR="data/";
$FORMAT="<TABLE WIDTH=100% cellspacing=0><TR BGCOLOR=#DDDDDD><TD>%imie% (%email%)</TD><TD ALIGN=RIGHT>%data%</TD></TR><TR><TD COLSPAN=2 BGCOLOR=#DDDDFF>%tekst%</TD></TR></TABLE>";

// --------------------------------------------------------

$commentID="a$commentID";

function displayComments()
{
global $commentID, $start, $DATADIR, $FORMAT;

if(strstr($commentID, "/"))
return;

if(!file_exists($DATADIR.$commentID))
return;

$file=fopen($DATADIR.$commentID, "r");
flock($file, 1);

$i=0;

while(!feof($file))
{
$imie=chop(fgets($file, 1000));
$email=chop(fgets($file, 1000));
$data=chop(fgets($file, 1000));
$comment=chop(fgets($file, 100000));

if(feof($file))
break;

$display=$FORMAT;

if($email)
$mailto="<A HREF="mailto:$email">$email</A>";
else
$mailto="Brak e-maila";


$display=str_replace("%imie%", $imie, $display);
$display=str_replace("%email%", $mailto, $display);
$display=str_replace("%data%", $data, $display);
$display=str_replace("%tekst%", $comment, $display);

echo($display);

$i++;
}

flock($file, 3);
fclose($file);
}

function displayForm()
{
global $REQUEST_URI, $commentID;
$id=substr($commentID, 1);
$len=strlen($REQUEST_URI)-strlen(strchr($REQUEST_URI, "?"));
$url=substr($REQUEST_URI, 0, $len);
?>
<FORM ACTION=<?=$url?> METHOD=POST>
<INPUT TYPE=HIDDEN NAME=COMMENTACTION VALUE=add>
<INPUT TYPE=HIDDEN NAME=commentID VALUE="<?=$id?>">
<TABLE>
<TR><TD>Nick:</TD><TD><INPUT TYPE=TEXT NAME=f_imie SIZE=35></TD>
<TR><TD>Email:</TD><TD><INPUT TYPE=TEXT NAME=f_email SIZE=35></TD>
<TR><TD>Tre&para;ć:</TD><TD><TEXTAREA NAME=f_tresc COLS=28 ROWS=7></TEXTAREA></TD>
<TR><TD></TD><TD><INPUT TYPE=SUBMIT VALUE="DODAJ KOMENTARZ"></TD></TR>
</TABLE>
</FORM>
<?
}

if($COMMENTACTION=="add")
{
$file=fopen($DATADIR.$commentID, "a");
flock($file, 2);

$f_tresc=str_replace("n", "<BR>", $f_tresc);
$f_tresc=str_replace("r", "", $f_tresc);
$f_imie=str_replace("n", "<BR>", $f_imie);
$f_imei=str_replace("r", "", $f_imie);
$f_email=str_replace("n", "<BR>", $f_email);
$f_email=str_replace("r", "", $f_email);

fputs($file, $f_imie);
fputs($file, "n");
fputs($file, $f_email);
fputs($file, "n");
fputs($file, date("H:i d-m-Y"));
fputs($file, "n");
fputs($file, $f_tresc);
fputs($file, "n");

flock($file, 3);
fclose($file);
}

?>
[/php:1:c61cc8b778]

:arrow: w pliku w którym chcesz wstawić komentarze umieść następujacy kod:
-Na początku pliku:
<?
$commentID=1;
include("kom.php");
?>

- :arrow: tam, gdzie mają się wyswietlać komentarze:
<?
displayComments();
?>

- :arrow: Tam, gdzie ma być formularz do wpisywania komentarzy.
<? displayForm(); ?>



i trzeba zrobic jeszcze katalog: data
no i wszystko powinno byc "OK" ale jednak tak nie jest ......wejdz na www.program.website.pl i zobacz co wyskakuje - O co chodzi ?
RoVeR
Cytat
Ps. Jak myślisz jaka wersje linuxa bym musiał zainstalowac na kompie 200MHZ tak zeby wmiare dobrze chodzil!


Sprubuj samo jondro i ucz się komend :wink:
frogger14
Cytat
Sprubuj samo jondro i ucz się komend :wink:


Do kogo to questionmark.gifquestionmark.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.