Newsgroup: it.comp.lang.javascript
Titolo: piccola perplessità...

Ciao a tutti,
non riesco a risolvere un problema apparentemente banale.
Se ho ad esempio qualcosa del tipo:
A.PHP:
<script language="javascript" type="text/javascript" src="B.js"></script>
B.JS
document.write ('pippo');
eseguendo A.PHP viene visualizzata la stringa "pippo" contenuta in B.JS, e 
fin qui tutto bene.
Non capisco perchè, avendo invece qualcosa del tipo:
C.PHP:
<script language="javascript" type="text/php" src="D.php?id=1"></script>
e:
D.PHP:
<?php
   $id = $_GET["id"]
   print $id;
 ?>
invece non viene eseguito? teoricamente dovrebbe funzionare in pratica no, 
probabilmente sbaglio io, chi potrebbe aiutarmi a capire dove?
Grazie in anticipo, Cooper.
PS: ho provato a togliere anche: language="javascript" ma nulla.
-- 
[web:]  
http://www.blueware.it
 (aggiornato!)
[icq:]  146 781 935
[msn:] 
coo...@blueware.it
 

 invece non viene eseguito? teoricamente dovrebbe funzionare in
Che non funzioni č abbastanza logico... intanto nel type non devi mettere
"text/php" che non esiste (il php č un linguaggio server-side), poi quello
che hai scritto tu equivale a:
<script language="javascript">
1
</script>
che non ha senso; se vuoi una cosa funzionante nella pagina D.PHP devi
scrivere
<? $id=$_GET["id"]>
document.write(<?print $id>);
-- 
Dimux
http://www.128byte.com
Scopri gli errori e i segreti dei tuoi film, album e programmi
preferiti!

 PS: ho provato a togliere anche: language="javascript" ma nulla.
Secondo me non funziona perchè in c.php viaene cercato il file
"D.php?id=1" e non "D.php" passando come parametro "id=1".
Ciao Luisa


