mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.www.php
Titolo: scaricare qualunque tipo di file

ho creato questo script
 
header('Content-Type: application/binary');
header('Content-Disposition: attachment; filename=' . basename($file));
readfile($file);	
exit;				
 
Se il file da scaricare è un semplice file txt, lo script funziona.
Se invece ad esempio si tratta di un pdf, non viene "interpretato" 
correttamente...
 
C'è un metodo standard per scaricare qualunque tipo d file?

 C'è un metodo standard per scaricare qualunque tipo d file?
 
Sicuramente manca la riga:
 
header("Content-Transfer-Encoding: binary");
 
Sarebbe bene aggiungere anche l'header Content-Length.
 
Ciao.
 
-- 
Pubblicita' regresso: 
http://www.ferrero.org
 
** Per scrivermi in mail, sostituire nutella con ferrero...
** To contact me by email, change nutella to ferrero...
 

 C'è un metodo standard per scaricare qualunque tipo d file?
 
Incolla un collegamento ad un esempio dal vivo.

 Sarebbe bene aggiungere anche l'header Content-Length.
 
ok, funziona


un collegamento ad un esempio "dal vivo" bah..., cos'è un concerto live?
;)
 
in ogni caso gli elementi forniti sono stati sufficienti!!!

Newsgroup: it.comp.www.php
Titolo: eliminare tutti i <TAG> with PHP

Ciao ...
ho una stringa che contiene un testo formattato in HTML, devo eliminare
tutti i tag, di ogni genere per ottenere a video solamente il testo, ho
utilizzato questa funzione:
$pulita= str_replace("< % >", "<br>",$html);
in pratica la mia idea era di sostituire tutto ciň che sta in mezzo a <
e a > (compresi) con il <br> 
ma non so come si scrive ... ovviamente non come l'ho scritto io..
qualcuno lo sa??
ciao
Grazie
Thomas 

Prova
$pulita = strip_tags($string, '<br>');
Cosi' dovrebbe andare.
Se vuoi lasciare altri tag oltre al <br> basta aggingerli al secondo 
parametro.Supponiamo vuoi preservare i tag <br><i></i> basta scrivere
$pulita = strip_tags($string, '<br><i></i>');

 ha scritto nel messaggio
news:1f49don.1ycoabh1m9ey4yN%thomas...@inwind.it...

forse dovrebbe andare cosě:
$html_pulito = ereg_replace("<(.*)>","<br>",$html);
Alex

$html_pulito = ereg_replace("<(.*)>","<br>",$html);
Attenzione: la regola e' che la regexp cerca di infilare dentro (.*) tutto
quello che puo'. Dunque:
	<B><A HREF="">Hello</A></B>
viene matchata come: "<", seguito da "B><A HREF="">Hello</A></B" e seguito
da ">". Quindi il risultato finale non e'
	<BR><BR>Hello<BR><BR>
ma un laconico
	<BR>
Per evitarlo, la regexp non deve prendere <(.*)> ma <[^>]*>.
Leonardo
-- 
And where the black and corkscrew towers climb
Lost and athirst the ragged pack abides,
Old as the aeons, trapped in tombs of time,
Sailing the tortuous temporal tides...

 Per evitarlo, la regexp non deve prendere <(.*)> ma <[^>]*>.
Oppure usare un preg_replace("/<(.*)>/U","<br>",$html);
U e' un modifier per il greedy, e quindi la ricerca si ferma al minimo match
Newsgroup: it.comp.www.php
Titolo: problemino Mysql

Buongiorno a tutti, sono un neofita di php ed altrettanto neofita di
mysql:
Dunque io ho installato mysql server su una macchina,ho creato un DB e se
provo a connettermi con php mi ritorna errore 111 e errore 2003.
La cosa strana è che se utilizzo un'altro programma per accedere
dall'esterno al database, lo fa senza problemi.Non credo sia un problema
di permessi (per lo meno per quanto riguarda il DB).Potrebbe essere un
problema del pc dove sta fisicamente il server http che mi fornisce
l'interpretazione di php?
Grazie per l'auito Lorenzo

 http che mi fornisce l'interpretazione di php?
Posta il codice hce utilizzi per collegarti in PHP, insieme agli IP
locali delle macchine (sono due?) dove c'e' il web server e MySQL.
Le pagine senza accesso DB in PHP funzionano?
Che web server utilizzi?
-- 
I'am what I'am, I do what I can

 Le pagine senza accesso DB in PHP funzionano?
Si, funzionano.
ora non ho qui il codice.
Comunque era un banale codice di esempio trovato in internet.
$db = mysql_connect("ipmacchina:3306", "root", "password");
... ...
Lorenzo

 $db = mysql_connect("ipmacchina:3306", "root", "password");
Che cosa intendi per "un'altro programma per accedere dall'esterno al
database"? Dall'esterno intendi dalla macchina che ospita il server
Apache?
Probabilmente e' una configurazione errata che non permette ai client
di raggiungere MySQL dall'IP del web server.


 di raggiungere MySQL dall'IP del web server.
dal pc in cui c'e' il web server apache chiamo la sql connect e mi da'
errori 111 (credo il webserver) e errore 2003 (errno, il risultato della
mysqlconnect)
grazie
Lorenzo

 della mysqlconnect)
Prova dalla macchina dove risiede il server web a collegarti con un
client come DBTools al server mysql. Se hai un firewall e/o un proxy
tra le due macchine potrebbe essere questo che impedisce la connessione.


 tra le due macchine potrebbe essere questo che impedisce la connessione.
purtroppo non posso farlo in quanto la macchina dove risiede il web server
è una macchina UNIX su cui io ho solo permesso di utente. Ho provato vari
client MySql da vari computer con vari sistemi operativi e tutti si
connettono al DB, fanno le query etc.
Sai qualche altro modo per capire, da utente normale, se la macchina (per
qualche motivo strano) non possa fare richieste al DB esterno?
tra l'altro ho stampato il risultato di phpinfo() e ho visto che nel web
server è correttamente installato il supporto mysql... 
Grazie Lorenzo
Newsgroup: it.comp.www.php
Titolo: ARRAY - Chi mi aiuta?

Non capisco cosa sto sbagliando..
Perche' l'aray $prod riseco a leggerlo, mentre $items mi restituisce Array
??
<?php
include("inc/dbconnect.php");
$prodottofind = mysql_query("SELECT * FROM prodotti",$db);
 while ($prodottorow = mysql_fetch_array($prodottofind))
 {
 $idprodotto = $prodottorow["idprodotto"];
 $codice = $prodottorow["codice"];
 $prodotto = $prodottorow["tipo"];
 $imponibile = $prodottorow["imponibile"];
$items[]=array("name"=>$prodotto,"code"=>$codice,"price"=>$imponibile); //
questo non funziona...
$prod[]=$prodotto;  //questo finziona....
 }
