Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Ciasteczka w skrypcie komentarzy - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Ciasteczka w skrypcie komentarzy (/thread-ciasteczka-w-skrypcie-komentarzy)



Ciasteczka w skrypcie komentarzy - lokotheboy - 04-10-2011

Witam.
Chciałbym dodać możliwość komentarzy do notek na stronie.
Znalazłem prosty bez bazy danych.
W którym miejscu i co należy dopisać, aby ograniczyć możliwość dodawania komentarzy w określonym czasie np 15 minut.

Z góry dziękuję i pozdrawiam


Kod:
<FORM  method="post">
    <b>Twój nick:</b><BR><INPUT name="imie" type="text" size="20"><BR>
    <b>Komentarz:</b><BR><TEXTAREA name="message" rows=8 cols=30 wrap=virtual>
    </TEXTAREA><BR>
    <INPUT name="submit" type="submit" value="Dodaj komentarz">
    </FORM>

    <?
    $im=$_POST['imie']; $message=$_POST['message'];
    if ($message && $im)
       {
       $date = date("Y-m-d H:i:s");
       $message = "<B>$im</B> -- $date<P> $message <BR><HR>";
       $fp = fopen (basename($_SERVER['PHP_SELF']).".text", "a");
       fwrite ($fp, $message);
       fclose ($fp);
       }
    @readfile(basename(($_SERVER['PHP_SELF'].".text")));
    $message ="";
    
    ?>



RE: Ciasteczka w skrypcie komentarzy - d1php - 06-10-2011

Kod PHP:
<?
if(isset($_POST['submit']))
{
        
$im=$_POST['imie']; $message=$_POST['message'];
    if (
$message && $im)
           {     
         if(isset(
$_COOKIE['czas']))
         {
             echo
'<b style="color:red;">Komentarz możesz dodać co 15minut.</b>';
         }
         else
         {

             
$date date("Y-m-d H:i:s");
             
$message "<B>$im</B> -- $date<P> $message <BR><HR>";
             
$fp fopen (basename($_SERVER['PHP_SELF']).".text""a");
              
fwrite ($fp$message);
              
fclose ($fp);
             
setcookie("czas""1"time()+(15*60));
         }
    
           }
    else
    {
        echo  
'<b style="color:red;">Wypełnij wszystkie pola.</b>';
    }
}    
   
?>

<FORM action="" method="post">
<b>Twój nick:</b><BR><INPUT name="imie" type="text" size="20"><BR>
<b>Komentarz:</b><BR><TEXTAREA name="message" rows=8 cols=30 wrap=virtual>
</TEXTAREA><BR>
<INPUT name="submit" type="submit" value="Dodaj komentarz">
</FORM>

<?
@readfile(basename(($_SERVER['PHP_SELF'].".text")));
$message ="";
?>



RE: Ciasteczka w skrypcie komentarzy - lokotheboy - 06-10-2011

Witam i dziękuję.

Po dodaniu komentu pojawia się:
Kod PHP:
WarningCannot modify header information headers already sent by (output started at ....................... on line 19 

co to oznacza?


RE: Ciasteczka w skrypcie komentarzy - d1php - 06-10-2011

Na samym początku pliku dodaj
<?
ob_start();
?>

a na samym końcu

<?
ob_end_flush();
?>


RE: Ciasteczka w skrypcie komentarzy - lokotheboy - 07-10-2011

Dzięki,ale teraz pojawia się:
Kod PHP:
WarningCannot modify header information headers already sent by (output started at ............................................................/komentator.php on line 23 

Cały plik php wyglada tak:
Kod PHP:
<p>&nbsp;</p><p>
<?
ob_start();
?>
<?
if(isset($_POST['submit']))
{
        
$im=$_POST['imie']; $message=$_POST['message'];
    if (
$message && $im)
           {     
         if(isset(
$_COOKIE['czas']))
         {
             echo
'<b style="color:red;">Komentarz możesz dodać co 15minut.</b>';
         }
         else
         {

             
$date date("Y-m-d H:i:s");
             
$message "<B>$im</B> -- $date<P> $message <BR><HR>";
             
$fp fopen (basename($_SERVER['PHP_SELF']).".text""a");
              
fwrite ($fp$message);
              
fclose ($fp);
             
setcookie("czas""1"time()+(15*60));
         }
    
           }
    else
    {
        echo  
'<b style="color:red;">Wypełnij wszystkie pola.</b>';
    }
}    
   
?>

<FORM action="" method="post">
<b>Twój nick:</b><BR><INPUT name="imie" type="text" size="20"><BR>
<b>Komentarz:</b><BR><TEXTAREA name="message" rows=8 cols=30 wrap=virtual>
</TEXTAREA><BR>
<INPUT name="submit" type="submit" value="Dodaj komentarz">
</FORM>

<?
@readfile(basename(($_SERVER['PHP_SELF'].".text")));
$message ="";
?>
<?
ob_end_flush
();
?> 
</p> 



RE: Ciasteczka w skrypcie komentarzy - d1php - 07-10-2011

Powinno być
Kod PHP:
<?
ob_start
();
?>
<p>&nbsp;</p><p>

<?
if(isset($_POST['submit']))
{
        
$im=$_POST['imie']; $message=$_POST['message'];
    if (
$message && $im)
           {     
         if(isset(
$_COOKIE['czas']))
         {
             echo
'<b style="color:red;">Komentarz możesz dodać co 15minut.</b>';
         }
         else
         {

             
$date date("Y-m-d H:i:s");
             
$message "<B>$im</B> -- $date<P> $message <BR><HR>";
             
$fp fopen (basename($_SERVER['PHP_SELF']).".text""a");
              
fwrite ($fp$message);
              
fclose ($fp);
             
setcookie("czas""1"time()+(15*60));
         }
    
           }
    else
    {
        echo  
'<b style="color:red;">Wypełnij wszystkie pola.</b>';
    }
}    
   
?>

<FORM action="" method="post">
<b>Twój nick:</b><BR><INPUT name="imie" type="text" size="20"><BR>
<b>Komentarz:</b><BR><TEXTAREA name="message" rows=8 cols=30 wrap=virtual>
</TEXTAREA><BR>
<INPUT name="submit" type="submit" value="Dodaj komentarz">
</FORM>

<?
@readfile(basename(($_SERVER['PHP_SELF'].".text")));
$message ="";
?>
 
</p> 
<?
ob_end_flush
();
?>

przed ob_start() nie powinno być wyświetlana żadna treść.


RE: Ciasteczka w skrypcie komentarzy - lokotheboy - 08-10-2011

Niestety cały czas po dodaniu komentu:
Kod PHP:
WarningCannot modify header information headers already sent by (output started at /home/....................../public_html/index.php:4in /home/................................/public_html/komentator.php on line 24 

Czy jest jasne dlaczego tak się dzieje?
Z góry dziękuje za odpowiedz i pozdrawiam