A me continua a non funzionare... (anche corregendo alcuni errori (quali la 
chiusura del tag <? con ?>
Cmq grazie per la risposta, attendo ulteriori riscontri.
Cooper.


 Su DW MX fra i valori del type di SCRIPT è incluso anche TEXT/PHP.
Sì, ma devi avere un interprete php sul client...
Se usi text/javascript devi nella pagina php generare lato client un
document.write(...); io non conosco minimamente php, sarà però un qualcosa
del tipo
<?php
   $id = $_GET["id"]
   print "document.write('"+$id+"');"
 ?>
Perché non fai tutto lato server? Non capisco l'utilità di usare questa
scomodissima logica
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.
--

 (anche corregendo alcuni errori 
Fai un passo indietro, allora.
Scrivi un file php inserendo solo queste righe:
<?php
	echo "alert(0);";
?>
Poi richiamalo in una pagina html *vuota* nel modo che ti ho detto
poc'anzi, ovvero:
<script type="text/javascript" src="myfile.php"></script>
Se ti viene visualizzato l'alert, allora sei sicuro che le basi sono
funzionanti: ovvero che il file php viene richiamato e correttamente
interpretato; e puoi proseguire.
Altrimenti, il tuo problema e' a monte.
-- 
ZER0://coder.gfxer.web-designer/
~ La vita e' una tempesta, ma prenderla nel culo e' un lampo.
(B. Grillo)

 scomodissima logica
Hai presente i contatori.. E cose cosi'?
Funzionano tramite quel tipo di logica.
-- 
ZER0://coder.gfxer.web-designer/
~ Una mente perversa e' un peccato sprecarla.
(A dirty mind is a terrible thing to waste)

 Funzionano tramite quel tipo di logica.
Ah è vero, a quelli non avevo pensato...



Ok grazie, quindi non ho alternative, DEVO necessariamente riscrivere parte 
di questo codice (quello da visualizzare) inglobandolo all'interno di 
document.write?
Altre soluzioni da suggerire se ci sono piů flessibili che evitano questo 
passaggio? (anche non usando <SCRIPT></SCRIPT> ne usando 
<IFRAMES></IFRAMES>?
Grazie mille ancora :) Cooper.


 <IFRAMES></IFRAMES>?
Solo usando del codice di markup HTML, non puoi fare include di altre
pagine, se e' questo che chiedi.
Lo devi fare server side.
Oppure, scrivere del codice XHTML valido e limitare cio' che stai
sviluppando alle ultime versioni di IE e dei browser gecko-based (Mozilla,
Firefox, Netscape).
-- 
ZER0://coder.gfxer.web-designer/
~ You don't have to be crazy to be a webmaster. But it helps.


Provo con un esempio concreto,
In una pagina iniziale (es: A.HTML) che può trovarsi in qualsiasi sito web, 
abbiamo la seguente riga:
<script src="miofile.php?id=1"></script>
la pagina miofile.php è invece cosi composta:
<?php
   $off  = 1;
   echo "document.write ('".$off."');";
  ?>
se la eseguo tutto funziona correttamente. Ora al posto di 1 che assegno 
alla variabile $off, assegnassi una stringa es: $offline, quindi:
<?php
   $off  = $offline;
   echo "document.write ('".$off."');";
  ?>
con:
    $offline.= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\"> \n";
    $offline.= "<html> \n";
    $offline.= "  <style type=\"text/css\">  \n";
    $offline.= "   body { padding: 0px; margin: 20px; background-color: 
#D6F4FF; }  \n";
    $offline.= "   .table {  height: 100%; width: 100%; border: 2px solid 
#0000FF; background-color: #EEEEEE; }  \n";
    $offline.= "  .Stile1 { font-family: Verdana, Arial, Helvetica, 
sans-serif; font-weight: bold; font-size: 18px; color: #0000FF; }  \n";
    $offline.= "  </style> \n";
    $offline.= "  <body> \n";
    $offline.= "    \n";
    $offline.= "    <table width=\"100%\"  border=\"0\" cellspacing=\"0\" 
cellpadding=\"0\" class=\"table\">  \n";
    $offline.= "      <tr>  \n";
    $offline.= "        <td align=\"center\" valign=\"middle\">  \n";
    $offline.= "          <table width=\"100%\"  border=\"0\" 
align=\"center\" cellpadding=\"0\" cellspacing=\"10\">  \n";
    $offline.= "            <tr>  \n";
    $offline.= "              <td width=\"114\" height=\"104\" 
align=\"center\" valign=\"middle\"><img src=\"images/misc/warning.gif\" 
alt=\"\" width=\"114\" height=\"104\"></td>  \n";
    $offline.= "              <td align=\"center\" valign=\"middle\"><span 
class=\"Stile1\">Servizio momentaneamente non disponibile!<br>Riprovare 
pi&ugrave; tardi. </span></td>  \n";
    $offline.= "            </tr> \n";
    $offline.= "          </table> \n";
    $offline.= "        </td> \n";
    $offline.= "      </tr> \n";
    $offline.= "    </table> \n";
    $offline.= "  </body> \n";
    $offline.= "</html> \n";
ecco che non funziona più :( eppure la variabile $offline contiene una 
stringa valida, e sintatticamente corretta (almeno cosi mi sembra, dove 
sbaglio?
Grazie ancora,


 stringa valida, e sintatticamente corretta 
A livello php forse, ma non e' detto che lo sia anche in JS. Ricordati che
il testo lo devi gestire come stringa due volte: sia server che client
side. La prima volta fai l'escape dei caratteri per il server, ma devi
anche star attento che ti faccia l'escape dei caratteri lato client.
Un esempio concreto? Il codice di "a capo" che hai scritto. L'hai
"escapato" per PHP ma non per JS.
-- 
ZER0://coder.gfxer.web-designer/
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio' che
non sempre lo e'" (Paul Klee)


E' vero hai ragione.
Cooper.
PS: Ho provato sembra di aver risolto :) in pratica non viene generata una 
pagina nuova ma solo accodata a quella esistente.


 pagina nuova ma solo accodata a quella esistente.
Perfetto.
-- 
ZER0://coder.gfxer.web-designer/
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)