Integrare script php in script php?

eventualmente stampa anche l'errore se va in errore

PHP:
if(!query) {
        $_SESSION['erroremysql'] = mysql_error();
    }
 
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)
edit
comunque segui anche quello che dice criric. chissà che si riesca a trovare l'inghippo
 
Ultima modifica:
ciao
riposta la chat.php (non mettere tutto il css solo le parti che possono interessare)

Intendi la pagina nella quale voglio integrare il codice dello script per la chat?

Perché se sì eccolo:
PHP:
<?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>
 
string(74) "insert into chat (chat.from,chat.to,message,sent) values ('', '','',NOW())"
la insert che hai stampato è sbagliata mancano tutti i dati dovrebbe essere cosi
Codice:
string 'insert into chat (chat.from,chat.to,message,sent) values ('babydoe', 'janedoe','fdfdes',NOW())' (length=94)
oltre alla sessione mancano acneh i post :confused:

chissà che si riesca a trovare l'inghippo
Borgo la vedo ardua
 
Aspetta che non ci stiamo capendo

perche hai aggiunto questa query al tuo codice?
PHP:
$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())";
 
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
 
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

Ho tolto la seconda libreria e non funziona lo stesso.
 
ciao
intanto una cosa nell'ultimo script che hai postato
PHP:
print "<p class='saluto'>$utente</p>";
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 direttamente
PHP:
print "<p class='saluto'>".$_SESSION['utente']."</p>";

poi all'inizio fai
PHP:
$_SESSION['username'] = $_SESSION['utente'];
che non capisco a che cavolo ti serva
poi ripeti la stessa storia verso la fine
PHP:
// salvo nella sessione l'username dell'utente
$_SESSION['username'] = $_SESSION['utente'];
che capisco ancora meno.
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']?
 
ciao
intanto una cosa nell'ultimo script che hai postato
PHP:
print "<p class='saluto'>$utente</p>";
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 direttamente
PHP:
print "<p class='saluto'>".$_SESSION['utente']."</p>";

poi all'inizio fai
PHP:
$_SESSION['username'] = $_SESSION['utente'];
che non capisco a che cavolo ti serva
poi ripeti la stessa storia verso la fine
PHP:
// salvo nella sessione l'username dell'utente
$_SESSION['username'] = $_SESSION['utente'];
che capisco ancora meno.
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']?

Io valorizzo $utente qui
PHP:
<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
Ho aggiustato il fatto della ripetizione e poi non uso $_SESSION['utente'] perché mi hanno detto di adattare la chat al sistema ed era il modo più comodo.
 
@Borgo
gli ho detto io di spostarlo in cima, non gli ho detto di ripeterlo vabbe

la SESSIONE username serve per lo script della chat e deve contenere la username che lui ha in SESSION utente
 
ciao
sarò orbo, ma nell'ultimo script che hai postato non vedo traccia di
PHP:
<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
mettiamo come detto che sia orbo, usa direatamente la sessioen, perche fare il passaggio?

PHP:
<?php echo ucwords($_SESSION['utente']); ?>

scusa, poi sino a stasere sono impegnato.
 
prova a postare anche la chat.php

magari qualcosa non va li
 
prova a postare anche la chat.php

magari qualcosa non va li

Ecco il codice di chat.php:
PHP:
<?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 
[email protected]

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;
}
?>
Grazie ancora per il tuo aiuto Criric.
 
ciao
sarò orbo, ma nell'ultimo script che hai postato non vedo traccia di
PHP:
<?php $utente= ucwords($_SESSION['utente']); print "($utente)";?>
mettiamo come detto che sia orbo, usa direatamente la sessioen, perche fare il passaggio?

PHP:
<?php echo ucwords($_SESSION['utente']); ?>

scusa, poi sino a stasere sono impegnato.

Comunque la parte in cui valorizzo $utente è questa:
PHP:
<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
 
io intendo qui all'inizio
PHP:
<?php 
if (!isset($_SESSION)) { 
    session_start(); 
} 
if (!isset($_SESSION['utente'])) { 
    header("location: login2.php?azione=login"); 
    exit(); 
}  

var_dump($_SESSION);

deve stamparti qualcosa
 

Discussioni simili