Visualizzazione risultati 1 fino 7 di 7

Discussione: AlternatChat

  1. #1
    Guest

    Predefinito AlternatChat

    Una chat per tutti i siti di AlterVista!
    Non c'è bisogno di scaricare niente per implementarla sul proprio sito, ed è praticamente un "gruppo" in cui possono scrivere tutti i visitatori dei siti di AlterVista che aderiscono, e i messaggi vengono inviati a tutti. Ovviamente più avanti metterò il login degli utenti e le chat private o di un solo sito, ma per adesso va bene questa versione di base.
    Utilizzo
    Beh, semplice:
    Codice HTML:
    <iframe src="http://altermetax.altervista.org/alternatchat/get.php" frameborder=0 width=500 height=600>Il tuo browser non supporta i frame... Scarica una nuova versione di Mozilla Firefox <a href="http://forum.it.altervista.org/progetti-comuni-di-av/progetti-comuni-di-av/.....">qui</a></iframe><br />
    <iframe src="http://altermetax.altervista.org/alternatchat/send.php" frameborder=0 ecc...></iframe>
    Ovviamente poi ai frame gli date tutti gli stili CSS che volete. get.php serve per visualizzare i messaggi (che vengono eliminati tutti ogni 24h, altrimenti PHP ci mette troppo a caricarli tutti), send.php, ovviamente, per inviarli. Più avanti posterò il sorgente.
    Ah sì, dimenticavo: sia a get.php che a send.php potete aggiungere ?css=codiceCss . Quindi, un esempio:
    Codice PHP:
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
    <title>Prova chat</title>
    <link rel="stylesheet" type="text/css" href="cssPersonalizzato.css" />
    </head>
    <body>
    <p>Questa &egrave; una prova per la chat AlternatChat.</p>
    <?php // Imposto i css per le pagine
    $css = urlencode("
    #messaggio
    {
    color:white;background-color:black;
    }
    body
    {
    font-family:Verdana,Segoe UI,Calibri,sans;
    }
    "
    );
    ?>
    <!-- Metto i frame -->
    <iframe src="......./get.php?css=<?php echo $css; ?>" ..... />
    <iframe src="....../send.php?css=<?php echo $css; ?>" ..... />
    <!-- Finito! -->
    </body>
    </html>
    Visto? Questo era un esempio di uso del CSS nella chat. Potete vedere un esempio qui (attenzione: con Google Chrome, Chromium, Iron, CoolNovo, Opera, Safari, Midori e altri browser basati su Webkit/Blink potrebbe non avere il massimo della performance.. più avanti ovviamente metterò AJAX per aumentarla, ma per adesso consiglio di usare un browser come Firefox, Pale Moon, Waterfox e altri browser basati su Gecko oppure IE, Maxthon o altri basati su Trident) (Ri-attenzione: il link potrebbe non essere più valido da un momento all' altro, perchè è solo un test).
    Ciao da altermetax!!
    Ultima modifica di altermetax : 19-06-2014 alle ore 22.03.34 Motivo: Boh...

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Cioè è una sorta di chat centralizzata? Mi vengono delle questioni in mente che spero non prendi come offesa:

    1. A che serve?
    2. Perchè devo essere io a dovermi scaricare firefox se magari uso un browser preferito mio?
    3. Hai effettuato qualche controllo sul codice CSS passato via GET vero?
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    1. E' una chat centralizzata ma poi permetterò di scaricare anche un file zip con i file, che potranno essere personalizzati e usati nel proprio spazio web con chat separate.
    2. Per adesso è così, come è facilmente leggibile (requisiti: 1. Saper leggere in italiano 2. Sapere i nomi dei maggiori browser e motori di rendering)
    3. Poi si passerà via post (non avevo pensato al limite di caratteri... )
    Ciao!
    PS Prova a modificare il sorgente e a migliorarlo se vuoi! Eccolo:
    get.php
    Codice PHP:
    <?php /**
    * AlternatChat è un progetto di chat da inserire sui propri siti di AlterVista gratis con due frame e codice css per la chat
    * a piacere.
    * AlternatChat è stato sviluppato da altermetax.
    */
    ?>
    <?php
    if (!isset ($_GET['css'])) $css = ""; else $css = $_GET['css']; ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="refresh" content="3; url=get.php?css=<?php echo $css; ?>"><!-- La pagina si deve ricaricare per i nuovi messaggi -->
    <title>Messaggi AlternatChat</title>
    <style type="text/css">
    <?php echo $css; ?>
    </style>
    </head>
    <body>
    <article>
    <?php
    $db
    = new SQLite3 ("messaggi.db"); // Imposto il db
    $query = $db->query ("SELECT * FROM messaggi ORDER BY rowid DESC"); // Imposto la query
    if (!$query) die ("Non &egrave; stato possibile visualizzare i messaggi: errore query..."); // Se c'è un errore
    while ($messaggio = $query->fetchArray (SQLITE3_ASSOC)) // Imposto $messaggio con i dati del messaggio corrente
    {
    echo
    "<div id=\"messaggio\"><p>".$messaggio["utente"].":<br>".$messaggio["messaggio"]."</p></div>";// Mostro utente e messaggio
    }
    // Beh, già finito...
    ?>
    </article>
    </body>
    </html>
    send.php
    Codice PHP:
    <?php /**
    * AlternatChat è un progetto di chat da inserire sui propri siti di AlterVista gratis con due frame e codice css per la chat
    * a piacere.
    * AlternatChat è stato sviluppato da altermetax.
    */
    ?>
    <?php
    if (isset ($_POST['messaggio'], $_POST['utente'])): // Se hanno già inviato il messaggio...
    $db = new SQLite3 ("messaggi.db"); // Imposto il database
    $messaggio = htmlspecialchars ($db->escapeString ($_POST['messaggio'])); // Procedura di sicurezza per il messaggio
    $utente = htmlspecialchars ($db->escapeString ($_POST['utente'])); // Procedura di sicurezza per il nome utente
    // Inizio l' inserimento dei dati nel db
    $table = $db->exec ("CREATE TABLE IF NOT EXISTS messaggi(utente text, messaggio text)");
    $query = $db->exec ("INSERT INTO messaggi(utente, messaggio) VALUES ('$utente', '$messaggio')"); // Crea la query
    if (!$query or !$table) die ("Non &egrave; stato possibile eseguire la query per l'aggiunta del messaggio..."); // Se c'è un errore
    endif; // Il codice html seguente viene visualizzato in ogni caso
    if (!isset ($_GET['css'])) $css = ""; else $css = $_GET['css']; // Controllo per il css ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <title>Invia un messaggio</title>
    <style type="text/css"><?php echo $css; ?></style>
    </head>
    <body><article>
    <form method="post" action="send.php">
    <?php if (!isset ($utente)) $utente = ""; ?>
    <input type="text" name="utente" placeholder="Nome Utente" title="Nome Utente" value="<?php echo $utente; ?>">
    &nbsp;&nbsp;<input type="text" name="messaggio" placeholder="Messaggio" title="Messaggio">
    &nbsp;<input type="submit" value="Invia!">
    </form><br><br>
    <p style="font-size: 8px;">Powered by AlternatChat hosted on AlterVista</p>
    </article></body>
    </html>
    <!-- FINITOOOOOOOO -->
    Ultima modifica di altermetax : 27-06-2014 alle ore 19.27.16

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Grazie per il sorgente ma non utilizzo mai codice di qualcun altro. Se mi occorresse una chat utilizzerei del codice personale o un CMS con aggiornamenti continui.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    L'avatar di naviland
    naviland non è connesso Utente
    Data registrazione
    31-12-2009
    Messaggi
    128

    Predefinito

    Scusa ma tu carichi nella chat tutti i messaggi delle ultime 24 ore ma mi pare un pò troppo vago.
    La tua chat è destinata a tutti i siti in un posto solo finiresti per caricare 10000 messaggi ora della sera.
    Penso che l'uso di AJAX non sia una cosa da fare dopo ma da fare subito perchè ti imporrebbe di riscrivere tutto da capo, inoltre elimineresti il problema di passare il CSS da GET o da POST i contenuti vengono inseriti direttamente nella pagine senza iframe.

  6. #6
    Guest

    Predefinito

    A questo punto il codice dell'applicazione va bene, basta cambiare i frame con richieste AJAX, non bisogna cambiare codice.

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Comunque la ritengo ancora un'iniziativa rischiosa e costosa perchè comunque centralizzando il tutto devi badare ad attacchi SQL Injection da varie fonti, inoltre il carico del server e del database sarebbe elevato (considerando che la chat venga usata).
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •