Bląd po dodaniu komentarza

Na mojej stronce chcac dodac jakis komentarza wyskakuje mi zamiast komentarza blad na stronie:

Parse error: syntax error, unexpected T_VARIABLE in /home/users/history/public_html/send.php on line 190

Nie potrafie sobie z tym poradzic i jesli mozecie, to bardzo prosze Was o pomoc w tej sprawie. Ponizej zamieszczam kody plikow: send.php

<?php

function getBrowser()

{

    $u_agent = $_SERVER['HTTP_USER_AGENT'];

    $bname = 'Unknown';

    $platform = 'Unknown';

    $version= "";


    //First get the platform?

    if (preg_match('/linux/i', $u_agent)) {

        $platform = 'linux';

    }

    elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {

        $platform = 'mac';

    }

    elseif (preg_match('/windows|win32/i', $u_agent)) {

        $platform = 'windows';

    }


    // Next get the name of the useragent yes seperately and for good reason

    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))

    {

        $bname = 'Internet Explorer';

        $ub = "MSIE";

    }

    elseif(preg_match('/Firefox/i',$u_agent))

    {

        $bname = 'Mozilla Firefox';

        $ub = "Firefox";

    }

    elseif(preg_match('/Chrome/i',$u_agent))

    {

        $bname = 'Google Chrome';

        $ub = "Chrome";

    }

    elseif(preg_match('/Safari/i',$u_agent))

    {

        $bname = 'Apple Safari';

        $ub = "Safari";

    }

    elseif(preg_match('/Opera/i',$u_agent))

    {

        $bname = 'Opera';

        $ub = "Opera";

    }

    elseif(preg_match('/Netscape/i',$u_agent))

    {

        $bname = 'Netscape';

        $ub = "Netscape";

    }


    // finally get the correct version number

    $known = array('Version', $ub, 'other');

    $pattern = '#(?' . join('|', $known) .

    ')[/]+(?[0-9.|a-zA-Z.]*)#';

    if (!preg_match_all($pattern, $u_agent, $matches)) {

        // we have no matching number just continue

    }


    // see how many we have

    $i = count($matches['browser']);

    if ($i != 1) {

        //we will have two since we are not using 'other' argument yet

        //see if version is before or after the name

        if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){

            $version= $matches['version'][0];

        }

        else {

            $version= $matches['version'][1];

        }

    }

    else {

        $version= $matches['version'][0];

    }


    // check if we have a number

    if ($version==null || $version=="") {$version="?";}


    return array(

        'userAgent' => $u_agent,

        'name' => $bname,

        'version' => $version,

        'platform' => $platform,

        'pattern' => $pattern

    );

}


// send.php


// check if argument 'id' is there

if(empty($_GET['id']))

{

$id = 'default';

}

else

{

$id = $_GET['id'];

}


// comment files location

$localization = "data/comments/";

// comment files extensions

$file_extension = ".txt";


//

// Comment content - start

//


// change HTML special chars in to properly (safe) form

// protect beware sending code via comments

$nickTestowy = preg_replace("/(\s+)/","",htmlspecialchars($_POST['nick']));

$wpisTestowy = preg_replace("/(\s+)/","",htmlspecialchars($_POST['comment']));


//

// Comment content - end

//


//

// Check - start

//


// Simple solution to don't publish empty comments


