Autor Zpráva
Milan Sobotka
Profil
Dobrý den.
Mám tento kód. Je to na psaní komentářů, které se ukládají do souboru .txt. A když napíšeme hodně dlouhý text, tak to přeahuje až na konec stranky a nesrovna se to třeba do tabulky... A mě už nenapadá nic, jak to zkrotit. Prosím odpovězte, jestli víte jak na to. :D
                                
  <?php 
    $delimeter="/*f1f*\\"; // delimeter můžeš ponechat 
    $cesta_souboru="log.txt"; // cesta k souboru TXT, do kterého se budou daný komentáře ukládat
    $umisteni_scriptu=""; //umístění tohoto souboru
    if(!file_exists($cesta_souboru)){ // pokud neexistuje soubor do kterého se má zapisovat, tak ho vytvoří
      file_put_contents($cesta_souboru,"");
    }
    if(isset($_POST['komentar'])){  //pokud kliknou na odeslat tak se to začne zpracovávat
      if(!in_array("",array($_POST['jmeno'],$_POST['text']))){   //zkontroluje, zda vyplnili všechny položky 
         file_put_contents($cesta_souboru, str_replace("\n","",htmlspecialchars($_POST['jmeno'])).$delimeter. str_replace("\n","",htmlspecialchars($_POST['email'])).$delimeter. str_replace("\n","",nl2br(htmlspecialchars($_POST['text'])))."\n", FILE_APPEND); 
      } else {
        echo "<b></b><br>"; // pokud nejsou zadané všechny hodnoty, vypíše to tuto hlášku
      }    
    }
    $komentare=file_get_contents($cesta_souboru); // načtení souboru do proměnné
    $rozdeleni_radky=explode("\n",$komentare); // rozdělení dle řádků => na jednotlivé příspěvky
    if(count($rozdeleni_radky)!=0){ // pokud je v něm víc jak jeden komentář
      for($i=0;$i<count($rozdeleni_radky);$i++){ // cyklus, pro všechny komentáře
        if($rozdeleni_radky[$i]!=""){
          $roztrzeni=explode($delimeter,$rozdeleni_radky[$i]); // roztržení dle delimetru
          $koment=array("jmeno" => $roztrzeni[0] , "email" => $roztrzeni[1], "text" => $roztrzeni[2]); // pro hezčí vypisování přidáno do array 
          echo "<b>Jméno:</b> ".$koment['jmeno']."<br>";     // jednoduché vypsání 
          echo "<b>Komentář:</b> ".$koment['text']."<br>";
          echo "<hr><br>";
        } echo ""; // vypsání hlášky, že zatím nebyl zadán žádný komentář
      }
    } else {
      echo "Buďte první, co okomentuje tento přísěvek.";
    }                                       
  ?>  
    
    <form method="POST">
      Jméno:<input type="text" name="jmeno"><br>
      Komentář:<textarea name="text"></textarea><br>
      <input type="submit" value="Odeslat" name="komentar">   
    </form>
jenikkozak
Profil
To je otázka HTML a kaskádových stylů. Prosím o odkaz na živou ukázku.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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