[jQuery,PHP] Poważny problem z shoutbox'em (pusta strona)

Wszystko związane ze skryptami JS, DHTML itd.
bejkrools
Posty: 1
Rejestracja: 14 lip 2013, 18:23:17
Strona na CBA.pl: gti-terminale.cba.pl
Płeć: Niewybrana
User Agent: Chrome Windows

[jQuery,PHP] Poważny problem z shoutbox'em (pusta strona)

Post autor: bejkrools »

Mam problem z shoutboxem. Na lokalnym WebServ 2.1 działa bez zarzutu. Problem pojawia się w chwili, kiedy po umieszczeniu na serwerze CBA naciskam Submit. Normalnie powinno dodać wpis do bazy i wyświetlić na liście (tak jest na lokalu). W efekcie wyświetla się zupełnie pusta strona (źródło tej pustej strony wygląda normalnie). Pomóżcie mi proszę zidentyfikować problem :-(

Jeżeli ktoś chce wypróbować:
twoj-salon.cba.pl
login: konto
pass: testowe

Fragment index.php

Kod: Zaznacz cały

        <div id="MENU"><!--[menu po lewej]--
            <?php
            if ((isset($_SESSION["zalogowany"])) or ($_SESSION["zalogowany"] != 0)) 
            {
                echo "<br><div id='chat_area'>  <ul>";
                date_default_timezone_set('Europe/Warsaw'); 
                
                $wyswietlane = 10;
                $chat_items_num = mysql_query("SELECT COUNT(*) FROM wiadomosci");
                $chat_items_num = mysql_fetch_row($chat_items_num);
                $start = $chat_items_num[0] - 10;
                
                if ($start < 0)
                {
                $start = 0;
                }

                $chat_items = mysql_query("SELECT * FROM wiadomosci ORDER BY id LIMIT $start, $wyswietlane");
                
                while($wiadomosc = mysql_fetch_assoc($chat_items))
                {
                     echo '<li>';
                     echo date("H:i",strtotime($wiadomosc['czas']));
                     echo ' <strong><font color="red">'.htmlspecialchars($wiadomosc['autor']).'</font></strong> napisał:<br>';
                     echo htmlspecialchars($wiadomosc['tresc']);
                     echo '</li>';   
                }
                echo "</ul>";
                $login_chat = $_SESSION['imie']." ".$_SESSION['nazwisko'];
                echo "</div>
                <form action='' method='post' class='formularz'>
                <div><input type='hidden' name='imie_chat' value='".$login_chat."' size='20'/></div>
                <p><textarea cols='39' rows='3' placeholder='".$_SESSION['imie'].", napisz coś!' name='tresc'></textarea></p>
                <input type='submit' value='Wyślij' />
                <input type='hidden' name='chat' value='1' />
                <a href='index.php?site=chat'>Archiwum wpisów</a>
                </form>";
            }
            ?>
        </div>
Fragment process_ajax.php

Kod: Zaznacz cały

<?php
header("Cache-Control: no-cache");
date_default_timezone_set('Europe/Warsaw');
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname = "chat_db";
$wyswietlane = 10;
$dbconn = @mysql_connect($dbhost,$dbuser,$dbpass);
if($dbconn)
{
    mysql_select_db($dbname,$dbconn);
    mysql_query("SET NAMES utf8");
    if(isset($_POST['chat']) && $_POST['chat']==1)
    {
        $nick = mysql_real_escape_string($_POST['imie']);
        $tresc = mysql_real_escape_string($_POST['tresc']); 
        mysql_query("INSERT INTO wiadomosci (autor,tresc,czas)
        VALUES ('$nick','$tresc',NOW())",$dbconn);
        $last_id = mysql_insert_id();
        $last_item = mysql_query("SELECT * FROM wiadomosci WHERE id = '$last_id'");
        $wiadomosc = mysql_fetch_assoc($last_item);
        echo '<li>';
        echo date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
        echo '</li>';     
    }
    else 
    {
    $data_ostatniej_wiadomosci = mysql_query("SELECT MAX(czas) FROM wiadomosci");
    $data_ostatniej_wiadomosci = mysql_fetch_row($data_ostatniej_wiadomosci);
    $data_ostatniej_wiadomosci = strtotime($data_ostatniej_wiadomosci[0]);
    $html = '';
    $data_od_usera = intval($_POST['data_ostatniej_wiadomosci']);
    if($data_ostatniej_wiadomosci > $data_od_usera)
    {
        $items = mysql_query("SELECT * FROM wiadomosci ORDER BY czas DESC LIMIT 10");
        $wyniki = array();
        while($wiadomosc = mysql_fetch_assoc($items))
        {
            $wyniki[] = $wiadomosc;
        }
        $wyniki = array_reverse($wyniki);
        foreach($wyniki as $wiadomosc)
        {
            $html .= '<li>';
            $html .= date("H:i",strtotime($wiadomosc['czas'])).' <strong>'.htmlspecialchars($wiadomosc['autor']).'</strong> '.htmlspecialchars($wiadomosc['tresc']);
            $html .= '</li>'; 
        }
    }
    else
    {
        $html .= '';
    }
    header('Content-Type: application/json');
    echo json_encode(array('html'=>$html,'czas'=>$data_ostatniej_wiadomosci));
    }
}
?>
rkd77
Admin CBA
Posty: 4170
Rejestracja: 24 maja 2009, 16:45:21
Płeć: Niewybrana
User Agent: Chrome Linux 1024x768

Re: [jQuery,PHP] Poważny problem z shoutbox'em (pusta strona

Post autor: rkd77 »

Nie testowałem tego:
W process_ajax.php dodaj za
if(isset($_POST['chat']) && $_POST['chat']==1)
{

header('Content-Type: text/plain; charset=utf-8');

W odpowiedzi htmlowe wcina się reklama, w text/plain nie.
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
ODPOWIEDZ