Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik Wpisow do Forum...
Forum PHP.pl > Forum > Gotowe rozwiązania
Kwadrat
Dzień Dobry.

Mam nastepujace pytanie.
Mam takie pliki:

forum:
[php:1:94f1ba8f8b]<?
include("headerwml.php");
echo "<wml>";
echo "<card title="Forum">";
echo "<p><small>";
echo "<a href="dodajtopic.php">Nowy temat</a> | <a href="../index.php">Exit</a></small><br/>";
$pow=$i-14;
$i=0+$i;
for($l=$i; $l<=($i+13); $l++)
{
$pop=file("topic.txt");
$tab=explode("|", $pop[$l]);
echo urldecode($tab[0].$tab[1].$tab[2]."<br/>");
}
echo("<a href="forum.php?i=$pow">[next]</a>");
echo("<a href="forum.php?i=$l">[back]</a><br/>");
echo "</p></card>";
echo "</wml>";
?>
[/php:1:94f1ba8f8b]

dodajtopic.php:
[php:1:94f1ba8f8b]<?
include("headerwml.php");
echo "<wml>";
echo "<card title="Forum - Topic"><p align="center">";
echo "Nie uzywaj spacji w Temacie!";
echo "Temat:<br/><input type="text" name="temat" maxlength="15"/><br/>";
echo "<a href="dodaj.php?temat=$(temat)">Dodaj</a>";
echo "</p></card>";
echo "</wml>";
?>[/php:1:94f1ba8f8b]

dodaj.php:
[php:1:94f1ba8f8b]<?
include("headerwml.php");
$ksiega[0]="<a href="ogladaj.php?pik=$temat">- $temat</a>n";
$e=1;
$plik = fopen("topic.txt", "r+");
flock($plik, 2);
while (!(feof($plik))){
$ksiega[$e++] = fgets($plik, 2048);
}fseek ($plik, 0);
for($e=0; $e<9999; $e++){
fputs($plik, "$ksiega[$e]");
}flock($plik, 3);
fclose($plik);
fopen("topic/$temat.txt", "a");
echo "<wml>";
echo "<card title="Forum - Topic" ontimer="forum.php"><timer value="5"/><p align="center">";
echo "<br/> <br/>Temat Zostal Dodany Pomyslnie";
echo "</p></card>";
echo "</wml>";
?>[/php:1:94f1ba8f8b]

headerwml.php
[php:1:94f1ba8f8b]
<script language = "php">
header ("Content-type: text/vnd.wap.wml");
print("<?xml version="1.0" encoding="utf-8"?>");
print("<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"n"http://www.wapforum.org/DTD/wml_1.1.xml">");
</script>
[/php:1:94f1ba8f8b]

I katalog "Topic" z chmod 777 w ktory tworzone sa pliki (txt) o nazwie Topicu.

Chciałbym za pomoca funkcji "count" zrobic cos takiego bu przy kazdym wyswietleniu Topicu (forum.php) pokazywal mi ile jest linijek w pliku danego Topicu. Czyli wpisow poniewaz skrypyt dodawania odpowiedzi jest zrobiony tak ze kazdy wpis danego Topicu dodaje do pliku o tej nazwie w osobnej lini.

Wyswietal mi teraz tak:
Cytat
Nowy Temat | Wroc
temat1
temat2
temat3


Chcialbym by było tak:
Cytat
Nowy Temat | Wroc
[13]temat1
[16]temat2
[56]temat3


Bo w tym stanie jaki mam wyswietla mi sie tylko Link do tematu.
Probowalem na wszelkie sposoby i nic :-( Help ME!

Aha i moj skrypt jest standardowo w WML :-) ALe to nie robi różnicy php zostaje to samo :-)
Grzesiek
To chyba powinno wyglądać tak:

[php:1:5c58804dcc]
<?
include("headerwml.php");
echo "<wml>";
echo "<card title="Forum">";
echo "<p><small>";
echo "<a href="dodajtopic.php">Nowy temat</a> | <a href="../index.php">Exit</a></small><br/>";
$pow=$i-14;
$i=0+$i;
for($l=$i; $l<=($i+13); $l++)
{
$pop=file("topic.txt");
$tab=explode("|", $pop[$l]);
$x = count($tab);
for($j=0; $j<$x; $j++) {
$plik = file("/katalog/$tab[$j].txt");
$ilosc[$j] = count($plik);
}
echo "[ $ilosc[$j] ] $tab[$j]";
}
echo("<a href="forum.php?i=$pow">[next]</a>");
echo("<a href="forum.php?i=$l">[back]</a><br/>");
echo "</p></card>";
echo "</wml>";
?>
[/php:1:5c58804dcc]
ale nie jestem pewien bo nie testowałem smile.gif .
Kwadrat
Kurczaki wyskakuje taki komunikat:

Cytat
[  ] Warning:  file("topic/<a href="ogladaj.php?pik=testtopicu">- testtopicu.txt") - Invalid argument in c:usrkrasnalwww6forum.php on line 15


A taki jak nima zadnego pliku w katalogo topic:
Cytat
[  ] Warning:  file("topic/.txt") - No such file or directory in c:usrkrasnalwww6forum.php on line 15


Ten to kapuje oczywiscie :-) Moze masz jakies propozycje do poprawy? laugh.gif

Robiłem to offline na kompie.
Grzesiek
Cytat
[  ] Warning:  file("topic/<a href="ogladaj.php?pik=testtopicu">- testtopicu.txt") - Invalid argument in c:usrkrasnalwww6forum.php on line 15


Musisz podać konkretny plik parser przrcież nie będzie domyślał się o jaki plik ci chodzi.

Co do drugiego problemu to możesz zrobić tak:
[php:1:6b9da3e6a5]
if(!$tab[$j]=="") {
//otwórz plik lub coś tam innego
} else {
echo "Plik nie istnieje";
}
[/php:1:6b9da3e6a5]
Kwadrat
Mysle że juz wiem oco chodzi...
Popatrz sie w jakim formacie zapisuje mi do pliku topic.txt!

topic.txt
Cytat
<a href="ogladaj.php?pik=Temat1">- Temat1</a>
<a href="ogladaj.php?pik=Temat2">- Temat2</a>
<a href="ogladaj.php?pik=Temat3">- Temat3</a>
<a href="ogladaj.php?pik=Temat4">- Temat4</a>
itp...


wydaje mi sie ze wtedy to co napisałes nie bedzie działało tak jak trzeba...
A ja musze tak podac link bo potrzeban jest mi zmienna $pik=(teamtowi) by program do dodawania i wpisywania odpowiedzi wiedzial jakim zajac sie plikiem...
Mysle ze trzeba by zrobic tak by do pliku Topic.txt zapisywal tez dane do licznika..
Tylko jak!
Grzesiek
Możesz w pliku topics.txt zapisać zmienne w tablicy:
nazwapliku1|temat1
nazwapliku2|temat2
nazwapliku3|temat3
.....

wówczas będziesz mógł wykorzystać rozwiązanie które podałem ci wcześniej.
Kwadrat
Oki dzięki za fatyge, jak niewykombinuje inaczej bez zmieniania systemuy zapisu to wykorzystam to o czym pisales.
Kwadrat
Maiłbym ogromna prosbe jakby mozna bylo wrocic do tego problemu. Mianowicie to wczesniejsze rozwiazanie niestety nie dziala. Mam taki skrypt ktory pokazuje zmieniłem poprzedni. (zamienia mi dane z pliku topic.txt na skroty)

[php:1:57921e1e50]<?php
include("headerwml.php");
$plik=fopen("topic.txt",r);
$ile=0;
while($wiersz=fgets($plik,1024))
{
$ile++;
}
fclose($plik);
echo "<wml>";
echo "<card title="Tytul">";
echo "<p align="center"><small>";

$pow=$i-14;
$i=0+$i;
for($l=$i; $l<=($i+13); $l++)
{
$pop=file("topic.txt");
$tab=explode("|", $pop[$l]);
echo urldecode("<p><a href="topic/".$tab[2].".txt">".$tab[0]." ".$tab[1]."</a></p>");
}
echo("<p align="center">------------<br/>");
echo("<a href="index.php?i=$pow">[nowsze]</a> | <a href="index.php?i=$l">[starsze]</a><br/>");
echo "</p></card>";
echo "</wml>";
?>[/php:1:57921e1e50]

plik topic.txt mam w takiej postaci:

temat1|data1|nazwapliku1
temat2|data2|nazwapliku2
temat3|data3|nazwapliku3
...

No i chcialbym zeby zliczal ile jest wierszy w pliku (np. nazwapliku1.txt)
i podawal wynik obok linku do niego (tak jak to wczesniej opisywalem)

Prosze pomocy! Juz sie z tym mecze troche ale chyba niedam rady :-(
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-2024 Invision Power Services, Inc.