Witam ponownie
. Mam problem ze skryptem księgi gości napisanej w PHP. Tak wygląda ten skrypt:
Opis działania: Skrypt wykorzystuje plik ksiega.dat, wczytuje z niego pokolei 5 linii do zmiennych $linia1 (nick), $linia2 (e-mail), $linia3 (www), $linia4 (data) i $linia5 (treść wpisu). W przeglądarce wygląda to mniej więcej tak:
W skrypcie są dwie dodatkowe instrukcje warunkowe If ($linia2!="") { echo '[ <A href=mailto:'.$linia2.'>E-mail</A> ]'; } i If ($linia3!="") { echo '[ <A href='.$linia3.'>WWW</A> ]'; }. Gdy $linia2 albo $linia3 nie są puste, powinien się wyświetlić napis (hiperłącze) [ E-mail ] albo [ WWW ], a gdy puste nic nie ma się dziać (puste miejsce po nicku). Niestety właśnie nie chce to działać, czy zmienne $linia2, albo $linia3 są puste czy nie, zawsze te napisy się wyświetlają, a link wygląda tak: A href=mailto:>E-mail</A>. Gdzie popełniam błąd?
PS. Jestem laikiem w PHP
<?php
$nazwa_pliku="ksiega.dat";
if (($fp=fopen($nazwa_pliku,"r"))!==false)
{
$i=0; //ilosc wpisow
flock($fp, LOCK_SH);
while (($linia1=fgets($fp))!==false)
{
$linia2=fgets($fp);
$linia3=fgets($fp);
$linia4=fgets($fp);
$linia5=fgets($fp);
echo '<TABLE class=ksiega cellspacing=0 cellpadding=0 align=center>';
echo '<TR valign=top><TD class=ksiega-goradolt><B>'.$linia1.'</B>';
If ($linia2!="") { echo '[ <A href=mailto:'.$linia2.'>E-mail</A> ]'; }
If ($linia3!="") { echo '[ <A href='.$linia3.'>WWW</A> ]'; }
echo '</TD></TR>';
echo '<TR><TD class=ksiega-tekst><BR>'.$linia5.'<BR><BR></TD></TR>';
echo '<TR><TD class=ksiega-goradolt >Czas: <B>'.$linia4.'</B></TD></TR></TABLE><BR>';
$i++;
}
flock($fp, LOCK_UN);
fclose($fp);
}
if ($i==0)
echo "<span style=\"font-weight: bold;\">Nie ma na razie żadnych wpisów</span><br /><br />";
?>Opis działania: Skrypt wykorzystuje plik ksiega.dat, wczytuje z niego pokolei 5 linii do zmiennych $linia1 (nick), $linia2 (e-mail), $linia3 (www), $linia4 (data) i $linia5 (treść wpisu). W przeglądarce wygląda to mniej więcej tak:
nick [ E-mail ] [ WWW ]
Treść...
18:35:10 31-01-2006W skrypcie są dwie dodatkowe instrukcje warunkowe If ($linia2!="") { echo '[ <A href=mailto:'.$linia2.'>E-mail</A> ]'; } i If ($linia3!="") { echo '[ <A href='.$linia3.'>WWW</A> ]'; }. Gdy $linia2 albo $linia3 nie są puste, powinien się wyświetlić napis (hiperłącze) [ E-mail ] albo [ WWW ], a gdy puste nic nie ma się dziać (puste miejsce po nicku). Niestety właśnie nie chce to działać, czy zmienne $linia2, albo $linia3 są puste czy nie, zawsze te napisy się wyświetlają, a link wygląda tak: A href=mailto:>E-mail</A>. Gdzie popełniam błąd?
PS. Jestem laikiem w PHP