for($i=0;$i<count($items);$i++){
echo $item[$i];
        }
for($i=0;$i<count($prod);$i++){
echo $prod[$i];
        }
?>

$prod[]=$prodotto;  //questo finziona....
Infatti questo e' un array di scalari.

 ha scritto nel messaggio
news:aq87k9$12p$1...@nowhere.local...


echo $prodotto[$i];
$i = $_SESSION["i"];
$prodotto = $_SESSION["prodotto"];
echo $prodotto[$i];

 ha scritto nel messaggio
news:aq8c9b$1h8$1...@nowhere.local...


?>
Mi sembra un po' barocco come approccio, io farei:
<?
while($prodottorow = mysql_fetch_array($prodottofind)) {
$cod = $prodottorow["codice"];
$tipo = $prodottorow["tipo"];
?>
<tr><td>
<a href="#" onclick="openModalDialog('note.php?id=<? echo $cod ?>',0,0,320,200);">
<? echo $cod; ?></a>&nbsp;</td>
<td width="330"><? echo $tipo; ?></td></tr>
<?
} // fine while()
?>
e poi in note.php farei un'altra query al database usando il codice
contenuto in 'id' e passato direttamente nell'URL.
Se ti devi creare lo stesso tutti quegli array per altri scopi, puoi
farlo comunque.

 ha scritto nel messaggio
news:aq87k9$12p$1...@nowhere.local...


echo $a1." - ".$a2." - ".$a3;
Attenzione che la variabile prima l'hai chiamata $a1_name e ora usi $a1
Fai molta attenzione a questo genere di errori, perche' quando il codice
diventa tanto, sono i piu' difficili da trovare.
Hai provato il codice che ti suggerivo nell'altro post?

 ha scritto nel messaggio
news:aq8shq$2r0$1...@nowhere.local...


 ha scritto nel messaggio
news:aq8shq$2r0$1...@nowhere.local...


$idprodotto." - ".$prodotto
Non so, a me il tuo codice funziona.
Prova a mettere
error_reporting(E_ALL);
all'inizio del codice e vedi se ti salta fuori qualche errore.
Prova anche a mettere un echo count($items) prima del ciclo for per
vedere se l'array e' popolato o no. Visto che vedi le variabili
$idprodotto e $prodotto escluderei un problema con la query.
Newsgroup: it.comp.www.php
Titolo: Php CLI

Salve a tutti
un amico mi ha parlato del modulo CLI di php dicendomi che è molto più
veloce.
Ho voluto fare qualche test (non molti a dire la verità) facendo girare
degli script php che eseguono una serie di query su un db mysql, prima con
CLI e poi come CGI. I risultati in termini di tempo sono stati però gli
stessi.
Voi che ne dite?
Roberto

 Voi che ne dite?
[quoto 
http://www.php.net/manual/en/features.commandline.php
]
As of version 4.3.0, PHP supports a new SAPI type (Server Application
Programming Interface) named CLI which means Command Line Interface. As
the name implies, this SAPI type main focus is on developing shell (or
desktop as well) applications with PHP. [cut] It's worth mentioning
that CLI and CGI are different SAPI's although they do share many of
the same behaviors.
[/quoto]
Partendo dal presupposto che ISAPI e mod_php sono piu' performanti
rispetto a CGI e che CGI e CLI sono differenti SAPI ma simili dal punto
di vista del funzionamento si puo' presumere che CLI sia piu' lento
rispetto ad ISAPI e mod_phpX.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.


Non so dirti quale sia più performante, ma l'accesso al database per un 
test di velocità di PHP non è una buona idea. L'esecuzione di query sul 
  DB normalmente richiede un tempo considerevole (in termini di velocità 
di esecuzione di uno script) e tende a falsare i valori.


:Provate a guardare gli ingredienti del famoso Labello che si usa per
:le labbra screpolate: Butirrospermum Parkii (sperma di maiale).
Newsgroup: it.comp.www.php
Titolo: Consigli per...gli acquisti

Ciao a tutti,
è la prima volta che scrivo su questo NG, vorrei chiedere a chi è
più esperto di me alcune cose su PHP.
Ho fatto qualche sito internet basandomi sulla grafica (sono un
grafico...) e poi inserendo gli oggetti grafici in tabelle o livelli di
FrontPage.
Da molto tempo pero' vorrei avvicinarmi a PHP e MySQL per pubblicare su
internet un archivio di prodotti con prezzo, immagini, eccetera.
Sarei molto grato se qualcuno di voi mi indichi la strada da percorrere
ad esempio
1) Esiste un editor visuale tipo access ?
2) Come si integra PHP con MySQL
3) Libri o riviste su PHP
4) Dove si scrive il testo in PHP e come trattarlo....
Spero nella vostra benevolenza... Ciao a tutti e grazie anticipate a
chi vorrà darmi qualche "dritta"
Buon 2007

 chi vorrà darmi qualche "dritta"
io che sono agli inizi ti posso consigliare di leggerti qualche guida 
qui: 
http://php.html.it/
 e di leggerti la documentazione qui: 
http://www.php.net/manual/it/
 man mano che impari e di provare.
-- 
-ciao       Raziel       #ICQ 314405452
[HT] Real Quilian (851574) - Italia - VII.481
http://razielweb.altervista.org

 Buon 2007
Anche a te!
Andrea

Newsgroup: it.comp.www.php
Titolo: Redirect dopo upload AIUTO !!!

Salve ho un problema semplicissimo che non riesco a risolvere.
Ho un semplice form html per l' upload nella pagina a.html:
<form method="post" action="
http://www.mysite.com/upload.php
"
enctype="multipart/form-data">
Scegli il file: <input type="file" name="file"> <input type="submit"
value="Send" name="go">
</form>
Ho un semplice script php per l' upload nella pagina upload.php:
<?php
if(@$_FILES['file'] != "") {
    $dir = "photo/";
    $destine = $dir.basename( $_FILES['file']['name']);
    if(@move_uploaded_file($_FILES['file']['tmp_name'], $destin))
        echo "OK!";
    else
        echo "Upload error";
}elseif(isset($_POST['go']))
    echo "No file!";
