Newsgroup: it.comp.lang.javascript
Titolo: Java e php richiamato da pagina in htm

Da una pagina In htm richiamo uno script php con questa istruzione:
<!-- INIZIO CODICE CIRCUITO -->
<script type='text/javascript'
src='
http://www.miosito.com/serv-promo/perderepeso.php
'></script>
<!-- FINE CODICE -->
Lo script denominato perderepeso.php è il seguente e provvede a visualizzare
degli annunci presenti in un DB.
Lanciandolo da explorer mi da ( Errori nella visualizzazione della pagina )
con il seguente dettaglio:
Riga 3
Carattere 19
Errore: Costante string senza Terminazione.
Mentre lanciando direttamente loscript in PHP funziona benissimo vengono
visualizati tutti i record.
Dov'è l'errore ?
Allego lo script:
<? include("top_foot.inc.php"); include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file
config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel
file
config.inc.php");
# $query = 'select testoannuncio, id from servpromo where agenzia =
"diete"';
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{
$id=$row['id'];
$annuncio = AddSlashes(substr($row['testoannuncio'],0,130));
print <<<HERE
document.write('<br /><br />');
document.write('<a
href="
http://www.miosito.com/serv-promo/annuncio.php?id=$id
">');
document.write('$annuncio');
document.write('</a><br />');
HERE;
}
mysql_close($db);
?>

 Allego lo script:
[CUT]
Hai allegato la parte server-side, occorrerebbe vedere la parte client-side
(ossia il .js generato)
-- 
"La realtà è un'illusione causata dall'assenza di alcool."
									      A.


Ecco cosa restituisce la console:
unterminated string literal
document.write('Sono Lucia e sono una distributrice incaricata della
societa.\n


 societa.\n
beh, se la stringa č cosě manca  ');
non č che php interpreta il \n? (il tal caso [non so cosa sia php] dovrai
immagino raddoppiare \\n)
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.


Veramente č presente  ');
Se la lunghezza di $annuncio č minore di 40 caratteri tutto funziona bene ma
se č piů lungo si blocca.
Allego lo script in PHP relativo al solo codice javascript:


 se č piů lungo si blocca.
non č invece che "se $annuncio non contiene \n tutto funziona altrimenti si
blocca", come ipotizzavo prima?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 --
Cosa intendi per \n ? Il campo $annuncio contiene del testo e può contenere
spazi e ritornia  a capo ( enter )
Ti allego cosa compare nella sezione script di firebug è questo il
client-side ?
document.write('<br /><br />');
2document.write('<a
href="
http://www.miosito.com/serv-promo/annuncio.php?id=237
">');
3document.write('Sono Lucia e sono una distributrice incaricata HERBALIFE.Se
non sapete o non credete che i.
4');
5document.write('</a><br />');
6document.write('<br /><br />');
7document.write('<a
href="
http://www.miosito.com/serv-promo/annuncio.php?id=262
">');
8document.write('Vitalità,forma,benessere. Vorresti perdere peso senza
troppi sacrifici? Nuovi prodotti a b.
9');
10document.write('</a><br />');

 4');
qua sopra c'è un errore come vedi. come vedi il document.write non è
terminato in modo corretto ma è troncato. Io dico che è perché php
interpreta lo \n, dopodiché devi chiedere nel newsgroup di php se non sai
fare un replace di \n con \\n (immagino basti questo).
Oppure per qualche altro motivo php tronca dopo N caratteri, che ne sò io?
Qua si parla di javascript, non di php. La stringa che arriva al client è
troncata, occorre sistemare la parte server-side per generare il codice
corretto.
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.