Problem z poprawnym zapisem warunku

0

Witam, chciałbym zrobić na swojej stronie tak, że jeśli jakiś użytkownik dostanie blok na pisanie komentarzy to odnośnik "Cytuj komentarz" nie będzie dla niego widoczny.

W kodzie wygląda to tak:

        print(" dnia " . $row["added"] . " GMT" .
($CURUSER ? " [<a href=\"comment.php?action=quote&amp;cid=".$row['id']."\"><b>Cytuj</b></a>]" : "").
				($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=edit&amp;cid=$row[id]><b>Edytuj</b></a>]" : "") .
            (get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=delete&amp;cid=$row[id]><b>Usu&#324;</b></a>]" : "") . (get_user_class() >= UC_LEECHER ? "- [<a href=report.php?commentid=$row[id]><b>Raport</b></a>]" : "") .

Ja chciałem zrobić tak, by to działało:

        print(" dnia " . $row["added"] . " GMT" .
if ($CURUSER ['blok_comments'] == 'no')
{
($CURUSER ? " [<a href=\"comment.php?action=quote&amp;cid=".$row['id']."\"><b>Cytuj</b></a>]" : "").
}
				($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=edit&amp;cid=$row[id]><b>Edytuj</b></a>]" : "") .
            (get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=delete&amp;cid=$row[id]><b>Usu&#324;</b></a>]" : "") . (get_user_class() >= UC_LEECHER ? "- [<a href=report.php?commentid=$row[id]><b>Raport</b></a>]" : "") .

Ale to zły zapis wywala błąd:
Parse error: syntax error, unexpected 'if' (T_IF) in /home/www/.......

Pomoże ktoś to poprawnie zapisać ?

0

O boże. Weź to sformatuj jakoś...

Wykonaj instrukcję if przed wypisaniem na ekran, a wynik zapisz do zmiennej. A potem zmienną wrzuć do print.

0

Można trochę jaśniej? Albo jakiś przykład? Niestety dopiero raczkuję w php :)

0
Seysso napisał(a):

Można trochę jaśniej? Albo jakiś przykład? Niestety dopiero raczkuję w php :)

if (jakis_warunek) {
    $tekst = 'abcd';
else {
    $tekst = 'xyz';
}

echo  'Jakiś randomowy tekst: ' . $tekst;
1

Chodzi ogólnie o to że nie możesz w print walnać ifa blokowego możesz na zasadzie $warunek ? $what_if : $what_else. A skoro musisz mieć tam warunek to wrzuć to w jakąś zmienną:

if($CURUSER['blok_comments'] == 'no') {
	$curuser = $CURUSER ? " [<a href=\"comment.php?action=quote&amp;cid=".$row['id']."\"><b>Cytuj</b></a>]" : "";
} else {
	$curuser = "";
}

print(" dnia " . $row["added"] . " GMT" . $curuser . ($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=edit&amp;cid=$row[id]><b>Edytuj</b></a>]" : "") .
            (get_user_class() >= UC_MODERATORY ? "- [<a href=comment.php?action=delete&amp;cid=$row[id]><b>Usu&#324;</b></a>]" : "") . (get_user_class() >= UC_LEECHER ? "- [<a href=report.php?commentid=$row[id]><b>Raport</b></a>]" : "") . 

w tym przypadku nazwałem to $curuser. Wtedy nie wywali Ci błędu składniowego

0

Bardzo dziękuję za pomoc, działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1