?>
Vorrei fare l'upload del file rimanendo sempre sulla pagina a.html
quindi senza andare in upload.php.
Come posso fare aiutatemi vi prego

 Come posso fare aiutatemi vi prego
basta che cambi la action del form a: 
http://www.mysite.com/a.html
nela pagina a.html (che non sar�  html ma  php)
if(isset $_POST['go'])
{
codice per il form submit
}
else
{
codice per visualizzare il form
}

 nela pagina a.html (che non sarà  html ma  php)


 E non posso usare neanche un URL relativo nella action del form.
che c'entra questo??
se proprio vcoui mettere  due pagine distinte in upload.php alla fine
della trattazione de form fai un :
header("Location:
http://www.mysite.com/a.html
" e parametri ...);
http://www.php.net/manual/en/function.header.php
 

 upload non è una pagina, è uno script che valida/utilizza i dati che


 upload non è una pagina, è uno script che valida/utilizza i dati che

Newsgroup: it.comp.www.php
Titolo: Come leggere delle variabili

Salve, premettendo che di php non ne comprendo molto, vorrei chiedervi come 
risorvere questo problema:
da una pagina don la seguente sintassi: pagina.php?id=111_222_333_444
come faccio a stampare a video il primo della serie di numeri ovvero 111?
I numeri possono essere a 3 o più cifre
Grazie! 

wizz ha scritto:

$numeri=explode("_",$_GET['id']);
print $numeri[0];
-- 
"20060207: buongiorno italia, buongiorno maria.
con gli occhi pieni di malinconia"

 print $numeri[0];
Ringrazio entrambi,
non potete rendervi conto come ci si senta impotenti non conoscendo un'H di 
programmazione e che soddisfazione si ha, nel ricevere un aiuto del genere.
Nuovamente grazie.

 ha scritto nel messaggio
news:441fc84b$0$29732$4faf...@reader2.news.tin.it...

Newsgroup: it.comp.www.php
Titolo: commentare codice come si fa

se ho una pagina php con il codice sotto.
si puo' fare in modo di inglobare il tutto come commento senza usare 
prima l'annotazione per l'html e poi anche per il php ?
mi interesasva un modo per togliere o inserire tale codice in modo veloce;
per farlo ora devo mettere
<!--   --> per la table e inoltre
prima di ogni include //;
<table width="100%"  border="1">
   <tr>
     <td width="15%"><?php include('menu.php') ?> </td>
     <td width="85%"><?php include('contenuti.htm') ?> </td>
   </tr>
</table>
se non c'è un tag o simbolo particolare, pensavo a limite di riusare il 
php con // davanti.
//<?php ....... ?> pero' come si fa a mettere le 6 righe sopra dentro il
php (ho provato echo e tutto dentro parentesi ma non va)

 file://<?php ....... ?> pero' come si fa a mettere le 6 righe sopra dentro


 prima l'annotazione per l'html e poi anche per il php ?
Metti prima:
<?php if (false) { ?>
e dopo:
<?php } ?>
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 <?php } ?>
perfetto
praticamente (false) è una risposta diretta all'if : gli dice che
la condizione fittizia che si trova dentro parentesi
è sempre falsa e quindi il codice passa oltre al contenuto dentro le graffe.
mi segno il debito

 mi segno il debito
Vuoi supportarmi? 
http://url.repository.biz/go/3E

Newsgroup: it.comp.www.php
Titolo: Javascript php mysql array moltiplicati

Salve a tutti ho il seguente problema:
attraverso un query recupero dei dati ( decimal 10,2 ) da un db mysql
che vengono inseriti in un input text chiamato "QTA" che si trova in
un form.
attraverso mysql_fetch_array possono venire fuori diverse righe
contenenti valori diversi
nello stesso form ho un altro input text chiamato "TOT"che dovrebbe
essere il risultato della moltiplicazione DINAMICA  dei risultati
ottenuti dalla precedente query.
Come posso ottenere tale risultato in maniera dinamica ??
per la somma dei risultati non c'è problema se utilizzo questo
$tot += ($row_mostra['carrello_quantità']*
$row_mostra['prezzoalpubblico']);
per la moltiplicazione come posso fare?

 per la moltiplicazione come posso fare?
il += e' la cosiddetta "forma compressa) e serve per evitare di ripetere 
l'operatore che si trova a sinistra della formula.
In pratica, scrivendo
  $tot += 1
e' come se tu scrivessi
  $tot = $tot + 1
ecco che, quindi, se vuoi fare una moltiplicazione (o qualunque altra 
operazione), puoi tranquillamente utilizzare la forma estesa:
  $tot =  $tot * ($row_mostra['carrello_quantità']*
  $row_mostra['prezzoalpubblico']);
Lucignolo
-- 
Sign in progress

 wrote:

grazie per la tua spiegazione molto esauriente  , ma dalla formula che
hai scritto mi restituisce un valore pari a 0
$tot += ($row_mostra['prezzoalpubblico']) // resituisce la somma dello
stesso array ed è funzionante
invece
$tot= $tot * ($row_mostra['prezzoalpubblico'])  // restituisce 0
sembra non andare ....

 sembra non andare ....
Per forza, perchè $tot in questo caso vale 0 e che qualunque numero * 0 
faccia 0 non è un problema del php, ma della matematica elementare.
Tu hai chiesto:
 > nello stesso form ho un altro input text chiamato "TOT"che dovrebbe
 > essere il risultato della moltiplicazione DINAMICA  dei risultati
 > ottenuti dalla precedente query.
poi hai postato questa formula e questa domanda:
 > Come posso ottenere tale risultato in maniera dinamica ??
 > per la somma dei risultati non c'è problema se utilizzo questo
 > $tot += ($row_mostra['carrello_quantità']*
 > $row_mostra['prezzoalpubblico']);
 > per la moltiplicazione come posso fare?
E io ti ho risposto: per fare si può fare come ho detto io!
Per i valori, che ne so? Non sono mica un'indovino!
Spiega più chiaramente cosa desideri ottenere: quando parli di 
moltiplicazione dinamica cosa intendi, esattamente?
Io li vedo solo 3 valori:
- $tot
- $row_mostra['carrello_quantità']
- $row_mostra['prezzoalpubblico']
Se anche uno solo di essi vale zero, la moltiplicazione dei tre elementi 
darà per forza risultato zero, su questo non ci piove e ne il php ne 
nessun altro linguaggio ci possono fare nulla!


 wrote:

