Autor Zpráva
Reqq
Profil *
Zdravím,
mám problém. Dostal jsem tento error: Parse error: syntax error, unexpected '}' in /home/www/i-motorsport.cz/subdomeny/www/profile/profil.php on line 144. Podíval by se mi na to někdo? Zde dodávám útržek z kódu. Který řádek je 144 je uvedeno tiskacím písmem v kódu jako komentář za řádkem textem na 144. řádku.

echo "<div class='article-comments-top'><div class='article-comments-top-inside-left'>Komentáře:</div></div>";
echo "<form action='/profile/uloz_komentar_profil.php' method='POST' class='article-comments-form' style='text-align:left;'>";
echo "<textarea rows='5' cols='53' style='margin-left:10px;' name='text-koment'></textarea><br /><br />";
echo "<input style='margin-left:115px;width:250px;' value='Odeslat komentář' type='submit' />";
echo "<INPUT type='hidden' name='adresa' value='http://www.i-motorsport.cz/profile/profil.php?id_uzivatele=$id_uzivatele'>";
echo "<input type='hidden' name='id_profil' value='$id_uzivatele'>";
echo "</form>";
echo "<div class='article-comments-bottom'></div><br /><br />";

echo "<div class='article-comments'>";

$resKoment = MySQL_Query($sql="SELECT COUNT(ko.kid) AS pocet_komentu,ko.id_komentare_profilu,ko.komentar_profilu,a.cl_jm AS autor,a.email,a.prezdivka,a.prijmeni,ko.datum_komentare_profilu,ko.id_adresujiciho_profilu,ko.autor_komentare_profilu FROM komentare_profil ko LEFT JOIN uzivatele a ON ko.autor_komentare=a.uid WHERE a.uid=$id_uzivatele GROUP BY ko.id_komentare_profilu ASC LIMIT 50") Or Die(MySQL_Error());
    If(MySQL_Num_Rows($resKoment)){
              For($i=1; $rKoment=MySQL_Fetch_Assoc($resKoment); $i++):
              $cl_jm = $rKoment['autor']; 
              $prijmeni = $rKoment['prijmeni'];
              if(empty($prijmeni)){
              $jmeno_autora_komentare = $rKoment['predivka'];
              }
              else{
              $jmeno_autora_komentare = $cl_jm;
              }            
            $cas = date_create($rKoment['datum_komentare_profilu']);
            $mesic = date_format($cas,"n");
            // pro jednočíslicový den: $datum = date_format($cas,"d. ").$mesice[$mesic].date_format($cas," Y");
            $datum = date_format($cas,"d. ").$mesice[$mesic].date_format($cas," Y | H:i");
            echo "<div class='article-comments-top'><div class='article-comments-top-inside-left'><a href='#' title='Otevřít profil uživatele'>$jmeno_autora_komentare</a>&nbsp;&nbsp;&nbsp;(#$i)<b style='padding-right:20px;float:right;'>$datum</b></div></div>";
            echo "<div class='article-comments-center'>";
            echo $rKoment['komentar_profilu'];
            echo "</div>";
            echo "<div class='article-comments-bottom'></div></div><br />";
            EndFor; }
    else { ?>
                   <br /><div class='article-comments-form'>
                   <b style='text-align:center;'>Žádný komentář k tomuto článku nenalezen!<br />Buďte první, kdo okomentuje tento článek!</b>
                   </div><br />
   <?php }

echo "</div>";

echo "</div>";

} else echo "Litujeme, ale žádný takový profil nebyl nalezen. Pokračujte stisknutím našeho loga (vlevo nahoře) pro navrácení na hlavní stránku.";    // TOTO JE TEN CHYBNÝ ŘÁDEK Č. 144                          
  
include("../konec.php");
?>  


Děkuji
Joker
Profil
Reqq:
Pořiďte si nějaký slušný PHP editor, který na takové chyby bude upozorňovat automaticky (i třeba PSPad označuje související složené závorky).

Na označeném řádku je složená závorka a else které neodpovídá (alespoň v uvedeném kódu) blok if a otevírací složená závorka.
Reqq
Profil *
K tomuto else je if, který je o 130 řádek výše, nechtěl jsem to sem dávat celé. Právě, že mám PSPad a všechny závorky ukazuje, tedy žádná složená závorka nechybí.
Majkl578
Profil
[#3] Reqq:
Bez celého kódu ti těžko někdo pomůže dohledat kde máš špatně závorku, protože by musel věštit. Buď sem dej celý kód, nebo použij kvalitní IDE (ne PSPad), které ti bude smysluplně napovídat.
Joker
Profil
Reqq:
Ještě doporučuji použít nějaký šablonovací systém a oddělit HTML od PHP. To řeší dva problémy: Jednak špatnou čitelnost HTML v příkazech echo (nejlepší je třeba echo "</div></div></div></div>";- a teď jaké <div>y to vlastně ukončuje) a jednak právě špatnou čitelnost PHP kódu prošpikovaného stovkami řádků výpisu HTML.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0