Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

PHP in komentarji

 
 
13.9.2009, 21:27
Zanimivo, toda izvorna koda mi nekaj ne dela. Ko vpišem komentar mi doda zraven komentarja črko n (npr. komentar je hahaha, sporočilo je hahahan) in vsakič, ko napišem nov komentar se mi stari zbriše in se novi zapiše na mestu prejšnjega.
Je pa res da uporabljam 110mb.com, ki je bolj...


Sem ravnokar preveril kodo na 110mb.com in pri meni deluje OK.
http://podtalje.110mb.com/
 
 
 
14.9.2009, 16:33
Zakaj meni ne dela: http://igrce.co.cc/
napiše mi: Warning: fopen(baza.txt) [function.fopen]: failed to open stream: Permission denied in /home/a7907128/public_html/index.php on line 28


spremenil: aljo23 (14.9.2009 ob 16.34.51)
 
 
 
14.9.2009, 16:38
Zakaj meni ne dela: http://igrce.co.cc/
napiše mi: Warning: fopen(baza.txt) [function.fopen]: failed to open stream: Permission denied in /home/a7907128/public_html/index.php on line 28



Si naredil datoteko baza.tct? Mora biti baza.txt. Samo tako ime velja in nič drugega...


@podtalje, potem sem ga pa jaz izgleda nekaj "vštimal"


spremenil: Erco (14.9.2009 ob 16.39.23)
 
 
 
14.9.2009, 16:48
Sem naredil datoteko. Ne vem kaj bi lahko bilo narobe
 
 
 
14.9.2009, 17:39
Permission denied. Tvoje gostovanje ne podpira operiranje z datotekami
 
 
 
14.9.2009, 19:26
Vzrok za napako je, da hoče skripta pisati v datoteko, kot zgleda pa pravice v mapi to onemogočajo.

Kar sem pogledal, so samo privzete pravice nastavljene tako.

Pravice lahko spremeniš kar s FTP klientom, lahko pa tudi uporabiš vmesnik File Manager, ki ga ponuja to gostovanje in tam izbereš Chmod in nastaviš pravice.
 
 
 
21.9.2009, 16:03
LP,

zanima me, če bi lahko kako omejil število komentarjev - na podlagi te lekcije izdelujem majhen shoutbox in bi bilo malo hecno če bi npr. bilo 265 komentarjev čez celo stran .
Zato me zanima, kako bi npr. lahko avtomatično pobrisal komentarje iz datoteke, če se jih recimo nabere 10?


Če se da,

Hvala, Erco!


spremenil: Erco (21.9.2009 ob 16.32.10)
 
 
 
21.9.2009, 17:43
Em ... Spodnja koda ti kar izpiše vse komentarje. Najbolje, da namesto izpisa koda vstavi komentarje v Array (množico) in potem pač s for zanko greš od dolžine arraya - 20 do dolžine arraya in izpišeš


while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strlen($vrstica)>0) {
echo "<tr><td>";
echo htmlspecialchars($vrstica, ENT_QUOTES, 'UTF-8');
echo "</td></tr>";
}
}
 
 
 
22.9.2009, 14:17
Em ... Spodnja koda ti kar izpiše vse komentarje. Najbolje, da namesto izpisa koda vstavi komentarje v Array (množico) in potem pač s for zanko greš od dolžine arraya - 20 do dolžine arraya in izpišeš

while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strlen($vrstica)&gt;0) {
echo "&lt;tr&gt;&lt;td&gt;";
echo htmlspecialchars($vrstica, ENT_QUOTES, 'UTF-8');
echo "&lt;/td&gt;&lt;/tr&gt;";
}
}



Hvala, ko se bom odločil za kaj več kot beta verzijo z veseljem uporabim!
 
 
 
25.9.2009, 19:34
<?
mysql_connect('***', '***', '***') OR die('Ne morem se povezati na server!');
mysql_select_db('janpac_forum') OR die('Ne morem izbrati baze!');
$uId = $_COOKIE['phpbb3_1u7t4_sid'];

if (!isset($_COOKIE['phpbb3_1u7t4_sid']))
{
echo "";
} else
{

$row = mysql_fetch_assoc(mysql_query("SELECT * FROM phpbb_sessions WHERE session_id='$uId'"));

if ($row['session_user_id']==1)
{
echo '';

} else {
$query = mysql_query("SELECT username FROM phpbb_users WHERE user_id='" . $row['session_user_id'] . "'");
$uporabnik = mysql_result($query, 0);
echo '<form id="form1" name="form1" method="post" action="">
<label>polje_komentar
<textarea name="polje_komentar" id="polje_komentar" cols="45" rows="5"></textarea>
</label>
<p>
<label>Dodaj komentar
<input type="submit" name="komentar" id="komentar" value="Submit" />
</label>
</p>';
}
}
?>

<table border="0">
<tr>
</tr>
<?php
$ime_datoteke = "baza.txt";
//vpis podatkov
if (isset($_POST['polje_komentar'])) {
//shrani vrednost
$datoteka = fopen($ime_datoteke, 'a') or die("Ne morem odpreti datoteke.");
$komentar = $_POST['polje_komentar']."\n";
fwrite($datoteka . '<<b>' . $uporabnik . '</b>>'. $komentar);
fclose($datoteka);
}

//branje podatkov
if (is_file($ime_datoteke)) {
$datoteka = fopen($ime_datoteke, 'r') or die("Ne morem odpreti datoteke.");
while (!feof($datoteka)) {
$vrstica = fgets($datoteka, 4096);
if (strlen($vrstica)>0) {
echo "<tr><td>";
echo htmlspecialchars($vrstica, ENT_QUOTES, 'UTF-8');
echo "</td></tr>";
}
}
fclose($datoteka);
}
?>



Žal mi nekaj tale koda ne deluje. Malo sem kombiniral to iz lekcije, a očitno vpisovanje v datoteko oz. branje ne deluje. Lahko kdo pomaga?
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!