Ovviamente qualisiasi numero x 0 da 0 ! :-P
per questo è bastato inseriere
$tot = 1;
prima della query mysql e successivamente  nel cilco do while
<?php do {
 $tot *= $row_mostra['carrello_quantità'];
	 ?>
 <?php } while ( ecc .. ecc.. ?>
Grazie e saluti al NG ;-)
Newsgroup: it.comp.www.php
Titolo: passa ad un array i valori di una query

Caio a tutto il NG
ho scritto il codice seguente ma non so (sono newbie) come si scrive
correttamente
$file[$row[legenda]], che mi da errore.
 $row[legenda] sono dei numeri interi
connetto il db MySql
faccio la query
while ($row = mysql_fetch_array($result));
{
echo "$file[$row[legenda]] ";
}
Ciao Grazie mille
Agolf

$file[$row[legenda]], che mi da errore.
In genere io scrivo
	$tag = $row['legenda'];
	echo $file[$tag];
...ci metto di piu', ma cosi' funziona :-)
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 Leonardo
Grazie funziona perfettamente ed è semplicissimo.
Ciao Agolf
Newsgroup: it.comp.www.php
Titolo: Cerco un counter

Dove posso trovare degli esempi per creare un couter?
Ne ho trovati un pň ma tutti richidevano mysql.
Il mio server non supporta mysql.
Grazie in anticipo

 Ne ho trovati un pò ma tutti richidevano mysql.


 ha scritto nel
messaggio news:cLFu6.13177$lT1.2...@news2.tin.it...


 Ne ho trovati un pò ma tutti richidevano mysql.


Newsgroup: it.comp.www.php
Titolo: Standarizzare questa linea di codice

Salve vorrei standartizzare questa linea di codice (permettetemi il termine 
anche se poco adatto)
$ob=$User1->get_OpzDownload()
l'idea e che vorrei con una classe poter chiamare
un oggetto qualsiasi il metodo qualsiasi
oggetto è una stringa
metodo è una stringa
pensavo di usare call_user_func_array ma e potrebbe anche andare
ma non so come prendere il valore di ritorno
l'alternativa è un reference come parametro ma non sono convinto ...
-- 
http://sourceforge.net/projects/rdmyframework/
http://www.italiasymbian.it

 ma non so come prendere il valore di ritorno
Il valore di ritorno lo catturi così:
$valoreDiRitorno = call_user_func_array($nomeFunzione);
Byez!
-- 
By Davide "Design" Muzzarelli
Newsgroup: it.comp.www.php
Titolo: contare i risultati di una query (odbc)

dopo una select odbc_num_rows() mi restituisce -1, segno di errore, ma
poi andando a consultare i risultati della query, si trovano tutti e
senza probs.
da cosa può dipendere?
ho bisogno di questo numero per calcolare il numero di pagine
necessarie per mostrare tutti i risultati di una query (20 risultati
per pagina)
Voi che metodo usate per fare questo??
allego il listato incriminato.
Grazie.
-----------------------------
// apre la connessione
    $cnx = odbc_connect( $DEF_CATALOG , $CATALOG_USER, $CATALOG_PWD );
    if (!$cnx) { 
        Error_handler( "Error in odbc_connect" , $cnx ); 
    } 
	if ( !defined ($marca)) { die("<a href=\"catalogo.php\">ERRORE: Manca
la marca. <br> clicca qua</a>"); }; //CAMBIARE IN MODO DA MANDARE IL
BROWSER ALLA PAGINA PRINCIPALE DEL CATALOGO
 
	//Serve per controllare l'indice da cui iniziare a mostrare
	if (!$start ) { $start = 0; }; 
 
	// fa la query in cui chiede i nomi dei produttori
	$cur= odbc_exec( $cnx, 
		   "SELECT P.Prod_Desc_Short, P.Prod_Id_Manuf, P.List_Price_Euro,
P.Stock, M.Manufact_Name, M.Manufact_URL, P.Prod_Desc_Long
			FROM Manufactures as M INNER JOIN Products as P ON M.Manufact_Id =
P.Manufact_Id
			WHERE ((M.Manufact_Id)=$marca) AND ((P.Stock) Is Not Null)" ); 
    if (!$cur) { 
        Error_handler( "Error in odbc_exec( no cursor returned ) " ,
$cnx );
    } 
 
	$numRisultati = odbc_num_rows($cur); //numero dei risultati ottenuti.
serve a calcolare il numero delle pagine necessarie
 
	print $numRisultati;
 
-----------------------------
questo print scrive un -1 
saluti 
ancora

 da cosa può dipendere?
Non conosco la risposta perchè non ho mai lavorato con ODBC.
Però, ad esempio, se lavori con ASP viene restituito -1 quando apri il
recordset con un cursore forward only.
Verifica se nella connessione ODBC hai la possibilità di scegliere il tipo
di cursore.
Oppure leggi la documentazione di PHP e vedi in quali situazioni
restituisce -1.
Marco
+-----------------------------+
| Marco <no private messages> |
|                             |
| Software is like sex...     |
| It's better when it's free. |
+-----------------------------+
Newsgroup: it.comp.www.php
Titolo: [forse OT] Traduzione PHP -> ASP

Ciao a tutti, avrei bisogno di un'informazione. Tramite una pagina PHP 
con casella di testo, inserisco appunto nel database del testo. 
Successivamente questo testo viene preso da una pagina ASP. Io vorrei 
che fosse possibile fare 2 cose: innanzitutto eliminare le "/" che 
vengono nel testo, seconda cosa vorrei che quando (nell'inserimento del 
testo) premo invio per andare a capo, anche nella pagina ASP 
effettivamente succeda lo stesso... in pratica, mi serve la traduzione 
in ASP di queste due rige :-)
$testo=stripslashes($testo2)
(dove $testo2 è il testo che viene estratto dal database)
$testodef=nl2br(htmlspecialchars($testo))
(dove $testodef è quello che verrà effettivamente visualizzato)
Grazie!
AUGH!

 e
risponde:
Praticamente non devi nemmeno riscrivere ma solo copiare e incollare.
Ora io non mi intendo di ASP ma prova a controllare tu se le funzioni
di PHP fanno esattamente cio' che ti serve:
http://fr.php.net/manual/en/function.stripslashes.php
http://fr.php.net/manual/en/function.nl2br.php
http://fr.php.net/manual/en/function.htmlspecialchars-decode.php
 (e
simili)
-- 
Scritto da Gordon
E-mail: tbeqba@_EVZHBIVZV_avpu.vg
Newsgroup: it.comp.www.php
Titolo: X utenti Joomla: sessione

Ciao a tutti, ho installato da poco il CMS Joomla e mi chiedevo se qualche 
buon anima mi da una mano per capire come si chiama la sessione che usa per 
il login. Avrei bisogno di loggare gli utenti registrati.
Questo è il codice che utilizzo:
<?php
include "conn.inc.php";
$query = "SELECT * FROM jos_users " .
         "WHERE username = '" . $_SESSION['cosa ci metto qui???'] . "' " .
         "AND password = (PASSWORD('" .
         $_SESSION['cosa ci metto qui???'] . "'))";
$result = mysql_query($query)
  or die(mysql_error());
$row = mysql_fetch_array($result);
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $uri = $_SERVER['REQUEST_URI'];
    $username = $row['username'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $ref = $_SERVER['HTTP_REFERER'];
    $dtime = date('r');
    if($ref == ""){
        $ref = "None";
    }
    if($username == ""){
        $username = "NON AUTENTICATO";
    }
    $entry_line = "$dtime - IP: $ip | Agent: $agent  | URL: $uri | Referrer: 
$ref | Username: $username PROVA2";
    $fp = fopen("logs.txt", "a");
    fputs($fp, $entry_line);
    fputs($fp, "\n");
    fclose($fp);
?>
-- 
Cordiali saluti.
Stefania 

il login. Avrei bisogno di loggare gli utenti registrati.
Sicura che Joomla usi le sessioni e non i cookie? 
Inoltre non ti dovrebbe servire fare esplicitamente la query per
reperire lo username, dovresti averlo già disponibile in una qualche
variabile. Io non conosco il codice di Joomla ma solitamente tutti i
cms sono fatti in questo modo.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Staff di E-Xoopport - 
http://www.e-xoopport.it

 cms sono fatti in questo modo.
CUT
Ho bisogno di generare un file di log che mi tenga traccia di quali pagine 
visita l'utente *registrato
posso farlo ache se il cms usa solo i cookies? Come posso impostare la 
query?

query?
Ti ho già detto che non ti dovrebbe servire fare esplicitamente una
query, dovresti già avere disponibile lo username in una qualche
variabile...prova a vedere ad esempio nel codice della pagina del
profilo personale.


 profilo personale.
CUT
Hai ragione, ce l'ho fatta!
Avevo indicato la tabella sbagliata nella query :-/
Grazie per la tua pazienza! :-)
Stefania
Newsgroup: it.comp.www.php
Titolo: problema PHPSESSID

Salve,
ho un problema da risolvere...
ho realizzato un sito con le sessioni, e all'apertura della pagina i link si
presentano in questo modo:
http://www.dominio.com/pagina.php?PHPSESSID=909ba8a4b844dac1ff9d6ee1614977fd
volevo come fare per eliminare dai link tutto cio' che compare dopo il ?
(ovvero ?PHPSESSID=909ba8a4b844dac1ff9d6ee1614977fd) mantenendo l'utilizzo
delle sessioni e soprattutto  se e' possibile.
Grazie


wrote:

abilita i cookies sul tuo browser.
-- 
http://e-0.org

delle sessioni e soprattutto  se e' possibile.
te la dico meglio: se il tuo browser non accetta i cookies e non
metti, nei link, i riferimenti al session id, allora non potrai
utilizzare le sessioni perche' il server al quale ti colleghi deve
sapere a che sessione ti riferisci.
Quindi, o utilizzi i cookies (e il session id verra' memorizzato in un
cookie) oppure il session id deve essere indicato nell'url.
-- 
http://e-0.org

il mio vero problema di questa questione, č che ho paura possa dare fastidio
ai motori di ricerca per l'indicizzazione delle pagine

la cosa che possa dare fastidio da me intesa è la scritta PHPSESSID seguita
da tutto il resto


Ciao,
se il problema è quello usa la riscrittura con mod_rewrite
http://pro.html.it/articoli/id_219/idcat_28/pro.html
Comunque per una ragione di sicurezza in molti server si disabilita il
passaggio dell'id nell'url con le direttive nel php.ini
 session.use_trans_sid = 0
 session.use_only_cookies = 1
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

ai motori di ricerca per l'indicizzazione delle pagine
non so come si comportano gli spider con i cookies.
-- 
http://e-0.org

Newsgroup: it.comp.www.php
Titolo: Da unixtime a timestamp...

Salve a tutti, ho un problema che non riesco a risolvere: praticamente
converto uno unixtime in un timestamp con la seguente funzione: $timestamp =
date ("YmdHis", $unixtime). Il tutto funziona bene, finchč... dal 13-esimo
loop in poi(uso un loop per calcolare diversi timestamp) la data sballa
all'indietro di 1 ora... Dove sbaglio? La funzione non č precisa? Esiste
un'altro modo per convertire uno unixtime? Penso si tratti di un problema di
arrotondamento ma non riesco a capire dove sbaglio...

 wrote:

ora legale...

> ora legale...
yooooooooooooooooooo =P
Gusher.


Jurgen sei un MITO!!! :))))))
:PPPPP Che pirla che sono: stavo impazzendo!!
Thanx.
Newsgroup: it.comp.www.php
Titolo: Upload in una dir passata

Dovrei uppare un file in una dir passata allo script
(non sono pratico di upload)
$dir=$HTTP_POST_VARS[dir];
$file = $HTTP_POST_FILES['file'];
file_da_uppare destinazione/$dir/$file
come posso fare?
grazie 1000

"Red Owl"  ha scritto

Prova con
<?
copy($file, "$dir/$file/$salva_il _file_con_questo_nome");
?>
attenzione al percorso relativo allo script e all'estensione del file.
Ciao
--
--
CLS
www.vallecaudina.net

Mi correggo: la riga corretta è
<?
copy($file, "$dir/$salva_il _file_con_questo_nome");
?>
--
CLS
www.vallecaudina.net

 file_da_uppare destinazione/$dir/$file
<?
if ($action!="1")
   {
   ?>
   <form enctype="multipart/form-data" method="POST" 
action="<?$PHP_SELF?>?action=1">
    <input type="file" name="nomefile">
    <input type="hidden" name="dir" value="$dir">
    <input type="hidden" name="file" value="$file">
    <input type="submit" value="invia immagine">
   </form>
   <?
   }
   else
   {
    if (is_uploaded_file($nomefile))
      {
       move_uploaded_file($nomefile,"./".$_POST['dir']."/".$_POST['file']);
      }
      else
     {
      print "Non è stato specificato alcun file";
     }
}
?>
spero che funzioni
ciao
Alesi_27
Newsgroup: it.comp.www.php
Titolo: Problema con le sessioni

Ciao,
ho un problema con le sessioni.
Ho letto informazioni sulle sessioni su un manuale, l'esempio era semplice
semplice:
<?
session_start();
$msg = "Sessione avviata";
echo "$msg";
?>
Questo codice dovrebbe avviare la sessione e stampare a video Sessione
avviata.
Purtroppo mi restituisce un errore che riporto di seguito:
Warning: open(/tmp\sess_298658ac8aa69a31127ed4a81ba3c81c, O_RDWR) failed: No
such file or directory (2) in c:\programmi\apache
group\apache\htdocs\prova_session.php on line 2
Sessione avviata.....
Warning: open(/tmp\sess_298658ac8aa69a31127ed4a81ba3c81c, O_RDWR) failed: No
such file or directory (2) in Unknown on line 0
Warning: Failed to write session data (files). Please verify that the
current setting of session.save_path is correct (/tmp) in Unknown on line 0
Ho provato un altro esempio che riporto (sempre preso pari pari da libro):
<?php
session_start();
session_register('conteggio');
$conteggio++;
$msg = "<p>Sei stato qui $conteggio volte. Grazie!</p>";
?>
<html>
<head>
<title>Avvio di una sessione</title>
</head>
<body>
<? echo "$msg"; ?>
</body>
</html>
L'errore è sempre lo stesso. Premetto che ho modificato il PHP.ini al punto
session.save_path. Era /tmp l'ho modificato in /Windows/Temp (il mio S.O. è
Win XP, il php è 4.3.....).
Grazie,
Michele
--------------------------------
Inviato via 
http://usenet.libero.it

 such file or directory (2) in Unknown on line 0
apri il file php.ini
Cerca la sezione Session
Cerca save_path
Sostituisci /tmp con c:\Windows\Temp
Riavvia PHP.
ciao
-- 
Morelli Michel
ZioBudda.net Coordinator
mic...@ziobudda.net


Casomai riavvia Apache! :P
Leo.


Grazie per le risposte, adesso provo e vi faccio sapere.


 Casomai riavvia Apache! :P
Ops...
Stavo programmando in php-cli e cosi' ho detto riavvia php e non apache. 
Scusate.



Avevo intuito che intendevi Apache comunque grazie 1000 a tutti, ho risolto.
Ciao,


Newsgroup: it.comp.www.php
Titolo: [OT?]Feed RSS!!!

Qualcuno mi sa spiegare 'esattamente' cosa sono...ma soprattutto come
funzionano nella pratica? 
Su google ho trovato molte notizie ma molto confuse...niente che mi spieghi
in parole spicciole come 'funzionano'? (No la parte tecnica)
Thanks!!!
-- 
"Don't see some men as 1/2 empty...
 ...See them 1/2 full of shit" - PJ
[Alive IV - Linux Slackware 9.1 Kernel 2.6.3]

RSS (Really Simple Syndication) è un formato di distribuzione dei contenuti,
ed è un dialetto di XML, che consente di ricevere in modo sintetico gli
aggiornamenti del contenuto di un sito.
E' possibile leggere questi feed attraverso specifiche applicazioni chiamate
"news aggregator": tra quelli per Mac consigliatissimo l'ottimo NetNewsWire,
disponibile anche in una versione "lite". Per scaricarlo:
http://ranchero.com/netnewswire/
Una lista completa di News Aggregator si può trovare qui:
http://rss.lockergnome.com/resources/
ciauz


Ciao,
trovi tutto qui :)
http://www.html.it/rss.php
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.www.php
Titolo: cookie e sessioni

Salve
una sessione memorizza info sul server....
ma la tracciabilitï¿œ del relativo client avviene sempre con un cookie?
....
se il browser inibisce i cookie, le sessioni fungono ugualmente o 
bisogna poi propagare via url l'id?
infine qual'e' la vera differenza fra i due approcci?
grazie

infine qual'e' la vera differenza fra i due approcci?
Il SID nell'URL normalmente dura solo per una sessione, i cookie potresti
farli durare per un periodo a tua scelta.
Leonardo
-- 
Enough, enough!  But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!

 O con un SID nell'URL.
Ci sarebbe anche la terza via:
http://en.wikipedia.org/wiki/Web_Storage

 ma la tracciabilità del relativo client avviene sempre con un cookie?
Qui trovi alcune alternative proposte negli anni:
http://en.wikipedia.org/wiki/HTTP_cookie#Alternatives_to_cookies
Ovviamente son da valutare e discriminare caso per caso, alcune sono 
decisamente obsolete.




Sì e no. Quello è un sistema per memorizzare i dati, però rimane il
problema di comunicare le informazioni al sito Web ("Sono io"). Per
quello, il WebStorage di serie non ti aiuta -- anzi.
Il WebStorage migliora la gestione dei cookies RIPORTANDOLA al loro
uso originario, cioè di "biscottini". Mentre oggi la gente ci mette
dentro anche il Signore Gesù: si e' partiti dalla risoluzione dello
schermo, la lingua richiesta, bla bla, ora c'e' chi prova a mettere
nel cookie l'intero profilo utente (parte pubblica), per accelerare
il serving e diminuire il carico di DB sul server. Col risultato di
mandare kilobyte di richieste per _ogni_ oggetto server proprio nel
senso più pesante ai fini della banda - "da client a server" (anche
lato client, la "A" di "ADSL" qui non ci e' amica).
Con il WebStorage e un po' di AJAX invece si riesce ad ottenere una
specie di cookie intelligente.
Uhm, ripensandoci, se è questo che intendevi per terza via... local
storage più autenticazione trasparente in AJAX... allora, si', puo'
funzionare. Se uno ha Javascript attivo ;-)


 Uhm, ripensandoci, se è questo che intendevi per terza via...
Più o meno :)
Come scrivevo nell'altro post di alternative ai cookies ne son state 
proposte tante, proprio a causa della caratteristica di http di essere 
fortemente stateless.
Son tutte alternative sensate ma da valutare a seconda delle esigenze. 
Purtroppo è quasi automatico che essendo soluzioni per aggirare una 
situazione vincolante rischino di sfiorare nell'eccesso opposto. Come 
giustamente spiegavi nel tuo post.
 > Se uno ha Javascript attivo ;-)
Se uno ha JavaScript disabilitato non è improbabile che abbia 
disabilitato anche i cookies ;-)
Di policy aziendali così "estreme" ne ho viste più di una volta...


