Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    143

    codice PHP in document.write(...): come può funzionare?

    Ciao a tutti, ho da poco intrapreso la strada di javascript per un mio progetto e mi sono imbattuto in una guida di google su come implementare un Multivariate Test in una pagina con contenuti dinamici.

    Nell'esempio ho notato una cosa che non riesco a spiegarmi, intanto posto il codice.

    codice:
    <script> 
      var v = utmx(‘variation-content’, ‘Section1’); 
      if (v) { document.write( 
                   v.replace(“%%product_name%%”, “<? print $product_name ?>”).  
                      replace(“%%product_price%%”, “<? print $product_price ?>”). 
                     replace(“%%product_id%%”, “<? print $product_id ?>”));
     document.write(“</nosc” + “ript>”); } 
    </script>
    Il mio grosso problema è: se javascript è client side e php è server side, vuol dire che tutto l'output del metodo document.write è interpretato dal browser. Allora che senso ha mettere del codice php che invece è un linguaggio server side e quindi gestito lato server? Come può funzionare?

    Grazie
    Alle

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non centra nulla in questo caso il server e il client difatti se inserisci una variabile valorizzata in php potrai benissimo stamparla in un document.write esmpio ho usa asp (non conosco il php) ma il concetto non cambia, per me l'errore sta nel voler far fare dei replace nel document.write, prova a fare cosi:
    codice:
    <script> 
      var v = utmx(‘variation-content’, ‘Section1’); 
      if (v) { 
    var replaname =  v.replace(“%%product_name%%”, “<? print $product_name ?>”)
    var replaprezzo = v.replace(“%%product_price%%”, “<? print $product_price ?>”)
    var replaid = v.replace(“%%product_id%%”, “<? print $product_id ?>”)
    document.write(replaname+replaprezzo+replaid);
    document.write(“</nosc” + “ript>”); } 
    </script>
    anche su utmx(‘variation-content’, ‘Section1’); ho qualche dubbio ma non sapendo cos'è potrei sbagliarmi, nel caso non funzioni ancora inserisci degli alert nello script per vedere cosa stampa.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    143
    si tratta del section-script di website optimizer. Effettivamente ho spiegato un po' male la cosa.

    Comunque penso di aver fatto un errore concettuale:
    le variabili che sono dentro al document.write vengono prima analizzate dal motore lato server che assegna loro un valore, poi tutto viene spedito al browser che analizzerà il codice javascript e visualizzerà l'output della funzione document.write che a questo punto non sarà più una variabile ma una normalissima stringa.

    E' così, vero?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da alesdario
    si tratta del section-script di website optimizer. Effettivamente ho spiegato un po' male la cosa.

    Comunque penso di aver fatto un errore concettuale:
    le variabili che sono dentro al document.write vengono prima analizzate dal motore lato server che assegna loro un valore, poi tutto viene spedito al browser che analizzerà il codice javascript e visualizzerà l'output della funzione document.write che a questo punto non sarà più una variabile ma una normalissima stringa.

    E' così, vero?
    Direi di si, normalmente un ouput è una stringa, se per stringa intendi un dato testuale, ma non è una certezza assoluta.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    143
    Direi di si, normalmente un ouput è una stringa, se per stringa intendi un dato testuale, ma non è una certezza assoluta.
    Si, per stringa intendo dato testuale. Perchè non è una certezza assoluta?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.