Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 17-12-08, 01:33   #1 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
Refresh di un campo textarea

Salve a voi tutti...
sto pian piano realizzando questa piccola minichat per un sito che sto facendo....

Codice PHP:
<div id="minichat">

<?
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) VALUES ('$id_user','$text')";
$query= @mysql_query ($sql) or die (mysql_error());
}

$sql_select="SELECT id_user, testo FROM minichat ORDER BY id DESC LIMIT 10";
$query_select= @mysql_query($sql_select) or die (mysql_error());
?>
<table>
<caption>Minichat</caption>
<th colspan="2">Messaggi</th>
<?
while($row=mysql_fetch_array($query_select))
{
    echo 
"<tr><td>".$row['id_user']."</td><td>".$row['testo']."</tr>";
}


?>

</table>
<?
//Apro la sessione e...
session_start();
//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>
Be..ho fatto in modo che la chat fosse visibile a tutti ma che potesse scrivere solo chi è registrato...
Poi ho incluso questa pagina nell index tramite include,fin qui' tutto bene...ora però c'è un problema...non ho capito come fare per aggiornare la chat da sola...senza che l utente debba per forza aggiornare la pagina per poter leggere il contenuto di ciò che viene scritto nella chat...
Come potrei fare?

Grazie a voi tutti
carlitos1982 non in linea   Rispondi citando
Vecchio 17-12-08, 17:07   #2 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Potresti inserire questo codice in una pagina a parte, modificandolo...
<html>
<head>
///fai il refresh
ecc..
<?
while($row=mysql_fetch_array($query_select))
{
echo
"<tr><td>".$row['id_user']."</td><td>".$row['testo']."</tr>";
}


E includerlo tramite un iframe...
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 17-12-08, 21:52   #3 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
[..]
Si avevo pensato anche io di includere in un iframe..
Grazie ilnet
Comunque ho notato una cosa in questa chat.....come mai ogni volta che aggiorno la pagina mi riscrive l ultimo messaggio scritto?
Cioè se scrivo ciao e aggiorno 10 volte la pagina mi riscrive ciao 10 volte
devo impostare qualche controllo o modificare lo script?


Grazie

Ultima modifica di Samyorn : 18-12-08 00:12. Motivo: Inutile quotare il messaggio a cui si risponde.
carlitos1982 non in linea   Rispondi citando
Vecchio 17-12-08, 22:28   #4 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
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...
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 17-12-08, 23:15   #5 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
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?
carlitos1982 non in linea   Rispondi citando
Vecchio 19-12-08, 18:10   #6 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Esattamente :-)
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 19-12-08, 21:57   #7 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
Quote:
ilnetsurfer Visualizza il messaggio
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
Codice 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";
?>
in cui ho incluso minichat.php che sraebbe la pagina in cui ci sta la parte di codice con il form...che sarebbe questa
Codice 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>
il form punta a minichat2.php che sarebbe la pagina in cui ho aggiunto anche il refresh ecco la pagina
Codice 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>
Ora il problema e che quando clicco su invia non mi rimane su index ma va sulla pagina minichat2.php
carlitos1982 non in linea   Rispondi citando
Vecchio 19-12-08, 23:34   #8 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Modifica minichat.php così:
Codice 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>
E minichat2.php così:
Codice 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>
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 20-12-08, 00:52   #9 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
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
carlitos1982 non in linea   Rispondi citando
Vecchio 20-12-08, 19:11   #10 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
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>
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 20-12-08, 23:48   #11 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
Nulla...al click su invia mi manda su minichat.php ed esce dalla indexe per giunta non mi stampa a video nulla di ciò che scrivo....
carlitos1982 non in linea   Rispondi citando
Vecchio 21-12-08, 10:57   #12 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Perdonami, errore mio....
Minichat.php

Codice 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>
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 21-12-08, 14:24   #13 (permalink)
User
 
Data di registrazione: Jun 2008
Messaggi: 632
Perfetto
Funziona tutto a dovere ora...l errore stava nel form action
Grazie
carlitos1982 non in linea   Rispondi citando
Vecchio 21-12-08, 14:36   #14 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Prego :-)
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 13:01.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.