Concordo, però ormai si può daro come assodato js attivo.A disattivarlo 
ci si taglia fuori una buona parte di internet e vedo che anche i 
paranoici aziendali hanno mollato le briglie sotto questo aspetto.
Ovviamente bisogna ricordarsi di gestire bene il caso in cui js sia 
disabilitato ( noscript e simili corbellerie )
M
Newsgroup: it.comp.www.php
Titolo: Php Zip

Qualcuno ha mai avuto a che fare con la gestione dei file zippati in php?
Io ho installato il package pear Archive_Zip 0.1.1 sul mio php 5.2.1 su 
ubuntu. Tutto sembra essere andato correttamente.
Però la creazione di un archivio zip non dà nessun esito.
<?
include ('Archive/Zip.php');
$obj = new Archive_Zip('prova.zip');
$files = array('esempio.txt');
if ($obj->create($files)) {
     echo 'file creato';
} else {
     echo 'Errore, file zip non creato';
}
?>
Ovviamente il file esempio.txt esiste ed è nella stessa root della pagina.
Consigli su dove andare a guardare per capire il problema???
grazie a chi risponderà!

1: Non ancora hai detto quale è il tuo problema.
2: Perchè il file "esempio.txt" l' hai messo in un array??

ma lo script che messaggio ti manda in output: 'file creato' o
'errore'?
sei sicuro che lo script abbia sia permessi di lettura (sui file che
tu intendi zippare) e di scrittura nella cartella in cui intendi
creare l'archivio?

Newsgroup: it.comp.www.php
Titolo: Immagini ravvicinate.

Salve, non conosco il codice HTML e volo chiedervi qual'è il codice per
mettere du immagini vicino,  esempio:
."<a href=\"index.php\"><img src=\"themes/Red-White-Blue/images/logo.gif\"
align=\"left\" alt=\""._WELCOMETO." $sitename\" border=\"0\"></a></td>\n"
Questo serve a mettere il logo in cima alla pagina, se io accanto a
logo.gif volessi mettere un altra immagine, cosa devo aggiungere?
Grazie.
Ciao.

 align=\"left\" alt=\""._WELCOMETO." $sitename\" border=\"0\">
<img src=\"PATH_ALTRA_IMMAGINE\" alt=\"TESTO_ALTERNATIVO\" border=\"0\">
</a></td>\n"
<img src...> serve a inserire una immagine

 <img src...> serve a inserire una immagine
Si capito ma facendo come sopra le immagini stanno una sopra e l'altra
sotto, io le volevo mettere accanto, sullo stesso piano, è possibile?
Ciao, Grazie.
Henry.

 
mettile in una tabella
<table><tr><td><img src="img1"></td><td><img src="img2"></td></tr></table>
ciao
Alesi_27

 mettile in una tabella
Così funziona!! Grazie ;-))
Ciao. Henry
--
Good Luck!
             \\|//
             (o o)
     oOOo~(_)~oOOo
=-=-=-=-=-=-=--=-=-=-=
 
http://www.henryxp.net
=-=-=-=-=-=-=--=-=-=-=
Newsgroup: it.comp.www.php
Titolo: Piu' query con un solo mysql_query

Salve, avrei l'esigenza di far eseguire ad un comando mysql_query una o 
piu' query immesse da un'utente in una textarea (su una intranet, non 
sono pazzo!), vedo che in phpMyAdmin e' possibile, basta separarle col 
punto e virgola, ma se provo direttamente a fare 
mysql_query($query1;$query2) ottengo un errore di sintassi da MySQL, 
secondo voi e' fatto con un explode o c'e' un workaround piu' elegante?
-- 
Lello Vitello
Pagine bianche per instant messenger:
www.imwhitepages.com

 elegante?
Leggiti il codice di phpMyAdmin. mysql_query NON permette di eseguire
query multiple.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

Newsgroup: it.comp.www.php
Titolo: Difficile: pagine da ricaricare sempre

Tempo fa ho cercato una soluzione per far si' che una pagina sia sempre
ricaricata, anche quando viene chiamata dopo pochi secondi. In genere uso
questi comandi:
header ("Expires: Mon, 26 Jul 1999 05:00:00 GMT");    // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always
modified
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");    // HTTP/1.0
Questo va bene per tutti, ma Netscape 4.7 rifiuta di stampare o salvare il
file, perche' lo considera scaduto.
Secondo voi, cosa dovrei cambiare per evitare questo problema?
Grazie
AS

Un pulsantino javascript che apra una finestra con delle proprietà diverse
negli header per netscape
J
Newsgroup: it.comp.www.php
Titolo: Statistiche

 sapete indicarmi un contatore visite con indicazione approssimativa della 
