• User Attivo

    Se aggiorni la pagina , aggiorni anche i dati post e quindi riscrivi nel db...Devi aggiornare solo l'iframe...
    A meno che tu nella pagina dentro l'iframe non inserisci anche i dati...Quella pagina devi usarla solamente per leggere i dati...


  • User Attivo

    Quindi..ricapitolando..se ho ben capito..
    La pagina minichat.php la divido in due...cioè quella per la visualizzazione e quella per l invio dei dati...e poi imposto un refresh in quella per la visualizzazione...e dovrei risolvere tutto...giusto?:)


  • User Attivo

    Esattamente 🙂


  • User Attivo

    @ilnetsurfer said:

    Esattamente 🙂

    Be...c'è qualcosa che non va...praticamente la minichat deve essermi visibili sulla index del sito...io ho fatto cosi'....ho creato tre pagine...
    Appunto index.php cioè questa
    [PHP]

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <body>

    <iframe src="miosito.minichat2.php" width="300" height="300">

    </iframe>
    <?

    include "iscrizioneform.php";
    include "minichat.php";
    ?>
    [/PHP]
    in cui ho incluso minichat.php che sraebbe la pagina in cui ci sta la parte di codice con il form...che sarebbe questa
    [PHP]
    <html>
    <head>

    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <div id="form">

    <?
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)
    //se si...
    echo "<form action="minichat2.php" name="chat" method="POST">
    <textarea rows="2" name="text" cols="36"></textarea>
    <input type="submit" value="Invia"><br>
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">"
    ;?>
    </form>
    </div>
    [/PHP]

    il form punta a minichat2.php che sarebbe la pagina in cui ho aggiunto anche il refresh ecco la pagina
    [PHP]
    <html>
    <head>
    <META HTTP-EQUIV="refresh" CONTENT =3>
    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <?
    include "config.php"; // file di connessione al Db
    $id_user="";
    $text="";

    $id_user=$_SESSION['nickname'];
    $text=htmlentities($_POST['text']);

    if ((empty($text))== false) // se $text non è vuoto o nullo
    {
    $sql = "INSERT INTO minichat (id_user, testo,tempo) VALUES ('$id_user','$text',CURRENT_TIME())";
    $query= @mysql_query ($sql) or die (mysql_error());

    $recuperoid=mysql_insert_id();
    $trim_id=$recuperoid-60;

    $sql_delete="DELETE FROM minichat WHERE id<'$trim_id'";
    $query= @mysql_query ($sql_delete) or die (mysql_error());

    }

    $sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
    $query_select= @mysql_query($sql_select) or die (mysql_error());
    ?>
    <table>
    <div id="logominichat"><img src="minichat.gif"></div>
    <th colspan="2">Messaggi</th>
    <?

    while($row=mysql_fetch_array($query_select))
    {
    $row['testo'] = str_replace(":-)", "<img src='/faccine/smile.gif'>", $row['testo']);
    $row['testo'] = str_replace(":-+", "<img src='/faccine/faccia.gif'>", $row['testo']);
    echo "<tr><td>".$row['id_user']."</td><td>".$row['testo']."</td><td>".$row['tempo']."</tr>";
    }

    ?>

    </table>

    </div>
    [/PHP]
    Ora il problema e che quando clicco su invia non mi rimane su index ma va sulla pagina minichat2.php :arrabbiato:


  • User Attivo

    Modifica minichat.php così:
    [php]
    <?php
    include "config.php";
    if(isset($_POST)){

    $id_user="";
    $text="";

    $id_user=$_SESSION['nickname'];

    $text=htmlentities($_POST['text']);

    if ((empty($text))== false) // se $text non è vuoto o nullo
    {
    $sql = "INSERT INTO minichat (id_user, testo,tempo) VALUES ('$id_user','$text',CURRENT_TIME())";
    $query= @mysql_query ($sql) or die (mysql_error());

    $recuperoid=mysql_insert_id();
    $trim_id=$recuperoid-60;

    $sql_delete="DELETE FROM minichat WHERE id<'$trim_id'";
    $query= @mysql_query ($sql_delete) or die (mysql_error());

    }
    }else{
    }
    ?>
    <html>
    <head>

    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <div id="form">

    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)
    //se si...
    echo "<form action="minichat.php" name="chat" method="POST">
    <textarea rows="2" name="text" cols="36"></textarea>
    <input type="submit" value="Invia"><br>
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">"
    ;?>
    </form>
    </div>

    [/php]

    E minichat2.php così:
    [php]
    <html>
    <head>
    <META HTTP-EQUIV="refresh" CONTENT =3>
    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <?
    include "config.php"; // file di connessione al Db

    $sql_select="SELECT id_user, testo,tempo FROM minichat ORDER BY id DESC LIMIT 10";
    $query_select= @mysql_query($sql_select) or die (mysql_error());
    ?>
    <table>
    <div id="logominichat"><img src="minichat.gif"></div>
    <th colspan="2">Messaggi</th>
    <?

    while($row=mysql_fetch_array($query_select))
    {
    $row['testo'] = str_replace(":-)", "<img src='/faccine/smile.gif'>", $row['testo']);
    $row['testo'] = str_replace(":-+", "<img src='/faccine/faccia.gif'>", $row['testo']);
    echo "<tr><td>".$row['id_user']."</td><td>".$row['testo']."</td><td>".$row['tempo']."</tr>";
    }

    ?>

    </table>

    </div>
    [/php]


  • User Attivo

    nulla...quando invio i messaggi e clicco su invio mi va a finire su minichat.php ,cosi facendo mi scompare la index su cui ho anche l iframe e mi visualizza sola la pagina minichat.php su cui c'è il form per l inviod ei messaggi:(


  • User Attivo

    Allora, modifica index.php così:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <body>

    <iframe src="miosito.minichat2.php" width="300" height="300">

    </iframe>
    <?

    include "iscrizioneform.php";
    include "minichat.php";
    include "config.php";
    if(isset($_POST)){

    $id_user="";
    $text="";

    $id_user=$_SESSION['nickname'];

    $text=htmlentities($_POST['text']);

    if ((empty($text))== false) // se $text non è vuoto o nullo
    {
    $sql = "INSERT INTO minichat (id_user, testo,tempo) VALUES ('$id_user','$text',CURRENT_TIME())";
    $query= @mysql_query ($sql) or die (mysql_error());

    $recuperoid=mysql_insert_id();
    $trim_id=$recuperoid-60;

    $sql_delete="DELETE FROM minichat WHERE id<'$trim_id'";
    $query= @mysql_query ($sql_delete) or die (mysql_error());

    }
    }else{
    }
    ?>

    E minichat.php così:

    <html>
    <head>

    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <div id="form">

    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)
    //se si...
    echo "<form action="minichat.php" name="chat" method="POST">
    <textarea rows="2" name="text" cols="36"></textarea>
    <input type="submit" value="Invia"><br>
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">"
    ;?>
    </form>
    </div>


  • User Attivo

    Nulla...al click su invia mi manda su minichat.php ed esce dalla index:(e per giunta non mi stampa a video nulla di ciò che scrivo....
    :arrabbiato:


  • User Attivo

    Perdonami, errore mio....
    Minichat.php

    [php]
    <html>
    <head>

    <LINK href="stile.css" rel="stylesheet" type="text/css">
    <div id="form">

    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');
    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)
    //se si...
    echo "<form action="index.php" name="chat" method="POST">
    <textarea rows="2" name="text" cols="36"></textarea>
    <input type="submit" value="Invia"><br>
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">"
    ;?>
    </form>
    </div>
    [/php]


  • User Attivo

    Perfetto:)
    Funziona tutto a dovere ora...l errore stava nel form action;)
    Grazie;)


  • User Attivo

    Prego 🙂