if(empty($wpisTestowy))

   die("

Zamieszczanie pustych komentarzy jest zabronione.

Kliknij Tutaj, aby wrócić do komentarzy

„); $nick = (empty($nickTestowy))? „Anonymous” : str_replace(”\r\n", " „, htmlspecialchars(trim($_POST[‘nick’]))) ; $comment = str_replace(”\r\n", " ", htmlspecialchars(trim($_POST[‘comment’]))); // // Check - end // // // COOKIE - start // // Simple anti-spam solution // cookie name $cookie_name = ‘comment’; // cookie value $cookie_value = ‘1’; // when cookie will expire // 60 seconds $cookie_expire = time()+60; // setcookie(name, value, expire, path, domain); // check if there is cookie now if (isset($_COOKIE[$cookie_name])) { // show information to wait before adding next comment echo "

Dodano Twój komentarz.

Kliknij Tutaj, aby wrócić do komentarzy

"; die(); } $date_and_time = date(„d.m.Y H:i”); // user identification $user_ip = $_SERVER[‘REMOTE_ADDR’]; list($useragent,$ua_name,$ua_version,$user_os,$ua_pattern)=array_values(getBrowser()); // place between content in flat-file $PLACE = ‘|||’; // end of the line in flat-file $line_end = „\n”; // exported line to flat-file $result = $date_and_time.$PLACE.$user_ip.$PLACE.$ua_name.$PLACE.$user_os.$PLACE.$nick.$PLACE.$comment.$line_end // directory and name of flat-file $file = $localization.$id.$file_extension; // opening flat-file in ‘add’ mode $file_handle = fopen($file, „a”); // write ‘$result’ in to the flat-file fwrite ($file_handle, $result); // close the flat file and report result if(fclose($file_handle)) { // COOKIE // create cookie file to protect against spam setcookie($cookie_name, $cookie_value, $cookie_expire); // STATUS // show that comment was sucessfully added echo "

Dodano Twój komentarz.

Kliknij Tutaj, aby wrócić do komentarzy

"; } else { // show that there was an error while adding comment echo "

Wystąpił błąd podczas dodawania komentarza, spróbuj następnym razem.

Kliknij Tutaj, aby wrócić do komentarzy

"; } // send.php ?>[/code] show.php

[code]<?php // show.php // check if argument ‘id’ is there if(!isset($_GET[‘appage’])) { $id = ‘default’; } else { $id = $_GET[‘cat’].$_GET[‘appage’]; } // comment files location $localization = „data/comments/”; // comment files extensions $file_extension = „.txt”; // check if file exist, if no create if (!file_exists($localization.$id.$file_extension)) { file_put_contents($localization.$id.$file_extension, ‘’); chmod($localization.$id.$file_extension, 0777); } // load file to array $file = file($localization.$id.$file_extension); // reverse array order $file = array_reverse($file); // count number of comments $number_of_comments = count($file); ?> <?php // echo "Komentarze ($number_of_comments) "; // check if there is any comment if($number_of_comments == 0) { echo "

Brak komentarzy

"; } else { // variable counting loop moves $loop_counter = 1; // loop for each line in file foreach($file as $key => $value) { // load line of file in to ‘$data’ array $data = explode(‘|||’, $value); list( $comment_data, $comment_ip,$comment_ua,$comment_os,$comment_nick,$comment_content)=$data; // check if it is last loop move if($loop_counter < $number_of_comments) { // echo "
"; echo "
"; } else { echo "
"; } // // show comment // echo "**~$comment_nick ($comment_data) napisał:**User Agent: $comment_ua

$comment_content

"; // add ‘1’ to loop counter variable $loop_counter = $loop_counter + 1; } } ? ?php include(‘./add.php’); // // show.php ?

Co zrobic zeby mi to dzialalo tak jak trzeba ? :frowning:

http://www.history.is.net.pl/?downloadcat=2appage=0

Prosze o pomoc w tej sprawie.

w linii 187 brakuje średnika na końcu

adpawl teraz dziala. Ale jeszcze problem jest w tym, ze w miejscu nad komentarzem obok ikonki przegladarki gdzie pisze:

OS: windows zamiast tego powinna wyswietlac sie ikonka systemu windows uzytkownika.

http://www.history.is.net.pl/?download&cat=2&appage=0

Jak to poprawic zeby byly te dwie ikonki przegladarki i systemu windows ? Bardzo Prosze o pomoc w tej sprawie.

nie wiem, może w show.php

echo "~$comment_nick ($comment_data) napisał:

User Agent: OS: $comment_os[/code]


zmieniasz na cos takiego

[code]echo "**~$comment_nick ($comment_data) napisał:**User Agent: "$comment_ua"

? :roll:

adpawl zrobilem tak jak mi napisales i mam do Ciebie mała prosbe.

Czy moglbys w tym miejscu: http://www.history.is.net.pl/?download&cat=2&appage=0

dodac jakis swoj komentarz dla testu ? zeby zobaczyc czy wyswietla ikonki teraz dobrze ? Prosze Cie

I Czy daloby sie zrobic tak, zeby po najechaniu na ikonke myszka w dymku wyswietlalo sie cos takiego np.:

Moziila/5.0 Windows; U; Windows NT 6.1; pl; 

rv: 1.9.213) Gecko/20101203 Firefox/3.6.13

Cos mi sie wydaje, ze nie wyswietla mi prawidlowej ikonki aktualnego systemu windows uzytkownika po dodaniu komentarza :frowning:

wyświetla ikonkę systemu - windows.gif

A do do UA, to jak to sobie wyobrażasz skoro nie zapisujesz go do pliku?

Dodajesz wpisy w ten sposób

-więc skąd chcesz potem znowu mieć pełny UA z info o wersji systemu i przeglądarki?

Weź pomyśl chwilę…

adpawl no tak masz racje.

To jakby zrobic to, zeby zapisywalo mi to do pliku i wyswietlalo UA z inormacja o wersji systemu i przegladarce ? - Mozesz mi pomoc ?

Bo chyba nie chodzi o to, zeby w pliku show.php brakuje tego:

$comment_ua = $data[2];

$comment_content = $data[4];

A co do ikonki systemu windows, to dlaczego jak nawet ktos doda swoj komentarz majac windows XP to u mnie i tak wysietla ikonke windows 7 ?

Nie rozumie tego, a powinno wyswietlic ikonke windows xp. Cos jest chyba nie tak jak byc powinno :frowning:

Tam gdzie układasz zawartość wpisu ( zmienna $result), musisz dopisać kolejną sekcje $u_agent

A co do ikonki, to jak zapisujesz tylko słowo " windows" niezależnie od tego czy to xp, vista, 7, czy jeszcze inny …to jakim cudem znowu chcesz potem różne ikonki? Skrypt ma się domyślać? A może losować?

Może rusz trochę głową, bo to nie tyle problemy techniczne co logiczne.

-co ja gadam, nie treba wiele myśleć by zobaczyć - że jak w jednym miejscu zapisujesz A, a w innym to samo czytasz - to też będzie A, a nie B czy C, czy też pełny alfabet.

Hmm ikonki przegladarek sie jakos zmieniaja tak jak trzeba, tak samo mam zapisany kod pod ikonki systemu windows i mimo to nie dziala :frowning:

Niewiem jakby to zrobic z tymi ikonkami :frowning: Nie moge sobie poradzic, mozesz mi pomoc ?

Natomiast co do zapisywania to zamiast tego:

$result = $date_and_time.$PLACE.$user_ip.$PLACE.$ua_name.$PLACE.$user_os.$PLACE.$nick.$PLACE.$comment.$line_end;

Dac to ?

$result = $date_and_time.$PLACE.$user_ip.$PLACE.$ua_name.$PLACE.$user_os.$PLACE.$u_agent.$PLACE.$nick.$PLACE.$comment.$line_end;

ech, pomyliłem zmienną - ma być $useragent

w pliku send.php zmieniasz linię 187 bodajże na

$result = $date_and_time.$PLACE.$user_ip.$PLACE.$ua_name.$PLACE.$user_os.$PLACE.$useragent.$PLACE.$nick.$PLACE.$comment.$line_end;

a w show.php linia 63 na

list( $comment_data, $comment_ip,$comment_ua,$comment_os,$useragent,$comment_nick,$comment_content)=$data;

a echo z 81 na

echo "~$comment_nick ($comment_data) napisał:

User Agent: OS:

$comment_content

";[/code]

adpawl powiem Ci, żeby te ikonki z atualnym systemem windows danego uzytkownika sie wyswietlaly po dodaniu komentarza to szczeze nie wiem jak to zrobic. Zobacz sobie jak to teraz dziala: http://www.history.is.net.pl/?download&cat=2&appage=0

I niewiem czy to sprawdzanie jest nadal konieczne, skoro w UA mam wersje.

Mozesz mi tak pomoc, zeby to juz hulało mi to tak jak powinno i nie bede Cie juz zadreczal i denerwowal.

Jesli mozesz to bardzo bylbym Ci wdzieczny.