Visualizzazione risultati 1 fino 23 di 23

Discussione: php in html...possibile?

  1. #1
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    E' possibile inserire un codice php in una pahina htm? Se creassi un contatore ad esempio, c'è un modo per visualizzarlo in una pagina html magari con un linguaggio JAVA?

  2. #2
    Guest

    Predefinito

    certo puoi inserire codice php in una pagina htm ,ma ricordati pero che poi la pagina la devi rinominare in estensione php

  3. #3
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    Citazione Originalmente inviato da jenyauno
    certo puoi inserire codice php in una pagina htm ,ma ricordati pero che poi la pagina la devi rinominare in estensione php
    Forse non mi sono spiegato bene. La mia domanda era se potevo richiamare un codice php (esempio quello per un contatore) ed inserirlo in una normale pagina htm usando lo JAVA. Premetto che non conosco molto bene lo JAVA, ma ho visto che tutti i siti che regalano contatori o sondaggi per siti, ti danno un codice JAVA da inserire nella pagina, dato che vorrei mettere a disposizione anche io contatori e sondaggi gratuiti dal mio sito, volevo sapere come posso fare. Come posso dare contatori o sondaggi fatti in php a persone che hanno pagine html e che quindi non credo vogliano rinominarle in php.

  4. #4
    Guest

    Predefinito

    Il modo piu' semplice per farlo è usare i Server Side Include (SSI):

    [code:1:9200212e9c]<!--#include virtual="counter.php" -->[/code:1:9200212e9c]


  5. #5
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    sarà pure il più semplice ma non tutti i server lo supportano, dato che devo creare servizi per tutti i webmaster, non posso servirmi del SSI. Capisci?

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da lionalex
    sarà pure il più semplice ma non tutti i server lo supportano, dato che devo creare servizi per tutti i webmaster, non posso servirmi del SSI. Capisci?
    Si certo, ma ormai gli SSI sono supportati quasi ovunque e #include è praticamente innocuo e quindi sempre permesso.
    Se trovo qualcosa con javascript ti faccio sapere cmq

  7. #7
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    grazie per la collaborazione. Comunque mi sembra che l'SSI non prevede l'inclusione di pagine esterne all'FTP da dove si vuole includere quindi non sarebbe utile alla causa.

  8. #8
    Guest

    Predefinito

    Ciao!

    Un'altra soluzione potrebbe essere quella di creare una pagina html statica dove inserire il codice, una pagina php dentro cui inserisci la parte di conteggio utenti e la visualizzazione del contatore.

    Per unire le due puoi utilizzare JavaScript per creare un frame o un frame in line.

    ad esempio mettti questo nel html

    <script language="JavaScript" src="http://URL script java"></script>

    e nel tuo java script

    document.write('<frameset >
    <frame src="http://www.windsmpeg.altervista.org" name="dot_tk_frame_content" scrolling="auto" noresize>
    </frameset>');


    Spero di esserti stato d'aiuto

    Ciao

  9. #9
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Dunque, il linguaggio cui tu ti riferisci lionalex è javascript, non java, sono due cose molto diverse: il primo è uno scripting lato client interpretato dai browser internet, il secondo un vero e proprio linguaggio di programmazione sviluppato in modo particolare (ma non solo) per applicazioni web, ed è sempre "compilato", non inserito in pagine html (sono le famose applet).

    Quindi quello che viene usato nei contatori e in molti altri servizi per richiamare poi script php o altro è javascript.

    Io non son sicuro che con SSI la cosa funzioni così come descritta, se la pagina in cui è richiamato il file non è anch'essa .php (php viene interpretato dal server nella maggior parte dei casi solo se la pagina ha tale estensione) ... e in tal caso per esempio su AV non funzionerebbe lo stesso, perchè SSI su AV funge solo in pagine .shtml . Però non conosco SSI : anche perchè, secondo me, a questo punto tanto vale usare un include direttamente in php.

    Andando oltre ... gli script javascript in questione di solito sono solo un metodo per richiamare un altro script, sempre javascript, con un semplice document.write(<script ...>....</script>): tale script ha però estensione .php, e quindi viene interpretato dal server e gli si possono passare dei parametri. Tale script contiene quindi una serie di istruzioni php che sono poi (ad esempio) il contatore vero e proprio; una volta fatto ciò il risultato è fornito al browser tramite un altro document.write(...) o simili.

    Questo in linea generale è quello che ho capito io provando ad analizzare alcuni di questi script un po' di tempo fa, per pura curiosità visto che poi non ho mai provato a realizzare qualcosa del genere. Spero la spiegazione sia stata abbastanza chiara ... il meccanismo è un po' contorto ma necessario per permettere di inserire un codice del genere anche in una semplice pagina html.

    Un'alternativa a tutto ciò è usare un iframe in cui mettere direttamente una pagina php ... anche se oggigiorno si tende per vari motivi ad evitare i frame di ogni genere.

    Scusate la lunghezza, mi son lasciato prendere :p
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  10. #10
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    Grazie mille per le spiegazioni, ma non ho capito molto bene il funzionamento. Mettiamo caso che ho una pagina php che si chiama PROVA.PHP, ed una html. Come faccio tramite lo javascript ad includere la pagina PROVA.PHP in quella HTML? Potresti scrivermi una bozza di codice? (nella pagina PROVA.PHP dovrebbe trovarsi l'ipotetico contatore)GRAZIE ANCORA PER LA CORTESE ATTENZIONE!!!

  11. #11
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Si, forse è più semplice


    dunque, diciamo di aver la home del nostro sito, index.html o quant'altro, e il codice javascript del contatore che inseriamo in essa dove vogliamo che appaia il contatore, e che sarà ad esempio:
    <script type="txt/javascript" src="http://conuntersite.org/counter.js"></script>


    Ora counter.js sarà semplicemente qualcosa di questo tipo:[code:1:37d220365f]user=window.location.href;
    document.write('<script type="text/javascript" src="http://conuntersite.org/counter.php?user=', user ,'"></script>')[/code:1:37d220365f]In sostanza identifica l'utente in base al suo url e passa il tutto a un'altro script, sempre javasciript ma stavolta con estensione .php


    Quindi arriviamo a counter.php:[code:1:37d220365f]<?php
    qui ci va tutto il macchinario del contatore vero e proprio, che usa la varibile user passata via get ($_GET['user']) per incrementare i conteggi dell'utente giusto;
    il codice avrà una variabile, supponiamo $num, che conterrà il numero delle visite conteggiate.
    ?>

    <?php
    echo 'document.write('.$num.')';
    ?>
    [/code:1:37d220365f]L'ultimo comando serve per stampare a schermo il valore calcolato dalla paret precedente; ovviamente qui viene banalmente stampatio il valore come testo, ma la cosa può essere fatta anche in altro modo, ad esempio condelle immagini per le cifre (ovviamente il codice cambia un po' ... ma il concetto è questo).


    Spero ora sia più chiaro ;)
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  12. #12
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    In pratica è come se usasse un file di transizione che trasforma il codice PHP in JAVASCRIPT. Grazie mille sei stato chiarissimo. Una curiosità, ho visto che alla fine hai scritto ECHO 'DOCUMENT.WRITE ('.$NUM.'); giusto per capire, ma per far stampare le cose a video (per visualizzare varie scritte) devo usare il codice JAVASCRIPT? Se avessi scritto PRINT ($NUM); non andava bene?

  13. #13
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Citazione Originalmente inviato da lionalex
    [...] Una curiosità, ho visto che alla fine hai scritto ECHO 'DOCUMENT.WRITE ('.$NUM.'); giusto per capire, ma per far stampare le cose a video (per visualizzare varie scritte) devo usare il codice JAVASCRIPT? Se avessi scritto PRINT ($NUM); non andava bene?
    No (o almeno non credo, mai provato in realtà): ciò perchè counter.php è inserito nella pagina come script javascript.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  14. #14
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    in pratica devo imparare un po' di javascript....un'altra cosa: nella parte della pagina dove visualizzare il contatore devo scrivere <script type="txt/javascript" src="http://conuntersite.org/counter.js"></script> poi nel file .js devo scrivere user=window.location.href;
    document.write('<script type="text/javascript" src="http://conuntersite.org/counter.php?user=', user ,'"></script>')
    la mia domanda è: non posso passare qualche valore già nel primo script? ad esempio <script type="txt/javascript" src="http://conuntersite.org/counter.js?utente=utente"></script>
    poi come lo dovrei leggere nel file .js? come variabile GET?
    SEI GENTILISSIMO, GRAZIE ANCORA PER L'ATTENZIONE[/b]

  15. #15
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Ancora meglio sarebbe far generare il file .js direttamente sfruttando il PHP, ovvero un documento PHP "dichiara" di restituire un contenuto "text/javascript" (ContentType) e infatti con echo scrivi solo codice javascript.

    Cioè invece di :
    <script src="http://conuntersite.org/counter.js"></script>

    sarà direttamente:
    <script src="http://conuntersite.org/counter.php"></script>

    Meglio no? indubbiamente c'è una richiesta http in meno.

    In questo modo non c'è neanche bisogno di passargli l'href della pagina utente, perché PHP la può leggere come http referrer.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  16. #16
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Prego :D

    Beh, in effetti potresti saltare la prima fase: ovvero non richiami counter.js ma direttamente counter.php in questo modo:
    <script type="text/javascript" src="http://conuntersite.org/counter.php?user=username"></script>
    Dove al posto di username metti lo user assegnato all'utente (in effetti molti counter credo facciano così, fornendo un codice diverso col suo identificativo ad ogni utente).

    Ai file js (javascript puro, senza contenuto php) non puoi passare parametri a quel che ne so.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  17. #17
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    Citazione Originalmente inviato da heracleum
    Ancora meglio sarebbe far generare il file .js direttamente sfruttando il PHP, ovvero un documento PHP "dichiara" di restituire un contenuto "text/javascript" (ContentType) e infatti con echo scrivi solo codice javascript.

    Cioè invece di :
    <script src="http://conuntersite.org/counter.js"></script>

    sarà direttamente:
    <script src="http://conuntersite.org/counter.php"></script>

    Meglio no? indubbiamente c'è una richiesta http in meno.

    In questo modo non c'è neanche bisogno di passargli l'href della pagina utente, perché PHP la può leggere come http referrer.
    Come faccio a dichiarare al documento PHP di restituire un contenuto "text/javascript"? e poi devo sempre scrivere in JAVASCRIPT o il documento posso scriverlo in PHP?

  18. #18
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    - Nella prima parte del codice PHP analizzi i parametri anche solo la "chiave" (username oppure semplicemente il referrer);
    - Vai a cercare nel db per questa "chiave" e ti trovi il suo record, con il conto delle "hits", le visite;
    - Fai l'update con il conteggio incrementato di uno;
    e a questo punto "ti ricordi" che non "sei" una pagina php qualsiasi (che restituisce un output html) ma una risorsa di tipo file javascript e allora fai così:
    [code:1:2bd13ccca5]
    Header("Content-type: Text/Javascript");
    echo "document.write($conteggio);" ;
    [/code:1:2bd13ccca5]
    e fine.
    Dunque il php dichiara di restituire contenuto text/javascript e "adempie alla promessa fatta" cioè restituisce il codice javascript che scrive nel body il numero delle visite $conteggio.
    Ovviamente parlo di un contatore non-immagine.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  19. #19
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    e se volessi inserireun'immagine devo sempre tener conto del codice javascript giusto?! Qualsiasi cosa voglia scrivere devo farlo in javascript?!

  20. #20
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    mmm non esattamente.. o meglio potresti "porcheggiare" qualcosetta facendo scrivere nel body una serie di immaginine, ciascuna rappresentante una cifra del contatore document.write("<img src=.. ma è uno spreco considerando la potenzialità di PHP.
    In questo caso invece del tag SCRIPT con un file php nel SRC, potresti usare direttamente un unico tag IMG dove allo stesso modo indichi che il SRC è sempre un file php. Ovviamente questo dovrà resituire un Content Type adatto (PNG, JPEG, etc.. GIF non più). Tutto questo è permesso utilizzando la libreria grafica GD, supportata da Altervista per fortuna!

    Un esempio tipico di contatore grafico lo trovi qui:
    http://www.zend.com/zend/tut/counter.php


    Certo è tutto un po' più laborioso rispetto alla cifretta scritta in testo semplice (che io preferisco sinceramente).
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  21. #21
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    Ok,ho visto le istruzioni che mi hai dato,troppo complicato per i miei gusti.Grazie mille. Volevo chiedere se però era possibile col metodo che mi hai detto in precedenza (quelo del document.write) impostare lo stile dei caratteri o inserire una tabella dove poter inserire nella cella superiore il contatore, ed in quella inferiore la pubblicità per il mio sito. Come si crea un eventuale collegamento dal contatore al mio sito?

  22. #22
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    document.write() vine usato per scrivere nel documento html, è come se applicasse delle modifiche alla pagina in cui è inserito, puoi mandare qualsiasi tag html ed è come se fosse presentre nella pagina nel punto in cu è richiamato lo script.

    es.:
    document.write('<p><a href="http://miosito.altervista.org/"><img src="http://miosito.altervista.org/logo.jpg" alt="logo">Il mio sito</a></p>')
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  23. #23
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Beh in effetti creare un contatore grafico è più impegnativo, comunque ti avevo linkato quell'esempio perché è praticamente già tutto fatto.
    Per un contatore comunque a mio parere basta un numero di semplice testo.
    Però sappi che con la libreria grafica (GD) puoi fare un sacco di cose sfiziose...


    ehehe
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •