Integrare script php in script php?

mi rispieghi anche cosa non ti funziona sulla base di questo ultimo codice?

Allora ti spiego la situazione: mi hanno chiesto di implementare questa chat in modo da farla funzionare sul loro sito web. Fin qui tutto ok nel senso che lo script (quello da integrare) funzionava in una pagina a parte. Però, quando mi hanno chiesto di integrarlo nella pagina di profilo che mi hanno fornito, non funziona nel senso che non mi visualizza più il nome di colui che scrive nel box della chat che sarebbe il nome dell'utente che c'è in sessione, anche se la sessione funziona benissimo, quindi come posso fare per risolvere?
Grazie ancora per la tua disponibilità,
cicciaramba.
 
Strano che non funzioni
prova a valorizzare la sessione a inizio pagina

PHP:
<?php
if (!isset($_SESSION)) {
    session_start();
}
if (!isset($_SESSION['utente'])) {
    header("location: login2.php?azione=login");
    exit();
}
$_SESSION['username'] = $_SESSION['utente'];
?>
 
Strano che non funzioni
prova a valorizzare la sessione a inizio pagina

PHP:
<?php
if (!isset($_SESSION)) {
    session_start();
}
if (!isset($_SESSION['utente'])) {
    header("location: login2.php?azione=login");
    exit();
}
$_SESSION['username'] = $_SESSION['utente'];
?>

Sempre lo stesso undefined, ma la cosa più strana è che funziona in una pagina a parte :confused:
 
nella tabella chat te li memorizza tutti i dati?
 
nel sorgente della chat ho visto che utilizzano diversi POST e SESSION non è che c'è ne qualcuno con lo stesso nome che usi anche tu?
 
ora mi sono accorto che quando spunta undefined non memorizza nessun dato in tabella,

anche togliendo la $_SESSION nel sorgente cmq gli altri dati li memorizza

forse va in conflitto la connessione al db prova a mettere dei controlli quando si connette da chat.php

PHP:
$dbh = mysql_connect(DBPATH, DBUSER, DBPASS);
if(!dbh) {
    $_SESSION['errore'] = "Errore di connessione";
}
if(!mysql_selectdb(DBNAME, $dbh)) {
    $_SESSION['errore'] = "Errore selezione database";
}

e poi nella pagina lo stampi
PHP:
var_dump($_SESSION['errore']);
 
anche togliendo la $_SESSION nel sorgente cmq gli altri dati li memorizza

forse va in conflitto la connessione al db prova a mettere dei controlli quando si connette da chat.php

PHP:
$dbh = mysql_connect(DBPATH, DBUSER, DBPASS);
if(!dbh) {
    $_SESSION['errore'] = "Errore di connessione";
}
if(!mysql_selectdb(DBNAME, $dbh)) {
    $_SESSION['errore'] = "Errore selezione database";
}

e poi nella pagina lo stampi
PHP:
var_dump($_SESSION['errore']);

Per l'errore mi restituisce NULL quindi non c'è nessun errore.
 
ciao
mi avevi detto che l'errore e qui (vedi commento)
PHP:
<div id="barra" style="height: 8%; position: fixed; top: 0px; bottom: 0; left: 0; width: 100%; background-color: #006699; border-bottom: 1px solid #133783; position:fixed !important">   
<p style="margin-top:1%; margin-bottom:1%; margin-left:1%; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; font-weight:bold; text-align:left">KnowEveryone
<a class="nomeutentebarra" href="profile2.php" style="color:white">
<?php
 $utente= ucwords($_SESSION['utente']); print "($utente)";// <==== QUI
?>
 </a><a class="logout" href="login2.php?azione=logout" style="color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:100%; font-weight:bold; margin-right:1%; margin-left:2%" title="Esci">Esci</a></p>  
</div>
giusto?
poi hai detto che il var_dump di $_SESSION['utente'] ti da il valore che deve avere, giusto?

se è così prova a modificare in questo modo

PHP:
<?php
echo ucwords($_SESSION['utente']);
?>
senza passare dalla variabile $utente e usando echo
 
ciao
mi avevi detto che l'errore e qui (vedi commento)
PHP:
<div id="barra" style="height: 8%; position: fixed; top: 0px; bottom: 0; left: 0; width: 100%; background-color: #006699; border-bottom: 1px solid #133783; position:fixed !important">   
<p style="margin-top:1%; margin-bottom:1%; margin-left:1%; color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:150%; font-weight:bold; text-align:left">KnowEveryone
<a class="nomeutentebarra" href="profile2.php" style="color:white">
<?php
 $utente= ucwords($_SESSION['utente']); print "($utente)";// <==== QUI
?>
 </a><a class="logout" href="login2.php?azione=logout" style="color:#FFF; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:100%; font-weight:bold; margin-right:1%; margin-left:2%" title="Esci">Esci</a></p>  
</div>
giusto?
poi hai detto che il var_dump di $_SESSION['utente'] ti da il valore che deve avere, giusto?

se è così prova a modificare in questo modo

PHP:
<?php
echo ucwords($_SESSION['utente']);
?>
senza passare dalla variabile $utente e usando echo

No, l'errore non è qui. L'errore è nel fatto che quando apro la finestra della chat con il javascript me la apre, ma quando scrivo non mi visualizza l'utente in sessione, pur essendo corretta, ma undefined.
Per capire meglio l'errore forse ti converrebbe scaricare l'archivio della chat che mi hanno fatto inserire da qui.
Ecco: questo è il problema.
Grazie ancora per il tempo che mi stai concedendo,
cicciaramba.
 
il problema è che non ti fa nemmeno la insrt nella tabella chat
per me non è la sessione il problema
 
il problema è che non ti fa nemmeno la insrt nella tabella chat
per me non è la sessione il problema

Il fatto è che me la fa solo se al posto di undefined spunta l'user in sessione.
Una cosa non capisco: in un iframe che è nella pagina nella quale sto tentando di integrare lo script funziona, nella pagina stessa senza iframe no :confused:
Quindi evidentemente c'è qualcosa che va in conflitto: può essere l'unica spiegazione ragionevole, no?
 
prova a mettere in sessione e stampare questa query
PHP:
$sql = "select * from chat where (chat.to = '" . mysql_real_escape_string($_SESSION['username']) . "' AND recd = 0) order by id ASC";
    $_SESSION['selectquery'] = $sql;

è in chat.php metodo chatHeartbeat()


EDIT o meglio quella che fa la insert è nel metodo sendChat
 
prova a mettere in sessione e stampare questa query
PHP:
$sql = "select * from chat where (chat.to = '" . mysql_real_escape_string($_SESSION['username']) . "' AND recd = 0) order by id ASC";
    $_SESSION['selectquery'] = $sql;

è in chat.php metodo chatHeartbeat()


EDIT o meglio quella che fa la insert è nel metodo sendChat
Ecco quello che mi restituisce:
PHP:
string(79) "select * from chat where (chat.to = 'pinco' AND recd = 0) order by id ASC"
 
stampa anche la insert vediamo se è corretta
 

Discussioni simili