stampa anche la insert vediamo se è corretta
string(74) "insert into chat (chat.from,chat.to,message,sent) values ('', '','',NOW())"
ciao
dubbio:
tu hai una pagina in cui hai il tag <iframe src=..........>
poi (da quello che ho capito) dentro quell'iframe si apre (tramite js) la pag chat.php?
è così?
ciao
riposta la chat.php (non mettere tutto il css solo le parti che possono interessare)
<?php
if (!isset($_SESSION)) {
session_start();
}
if (!isset($_SESSION['utente'])) {
header("location: login2.php?azione=login");
exit();
}
$_SESSION['username'] = $_SESSION['utente'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" rel="stylesheet" media="all" href="/css/chat.css" />
<link type="text/css" rel="stylesheet" media="all" href="/css/screen.css" />
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/chat.js"></script>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="tipsy.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("[title]").tipsy({fade: true});
});
</script>
<script type="text/javascript">
<!--
var stile = "top=300, left=300 width=400, height=10, status=no, menubar=no, toolbar=no scrollbars=no";
function Popup(apri)
{
window.open(apri, "", stile);
}
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>KnowEveryone</title>
</head>
<body style="background-color:#036; width: 100%; height: 100%; display: block">
<div id="barra">
<p>KnowEveryone <a class="nomeutentebarra" href="profile2.php" style="color:white"><?php $utente= ucwords($_SESSION['utente']); print "($utente)";?></a><a class="logout" href="login2.php?azione=logout" title="Esci">Esci</a></p>
</div>
<?php
include 'header.php';
print "<p class='saluto'>$utente</p>";
?>
</div>
<div id="menu" >
<label style="margin-left: 0%"> | </label>
<a href="note.php" class="scrittemenu" title="Note">Note</a>
<label> | </label>
<a href="chatcomune.php" class="scrittemenu" title="Chat comune">Chat comune</a>
<label> | </label>
<a href="profile2.php" class="scrittemenu" title="Bacheca">Bacheca</a>
<label> | </label>
</div>
<div class="sidebar2">
<iframe name="visualizza" width="70%" height="80%" frameborder="1" src="bacheca_visualizza6.php" scrolling="yes"></iframe>
<iframe name="visualizza3" width="29%" height="80%" src="chat/chatpiccola.php"></iframe>
<center><iframe name="visualizza2" width="100%" height="8%" frameborder="1" src="bacheca_input.php" scrolling="no"></iframe></center>
</div>
<table border=0 width=100% cellpadding=0 cellspacing=0>
<div class="sidebar1">
<center>
<?php
error_reporting(E_ALL);
$dati = mysql_query("SELECT foto FROM utenti WHERE username='".$_SESSION['utente']."'");
$risultato= mysql_fetch_array($dati);
$_SESSION['foto'] = $risultato['foto'];
echo <<<EOF
<a href="javascript:Popup('modifica_foto3.php')" alt="Modifica la tua foto cliccando qui!" title="Modifica la tua foto cliccando qui!"><img src="uploads/{$risultato['foto']}"></a>
EOF;
?>
<iframe name="visualizza" width="65%" height="20%" frameborder="1" src="infopersonali.php" ></iframe>
<p style="margin-top:5%"><a class= "modifica_dati" href="modifica_dati2.php" title="Modifica i tuoi dati personali cliccando qui!">[modifica dati]</a></p>
<iframe name="visualizza" width="65%" max-height="25%" frameborder="1" src="statoprofilo.php" ></iframe>
<?php
if(!isset($_POST['post'])){ ?>
<form method="post" action="#" id="modificastato" style="alignment-adjust:central">
<ul>
<label for="post" style="font-size:120%; color:white; margin-left:-11%; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif" title="Inserisci il tuo stato nel campo sottostante!">Inserisci il tuo stato:</label>
<br>
<input type="text" name="post" id="post" style="width:65%; height:120%; font-size:120%; border:1px solid black; margin-left:-12%; margin-top:5%" title="Inserisci il tuo stato qui!"/><br>
</ul>
<input type="submit" name="invia" id="salva" value="Salva" style="width:20%; height:9%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%; margin-bottom:5%" title="Salva"/>
</form>
<?php } else {
// Valori del form
$post = mysql_real_escape_string($_POST['post']);
// Invia dati alla tb utenti
$query="UPDATE utenti SET post='".$post."' WHERE username='".$_SESSION['utente']."'";
$inviautente=mysql_query($query) or die(mysql_error());
echo "<script type='text/javascript'>";
echo "location.href='profile2.php';";
echo "</script>";
}
?>
<?php
if(!isset($_POST['cerca'])){ ?>
<form method="post" action="#" id="formricerca" style="alignment-adjust:central">
<input type="text" name="username" id="username" style="margin-bottom:5%; width:65%; height:9%; font-size:120%; border:1px solid black"; placeholder="Cerca una persona qui" title="Cerca una persona qui!"/>
<input type="submit" name="cerca" id="cerca" value="Cerca" style="width:20%; height:9%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%; margin-bottom:5%" title="Cerca"/>
</form>
<?php } else {
$username = mysql_real_escape_string($_POST['username']);
if($username == ""){
echo "Attenzione, devi compilare tutti i campi";
} else {
$recuperadati = mysql_query("SELECT * FROM utenti WHERE username= '$username'");
$verificadati = mysql_num_rows($recuperadati);
$risultato = ucwords($username);
$risultato2 = strtolower($risultato);
if($verificadati == 1){
echo "<br><a href='result_search2.php?id=".$risultato2."' class='username'>$risultato</a>";
} else {
echo "<p class='noresult'>Nessun risultato trovato!</p>";
}
}
}
?>
</center>
</div>
<center><p style="font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; color:white">KnowEveryone: una produzione di Giuseppe Ferrara</p></center>
</div>
<?php
// salvo nella sessione l'username dell'utente
$_SESSION['username'] = $_SESSION['utente'];
// effettuo una query su un'ipotetica tabella di utenti
$res = mysql_query("SELECT username FROM utenti WHERE stato = 1 AND username != '".$_SESSION['utente']."'");
while ($row = mysql_fetch_array($res)){
// creo dinamicamente il link per aprire la chat
echo "<a href=\"javascript:void(0)\" onclick=\"javascript:chatWith('" . $row['username'] . "')\">Chatta con " . $row['username'] . "</a><br>";
}
$sql = "insert into chat (chat.from,chat.to,message,sent) values ('".mysql_real_escape_string($from)."', '".mysql_real_escape_string($to)."','".mysql_real_escape_string($message)."',NOW())";
$query = mysql_query($sql);
$_SESSION['selectquery'] = $sql;
var_dump($_SESSION['selectquery']);
?>
</body>
</html>
la insert che hai stampato è sbagliata mancano tutti i dati dovrebbe essere cosistring(74) "insert into chat (chat.from,chat.to,message,sent) values ('', '','',NOW())"
string 'insert into chat (chat.from,chat.to,message,sent) values ('babydoe', 'janedoe','fdfdes',NOW())' (length=94)
Borgo la vedo arduachissà che si riesca a trovare l'inghippo
$sql = "insert into chat (chat.from,chat.to,message,sent) values ('".mysql_real_escape_string($from)."', '".mysql_real_escape_string($to)."','".mysql_real_escape_string($message)."',NOW())";
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/chat.js"></script>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="jquery.js"></script>
altra cosa:
includi due volte la libreria jquery
Codice:<script type="text/javascript" src="/js/jquery.js"></script> <script type="text/javascript" src="/js/chat.js"></script> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="jquery.js"></script>
ne devi togliere una, l'ultima meglio
print "<p class='saluto'>$utente</p>";
print "<p class='saluto'>".$_SESSION['utente']."</p>";
$_SESSION['username'] = $_SESSION['utente'];
// salvo nella sessione l'username dell'utente
$_SESSION['username'] = $_SESSION['utente'];
ciao
intanto una cosa nell'ultimo script che hai postato
se non erro, li di sicuro ti da undefinited, non vedo dove valorizzi la variabile $utente, se il nome/username dell'utente l'hai in sessione perche non fai direttamentePHP:print "<p class='saluto'>$utente</p>";
PHP:print "<p class='saluto'>".$_SESSION['utente']."</p>";
poi all'inizio fai
che non capisco a che cavolo ti servaPHP:$_SESSION['username'] = $_SESSION['utente'];
poi ripeti la stessa storia verso la fine
che capisco ancora meno.PHP:// salvo nella sessione l'username dell'utente $_SESSION['username'] = $_SESSION['utente'];
ammesso che ti serva fare il passaggio $_SESSION['username'] = $_SESSION['utente'] intanto perche lo ripeti due volte.
ma perche non usi direttamenta la $_SESSION['utente']?
<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
<?php echo ucwords($_SESSION['utente']); ?>
prova a postare anche la chat.php
magari qualcosa non va li
<?php
/*
Copyright (c) 2009 Anant Garg (anantgarg.com | inscripts.com)
This script may be used for non-commercial purposes only. For any
commercial purposes, please contact the author at
anant.garg@inscripts.com
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
*/
define ('DBPATH','localhost');
define ('DBUSER','root');
define ('DBPASS','**********');
define ('DBNAME','database');
session_start();
global $dbh;
$dbh = mysql_connect(DBPATH,DBUSER,DBPASS);
mysql_selectdb(DBNAME,$dbh);
if ($_GET['action'] == "chatheartbeat") { chatHeartbeat(); }
if ($_GET['action'] == "sendchat") { sendChat(); }
if ($_GET['action'] == "closechat") { closeChat(); }
if ($_GET['action'] == "startchatsession") { startChatSession(); }
if (!isset($_SESSION['chatHistory'])) {
$_SESSION['chatHistory'] = array();
}
if (!isset($_SESSION['openChatBoxes'])) {
$_SESSION['openChatBoxes'] = array();
}
function chatHeartbeat() {
$sql = "select * from chat where (chat.to = '".mysql_real_escape_string($_SESSION['username'])."' AND recd = 0) order by id ASC";
$query = mysql_query($sql);
$items = '';
$chatBoxes = array();
while ($chat = mysql_fetch_array($query)) {
if (!isset($_SESSION['openChatBoxes'][$chat['from']]) && isset($_SESSION['chatHistory'][$chat['from']])) {
$items = $_SESSION['chatHistory'][$chat['from']];
}
$chat['message'] = sanitize($chat['message']);
$items .= <<<EOD
{
"s": "0",
"f": "{$chat['from']}",
"m": "{$chat['message']}"
},
EOD;
if (!isset($_SESSION['chatHistory'][$chat['from']])) {
$_SESSION['chatHistory'][$chat['from']] = '';
}
$_SESSION['chatHistory'][$chat['from']] .= <<<EOD
{
"s": "0",
"f": "{$chat['from']}",
"m": "{$chat['message']}"
},
EOD;
unset($_SESSION['tsChatBoxes'][$chat['from']]);
$_SESSION['openChatBoxes'][$chat['from']] = $chat['sent'];
}
if (!empty($_SESSION['openChatBoxes'])) {
foreach ($_SESSION['openChatBoxes'] as $chatbox => $time) {
if (!isset($_SESSION['tsChatBoxes'][$chatbox])) {
$now = time()-strtotime($time);
$time = date('g:iA M dS', strtotime($time));
$message = "Inviato alle $time";
if ($now > 180) {
$items .= <<<EOD
{
"s": "2",
"f": "$chatbox",
"m": "{$message}"
},
EOD;
if (!isset($_SESSION['chatHistory'][$chatbox])) {
$_SESSION['chatHistory'][$chatbox] = '';
}
$_SESSION['chatHistory'][$chatbox] .= <<<EOD
{
"s": "2",
"f": "$chatbox",
"m": "{$message}"
},
EOD;
$_SESSION['tsChatBoxes'][$chatbox] = 1;
}
}
}
}
$sql = "update chat set recd = 1 where chat.to = '".mysql_real_escape_string($_SESSION['username'])."' and recd = 0";
$query = mysql_query($sql);
if ($items != '') {
$items = substr($items, 0, -1);
}
header('Content-type: application/json');
?>
{
"items": [
<?php echo $items;?>
]
}
<?php
exit(0);
}
function chatBoxSession($chatbox) {
$items = '';
if (isset($_SESSION['chatHistory'][$chatbox])) {
$items = $_SESSION['chatHistory'][$chatbox];
}
return $items;
}
function startChatSession() {
$items = '';
if (!empty($_SESSION['openChatBoxes'])) {
foreach ($_SESSION['openChatBoxes'] as $chatbox => $void) {
$items .= chatBoxSession($chatbox);
}
}
if ($items != '') {
$items = substr($items, 0, -1);
}
header('Content-type: application/json');
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
<?php echo $items;?>
]
}
<?php
exit(0);
}
function sendChat() {
$from = $_SESSION['username'];
$to = $_POST['to'];
$message = $_POST['message'];
$_SESSION['openChatBoxes'][$_POST['to']] = date('Y-m-d H:i:s', time());
$messagesan = sanitize($message);
if (!isset($_SESSION['chatHistory'][$_POST['to']])) {
$_SESSION['chatHistory'][$_POST['to']] = '';
}
$_SESSION['chatHistory'][$_POST['to']] .= <<<EOD
{
"s": "1",
"f": "{$to}",
"m": "{$messagesan}"
},
EOD;
unset($_SESSION['tsChatBoxes'][$_POST['to']]);
$sql = "insert into chat (chat.from,chat.to,message,sent) values ('".mysql_real_escape_string($from)."', '".mysql_real_escape_string($to)."','".mysql_real_escape_string($message)."',NOW())";
$query = mysql_query($sql);
$sql = "insert into chat (chat.from,chat.to,message,sent) values ('" . mysql_real_escape_string($from) . "', '" . mysql_real_escape_string($to) . "','" . mysql_real_escape_string($message) . "',NOW())";
$_SESSION['selectquery'] = $sql;
$query = mysql_query($sql);
if(!query) {
$_SESSION['erroremysql'] = mysql_error();
}
echo "1";
exit(0);
}
function closeChat() {
unset($_SESSION['openChatBoxes'][$_POST['chatbox']]);
echo "1";
exit(0);
}
function sanitize($text) {
$text = htmlspecialchars($text, ENT_QUOTES);
$text = str_replace("\n\r","\n",$text);
$text = str_replace("\r\n","\n",$text);
$text = str_replace("\n","<br>",$text);
return $text;
}
?>
ciao
sarò orbo, ma nell'ultimo script che hai postato non vedo traccia di
mettiamo come detto che sia orbo, usa direatamente la sessioen, perche fare il passaggio?PHP:<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
PHP:<?php echo ucwords($_SESSION['utente']); ?>
scusa, poi sino a stasere sono impegnato.
<body style="background-color:#036; width: 100%; height: 100%; display: block">
<div id="barra">
<p>KnowEveryone <a class="nomeutentebarra" href="profile2.php" style="color:white"><?php $utente= ucwords($_SESSION['utente']); print "($utente)";?></a><a class="logout" href="login2.php?azione=logout" title="Esci">Esci</a></p>
</div>
<?php
include 'header.php';
print "<p class='saluto'>$utente</p>";
?>
</div>
lo script sembra a posto
unica cosa ricarica l'originale per togliere le modifiche che ti ho fatto fare
netti un var_dump($_SESSION) generale nella pagina per vedere tutte le sessioni attive
<?php
if (!isset($_SESSION)) {
session_start();
}
if (!isset($_SESSION['utente'])) {
header("location: login2.php?azione=login");
exit();
}
var_dump($_SESSION);
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?