Visualizzazione risultati 1 fino 8 di 8

Discussione: Come far eseguire pagina.php dopo un click?

  1. #1
    Guest

    Angry Come far eseguire pagina.php dopo un click?

    ciao a tutti...ho un problema che non so se è risolvibile!
    mi spiego...

    sul mio nuovo progetto ho il tastino che twitter mette a disposizione che permette ad un utente di seguirmi su twitter:

    Codice HTML:
    <a href="https://twitter.com/pippo" class="twitter-follow-button" data-show-count="false" data-lang="it" data-size="large">Segui @pippo</a>
    
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>
    Ora...vorrei che quando un utente clicca sul tasto segui @pippo sarà richiamata una funzione php che mi inserisca nel mio database un valore,ad esempio nel campo twitter,il numero 100...

    Ho provato con onclick a richiamare una funzione javascript che mi fà eseguire il codice php per l 'inserimento nel db ma non funziona!

    Come potrei fare?è possibile?
    Grazie anticipatamente a tutti coloro che collaboreranno.
    Ultima modifica di dreadnaut : 21-05-2012 alle ore 21.25.11 Motivo: + tag [html] per il codice

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Per eseguire del codice php, devi richiamare lo script corrispondente sul tuo sito.

    Puoi fare questo facendo "visitare" la pagina all'utente, se puoi permetterti di aggiornare la pagina, oppure in modo asincrono con una chiamata XMLHttpRequest.

    Se cerchi questa parola magica sul forum, troverai diversi thread a riguardo

  3. #3
    Guest

    Predefinito

    Grazie per la risposta...ma non mi è chiaro...
    come faccio a richiamare lo script solo quando l'utente clicca sul tasto?

    Codice HTML:
    <a href="https://twitter.com/pippo" class="twitter-follow-button" data-show-count="false" data-lang="it" data-size="large">Segui @pippo</a>
    
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>
    tipo in questo codice dove inserisco la chiamata allo script?

    ps: posso permettermidi far aggiornare la pagina
    grazie.
    Ultima modifica di dreadnaut : 21-05-2012 alle ore 21.54.11 Motivo: + tag [html], di nuovo

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    nel tag <a> puoi aggiungere l'evento onclick.

    Codice HTML:
    <a onclick="return funzione_javascript_che_fa_il_lavoro();" href="https://twitter.com/pippo" class="twitter-follow-button" data-show-count="false" data-lang="it" data-size="large">Segui @pippo</a>
    Occhio che il javascript di twitter potrebbe però voler gestire il click a modo suo, quindi se aggiorni la pagina rovini l'effetto del "follow".
    Ultima modifica di dreadnaut : 21-05-2012 alle ore 21.57.59

  5. #5
    Guest

    Predefinito

    niente con onclick non va! chissà perchè!

    posto il codice:

    Codice HTML:
    <a onclick="return inserisci()" href="https://twitter.com/pippo" class="twitter-follow-button" data-show-count="false" data-lang="it" data-size="large">Segui @pippo</a>
    lo script invece:
    Codice:
    function inserisci()
    {
    alert("ciao"); //gli ho messo l'alert per vedere se la funzione veniva chiamate
    ....
    .... 
    }
    ovviamente lo script è inserito nell'head...
    dove sbaglio?
    Ultima modifica di dreadnaut : 21-05-2012 alle ore 22.30.20 Motivo: + tag [html] e [code]

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Come scrivevo sopra, è probabile che il bottone di twitter cambi l'onchange del link.

    A questo punto, devi provare ad aggiungere una funzione che gestisca l'evento con addEventListener.

    Qualcosa di questo genere:
    Codice HTML:
    <a id="link-di-twitter" href="https://twitter.com/pippo" class="twitter-follow-button" data-show-count="false" data-lang="it" data-size="large">Segui @pippo</a>
    
    <script type="text/javascript">
    
    function inserisci()
    {
      alert('Funziona?');
    
    
      return false; // questo blocca il passaggio di pagina, toglilo dopo i test
    }
    
    document.getElementById('link-di-twitter').addEventListener('click', inserisci);
    </script>

  7. #7
    Guest

    Predefinito

    ci sono riuscito,ovviamente grazie al tuo grande aiuto... ho aggiunto come hai detto tu l'addeventlistener in questo modo:

    Codice:
    function inserisci()
    {
    	window.open("inserisci.php","","'width=260,height=600 ,toolbar=yes")
    
     // questo blocca il passaggio di pagina, toglilo dopo i test
    }
    
    document.getElementById('link-di-twitter').addEventListener('click', inserisci);
    </script>
    Però con lo script che fornisce twitter non andava,ho dovuto omettere lo script di twitter.
    Per questo motivo è sorto un altro problema,per quanto riguarda il tasto seguimi posso permettermi di eliminare lo script di twitter,ma per quanto riguarda lo share di facebook non posso permettermi di eliminare lo script altrimenti non funziona più,dovrei fare la stessa cosa di spora ed infatti ho fatto cosi:

    Codice HTML:
    <a id="link-di-condividi" href="https://twitter.com/share" class="twitter-share-button" data-via="ArredaCasaStore" data-lang="it">Tweet</a>
    
    <script type="text/javascript">
    !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>
    
    <script type="text/javascript">
    function inserisci2()
    {
    	window.open("inseriscipunti.php","","'width=260,height=600 ,toolbar=yes")
        
    }
    
    document.getElementById('link-di-condividi').addEventListener('click', inserisci2);
    </script>
    ma non funge poichè come detto cè lo script di twitter...
    come potrei fare?

    edit:

    scusami volevo dire lo share di twitter!
    Ultima modifica di dreadnaut : 22-05-2012 alle ore 13.12.25 Motivo: + tag [html]

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Se i javascript di twitter e facebook non sono "amichevoli", c'è poco da fare. Magari qualche soluzione contorta andandone a guardare il codice, ma non ne vale la pena.

Regole di scrittura

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