Autor Zpráva
Robo
Profil *
public function vypisPrispevky($prispevek){
  $datum=preg_replace('/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/','\3.\2.\1 \4:\5:\6',htmlspecialchars($prispevek["cas"]));
  if(!$this->prispevky){
    echo '<p>Návštěvní kniha je prázdná.</p><br />';
    }
  else{
    if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==true || $prispevek["schvaleno"]==1){
      echo '<div class="prispevek">';
      echo '<table>';
      echo '<tr>';
      echo '<td class="od">'.htmlspecialchars($prispevek["nick"]).' napsal:</td>';
      echo '<td class="od">';
      echo '<p class="predmet">Předmět: '.htmlspecialchars($prispevek["predmet"]).'</p>';
      echo '</td>';
      echo '<td class="datum">'.$datum.'</td>';
      echo '<td rowspan="3">';
      echo '<div>';
      echo '<form action="index.php?akce=reagovat" method="post">';
      echo '<fieldset>';
      echo '<input type="hidden" name="id_reagovat" value="'.$prispevek["id"].'" />';
      echo '<input class="tlacitko" type="submit" value="Odpovědět" />';
      echo '</fieldset>';
      echo '</form>';
      echo '</div>';
      if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==false){
        echo '<div>';
        echo '<form action="index.php?akce=schvalit" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_schvalit" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Schválit" disabled />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '<div>';
        echo '<form action="index.php?akce=smazat" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_smazat" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Smazat" disabled />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '</td>';
        echo '</tr>';
        }
      if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==true && $prispevek["schvaleno"]==0){
        echo '<div>';
        echo '<form action="index.php?akce=schvalit" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_schvalit" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Schválit" />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
            
        echo '<div>';
        echo '<form action="index.php?akce=smazat" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_smazat" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Smazat" />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '</td>';
        echo '</tr>';
        }
      if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==true && $prispevek["schvaleno"]==1){
        echo '<div>';
        echo '<form action="index.php?akce=zakazat" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_zakazat" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Zakázat" />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
            
        echo '<div>';
        echo '<form action="index.php?akce=smazat" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_smazat" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Smazat" />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '</td>';
        echo '</tr>';
        }
      if(htmlspecialchars($prispevek["nick"])==='ADMINISTRÁTOR'){
        if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==true && $prispevek["schvaleno"]==0){
          echo '<tr>';
          echo '<td class="text" colspan="3" rowspan="3">';
          echo '<div class="vzkaz_zakazany">';
          echo '<p class="admin_pise">'.htmlspecialchars($prispevek["vzkaz"]).'</p>';
          echo '</div>';
          echo '</td>';
          echo '</tr>';
          echo '</table>';
          echo '</div>';
            }
        else{
          echo '<tr>';
          echo '<td class="text" colspan="3" rowspan="3">';
          echo '<div class="vzkaz_povoleny">';
          echo '<p class="admin_pise">'.htmlspecialchars($prispevek["vzkaz"]).'</p>';
          echo '</div>';
          echo '</td>';
          echo '</tr>';
          echo '</table>';
          echo '</div>';
          }
        }
      else{
        if(isset($_SESSION["prihlasen"]) && $_SESSION["prihlasen"]==true && $prispevek["schvaleno"]==0){
          echo '<tr>';
          echo '<td class="text" colspan="3" rowspan="3">';
          echo '<div class="vzkaz_zakazany">';
          echo '<p class="admin_pise">'.htmlspecialchars($prispevek["vzkaz"]).'</p>';
          echo '</div>';
          echo '</td>';
          echo '</tr>';
          echo '</table>';
          echo '</div>';
            }
        else{
          echo '<tr>';
          echo '<td class="text" colspan="3" rowspan="3">';
          echo '<div class="vzkaz_povoleny">';
          echo '<p class="admin_pise">'.htmlspecialchars($prispevek["vzkaz"]).'</p>';
          echo '</div>';
          echo '</td>';
          echo '</tr>';
          echo '</table>';
          echo '</div>';
          }
        }
        
      }
  }
}


chyby: odkaz na validator

Vrele diky za jakoukoliv pomoc, ohledne validace jsem uplny zacatecnik
Robo
Profil *
jeste jednou a lepe omlouvam se, tohle je kod ve kterem je "nekde" chyba


echo '<div class="prispevek">';
      echo '<table>';
      echo '<tr>';
      echo '<td class="od">'.htmlspecialchars($prispevek["nick"]).' napsal:</td>';
      echo '<td class="od">';
      echo '<p class="predmet">Předmět: '.htmlspecialchars($prispevek["predmet"]).'</p>';
      echo '</td>';
      echo '<td class="datum">'.$datum.'</td>';
      echo '<td rowspan="3">';
      echo '<div>';
      echo '<form action="index.php?akce=reagovat" method="post">';
      echo '<fieldset>';
      echo '<input type="hidden" name="id_reagovat" value="'.$prispevek["id"].'" />';
      echo '<input class="tlacitko" type="submit" value="Odpovědět" />';
      echo '</fieldset>';
      echo '</form>';
      echo '</div>';
      echo '<div>';
        echo '<form action="index.php?akce=schvalit" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_schvalit" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Schválit" disabled />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '<div>';
        echo '<form action="index.php?akce=smazat" method="post">';
        echo '<fieldset>';
        echo '<input type="hidden" name="id_smazat" value="'.$prispevek["id"].'" />';
        echo '<input class="tlacitko" type="submit" value="Smazat" disabled />';
        echo '</fieldset>';
        echo '</form>';
        echo '</div>';
        echo '</td>';
        echo '</tr>';
        echo '<tr>';
        echo '<td class="text" colspan="3" rowspan="3">';
        echo '<div class="vzkaz_zakazany">';
        echo '<p class="admin_pise">'.htmlspecialchars($prispevek["vzkaz"]).'</p>';
        echo '</div>';
        echo '</td>';
        echo '</tr>';
        echo '</table>';
        echo '</div>';
keeehi
Profil
PHP kód není zde efektivní, lepší by bylo sem kdyžtak zkopírovat html kód.
Chyby máš popsané zde v češtině.
Robo
Profil *
dekuji cesky validator jsem take zkousel, ale bohuzel chybu nikde najit nemuzu pripadne mi jako by si ze me ten validator delal prdel, pise mi ze chyby zacatek tabulky pritom ji tam mam... tak ja uz opravdu nevim..
shaggy
Profil
pripadne mi jako by si ze me ten validator delal prdel
validátor si z teba prdel nerobí. Nechápem prečo sem dávaš PHP kód, validátor NEvaliduje php kód, validuje výstup. Buď sem daj výstup (ktorý môže byť odlišný od toho, čo si sem dal), alebo ešte lepšie - odkaz na stránku. Bez toho ti neporadíme.

dodatok - vidím, že odkaz na stránku je (cez validátor), myslím že chyby sú tam popísané zrozumiteľne.
Robo
Profil *
ten vystup tam mas.. snad nebude tak tezky si odmyslet echo a dekuji uz jsi druhy kdo mi rika ze ty chyby tam mam popsany, ale kdyz se podivas na vystup a na chybu kterou to hlasi tak uvidis ze to tak neni a i validator muze udelat chybu popripade stranka je Odkaz
Hitman
Profil
Další člověk (nebo ne?) posedlý validátorem..proč?
Trejpa
Profil
Robo
Něco ti v té tabulce chybí:
<table>
  <tr>
    <td class="od">ADMINISTRÁTOR napsal:</td>
    <td class="od"><p class="predmet">Předmět:</p></td>
    <td class="datum">29.05.2009 19:58:45</td>
    <td rowspan="3">
      <div>
        <form action="index.php?akce=reagovat" method="post">
        <fieldset>
        <input type="hidden" name="id_reagovat" value="32" />
        <input class="tlacitko" type="submit" value="Odpovědět" />
        </fieldset>
        </form>
      </div>
    </td>
  </tr>
  <tr>
    <td class="text" colspan="3" rowspan="3">
      <div class="vzkaz_povoleny"><p class="admin_pise">ahoj</p></div>
    </td>
  </tr>
</table>


Ta stránka ti i takto v prohlížeči funguje správně, že ano? Tak to porušuješ specifikaci XHTML 1.1, která vyžaduje zasílání dokumentů s XML hlavičkou. Všechny prohlížeče si tvou stránku (s HTML hlavičkou) stejně přeberou jako (rozbitý) HTML dokument. Takto špatně sestavený dokument totiž XHTML prohlížeč nesmí zobrazit.

No a také si přepočítej ty rowspan a colspan. Nějak ti to nesedí.

<mimo téma>
Zamysli se nad strukturou. Takhle <div>nou stránku jsem dlouho neviděl:
<div class="posun"><div class="posun"><div class="posun"><div class="posun"><div class="posun"><div class="posun"><div class="posun"><div><div><div class="prispevek">
</mimo téma>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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