zona di connessione, che funzioni senza apire dialer popup e altre cose del 
genere?
Oggi ho provato, da ultimo 
getcliky.com
  ma sembra che non funzioni piu :(
-- 
Greg 

greg ha scritto:

Google Analitycs!
Davidecat.

Davidecat ha scritto:

Provato per primo; ma non fa vedere la citta; si ferma allo stato.
-- 
Greg 

Provato per primo; ma non fa vedere la citta; si ferma allo stato.
Considerando che ci sono blocchi di IP ad es italiani che risultano a
in inghilterra, avere la città è utopisticamente impossibile... 
-- 
Stefano Aglietti - StallonIt on IRCnet - ICQ#: 2078431
Email: 
st...@40annibuttati.it
 
ste...@people.it
Sites: 
http://www.40annibuttati.it
 (personal blog)
 
http://www.wordpress-it.it
 (WordPress Italia)

 in inghilterra, avere la città è utopisticamente impossibile...
Ok, mi sta bene Londra al posto di milano, ma manca pure quello
-- 
Greg 

Ok, mi sta bene Londra al posto di milano, ma manca pure quello
Se l'infromazione è inutile (UK invece di IT) anche London e Milano
rimarranno informazioni inutili, poi che ne so Telecom magari ha
gclassi di IP su Roma che usa per Canicatti, Pavia e Treviso, ma
risulteranno Roma, posto sia possibile determinare la città, siccome
sono info spesso ttotalmente sbagliate mi pare ovvio che GA non ne
tenga tracci anche perchè non sono certo esista un DB che associ IP a
città.
Se si vuole tracciare le città si invoglia gli utenti a registrarsi e
fornire pochi dati fra cui la città, una quota sarà fasulla (es molti
non scorreranno la lista ma sceglieranno la prima città dell'elenco,
ma tale dato poi può essere "spalmato" sulle altre città
percentualmente o semplicemente ignorato... hai più info e più
precise.


 città.
Veramente anche GA tiene traccia delle città, non è che non lo faccia 
proprio.
Ma fa un totale sul mese o settimana.
Anzi fa una classifica:
MIlano 7
Roma 5
Invece a me servirebbe come info aggiuntiva a fianco di ogni connessione.
-- 
Greg
Newsgroup: it.comp.www.php
Titolo: blog free

Ciao,
mi chiedevo se è possibile trovare degli script per blog o news che 
possano essere inseriti in una pagina interna di un sito e non 
obbligatoriamente che occupino tutto il sito dalla index come fanno la 
maggior parte dei CMS?
In pratica vorrei mantenere il sito html che ho ma vorrei aggiungere una 
pagina (o un gruppo di pagine, comunque interne) che funzionano da blog.
Grazie.

 mi chiedevo se è possibile trovare degli script per blog o news 
specifico che non ho bisogno di cose complesse, non occorre ad esempio 
che ci sia la possibilità di rispondere ai messaggi.
Poi, data la mia completa ignoranza in materia, se si tratta di script 
semplici da usare sarebbe meglio.

 pagina (o un gruppo di pagine, comunque interne) che funzionano da blog.
Non vedo il problema: crei una cartella nuova e ci metti dentro tutto.
-- 
Stefano

 wrote:


ti ringrazio per l'interesse, cosa ci metto?
sai indicarmi qualche script gratuito?
Un'altra cosa:
i testi inseriti sono visti dai motori di ricerca?
grazie

 i testi inseriti sono visti dai motori di ricerca?
Questo dipende da un sacco di altre cose che non saprei riassumerti in
due parole (principalmente perché non ne so a sufficienza neanche io)
Dai che è facile, prova che danni non ne fai.
-- 
Stefano

i testi inseriti sono visti dai motori di ricerca?
si.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

 Dai che č facile, prova che danni non ne fai.
grazie, sei stato molto gentile.
Ci proverň.

 
http://wordpress.org/
grazie,
sto cercando di capire se quello che tu mi hai consigliato può essere 
inserito all'interno di un sito già esistente o se invece va egli stesso 
a costituire il sito. Sono un po' duro ma mi pare diano per scontata 
questa informazione.
Comunque grazie mille.

 inserito all'interno di un sito già esistente
se  qualcuno ha le mie stesse esigenze può essere interessato a sapere 
che SI, SI PUO' FARE:
---------
If you want to have your WordPress installation in its own subdirectory 
on your web site (e.g. 
http://example.com/blog/
), rename the directory 
wordpress to the name you'd like the subdirectory to have and move or 
upload it to your web server. For example if you want the WordPress 
installation in a subdirectory called "blog", you should rename the 
directory called "wordpress" to "blog" and upload it to the root 
directory of your web server.
---------
Newsgroup: it.comp.www.php
Titolo: smarty, index.tpl dove?

Ciao,
mi sono appena messo a trafficare con Smarty, ma ho qualche dubbio.
Ho creato due file, un index.php con il codice in testa alla pagina del 
crashcourse [0], ma la mia pagina dice "unable to read resource: 
"index.tpl" in /usr/local/php5/lib/php/Smarty.class.php".
Credo che dovrei dire a php di cercare i tpl nella directory locale... 
non so... help :)
thanks
m.
[0]: 
http://smarty.php.net/crashcourse.php

 non so... help :)
puoi mettere i file di smarty in quelle librerie, cosě puoi usarle su
diversi host ed č piů comodo per gli aggiornamenti.

 non so... help :)
Esatto ! Devi dire a Smarty dove cercare i templates.
Leggi il manuale
http://smarty.php.net/manual/it/installing.smarty.basic.php
e guarda l'esempio Esempio 2-9.
Luigi*
*

 e guarda l'esempio Esempio 2-9.
E' vero scusate :\
:) funziona! :)
Newsgroup: it.comp.www.php
Titolo: PHP - Gestione Processi e Monitoraggio Elaborazione

Ciao, ho una domanda che reputo abbastanza ostica. Ho provato a
cercare in giro ma non ci sono soluzioni soddisfacenti o stabili.
L'obiettivo è questo: poter monitorare lo status di elaborazione.
Mi spiego meglio: poniamo l'esempio in cui l'utente si collega alla
pagina e ha a disposizione una tabella con elencate una serie di
possibili elaborazioni. Quando l'utente clicca su uno di questi
bottoni, viene avviato sul server uno script che esegue una serie di
operazioni. Queste operazioni potrebbero anche occupare molto tempo
(anche ore ad esempio). Quello che voglio è che quando viene
richiamato lo script, sia possibile, dalla pagina da cui è stato
richiamato, visualizzare l'avanzamento o in qualche modo poter
interagire con tale processo. Diciamo che dovrebbe venire fuori una
sorta di taskmanager.
1.So che posso usare ajax per effettuare il lancio dello script senza
dover riaggiornare tutta la pagina (un po' come fa google quando si
archivia una mail ad esempio, che lavora in background)
2. Il problema è come comunicare con questo processo una volta avviato
Ve l'avevo detto che era una domanda ostica.
Grazie a tutti in anticipo anche solo per aver letto.
Claudio

 come comunicare con questo processo una volta avviato
Devi ragionare in un ottica di multiprocesso (multitasking, appunto, e lo 
hai gia` intuito chiedendo un task manager).
Avrai (1) un processo che ti mostra la lista dei processi possibili, 
quindi (2) uno per ogni processo, (3) uno che li lancia e infine (4) un 
altro che ti permette di monitorarli. Tradotto in soldoni sono 3+n script 
PHP. :)
Poi dovrai decidere come comunicare lo stato. Siccome e` abbastanza 
rognoso capire dall'esterno lo stato si un processo, la cosa migliore e` 
che sia il processo stesso a comunicare all'esterno il suo stato a 
intervalli regolari (a tempo o quando supera certi "scogli", ecc.).
Puoi salvare questo stato da qualche parte (in una directory, in un 
database) oppure aprire una pipe/fifo tra il processo (2) in background e 
quello che lo ha lanciato (3), o in altri modi (si chiama IPC, 
InterProcess Communicaton).
A quel punto il processo (4) dovra` solo leggere tali dati dal fs o dal 
DB (se hai scelto cosi`) o comunicare (sempre tramite IPC) con il solo 
processo (3), che quindi e` determinato e rintracciabile.
Bye.

 hai gia` intuito chiedendo un task manager).
Secondo me a lui non serve il task managing, lui vuole conoscere lo 
stato, conviene che gli script stessi aggiornino dei file nella webroot 
e che il client legga periodicamente i valori. Valori nulli o file 
assenti indicano che il processo non è in esecuzione.
Questo nell'ottica di semplificare.