Visualizzazione dei risultati da 1 a 6 su 6

Discussione: da javascript a php

  1. #1
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    da javascript a php

    ciao a tutti,ho trovato in rete uno script javascript ,che permette un sistema di votazione a stelle.
    questo è il codice,come posso implementarlo in php affinchè ad esempio il numero tre che corrisponde a tre stelline venga memorizzato in una variabile numerica php e inserita in un db.
    il mio problema è che non conosco affatto javascript....
    cmq posto il codice
    [code]
    <html>
    <head>
    <title>calcola il tuo compenso</title>
    <style type="text/css">
    #STAR_RATING ul
    {
    margin: 0px;
    padding: 0px;
    height: 16px;
    list-style: none;
    }
    #STAR_RATING li
    {
    width: 19px;
    height: 16px;
    display: block;
    float: left;
    background-image: url('vota.gif');
    background-repeat: no-repeat;
    cursor: pointer;
    }
    #STAR_RATING li.on
    {
    background-image: url('votahover.gif');
    }
    #STAR_RATING span.output
    {
    padding: 3px;
    color: #339900;
    font-weight: bold;
    }
    </style>
    <script type="text/javascript">
    // faccio il preload dell'immagine utilizzata per l'effetto rollover
    var staron = new Image(); staron.src = "star-on.gif";

    // Definisco la funzione per la votazione che verrà lanciata
    // all'evento onclick su una delle 5 stelle
    function star_vota(QT)
    {
    // Creo una variabile con l'output da restituire al momento del voto
    var star_output = '<span class="output">Hai votato ' + QT + ' stelle!</span>';
    // Cambio dinamicamente il contenuto del DIV contenitore con il messaggio di
    // conferma di votazione avvenuta
    document.getElementById('STAR_RATING').innerHTML = star_output;
    }

    // Definisco la funzione per "accendere" dinamicamente le stelle
    // unico argomento è il numero di stelle da accendere
    function star_accendi(QT)
    {
    // verifico che esistano i DIV delle stelle
    // se il DIV non esiste significa che si è già votato
    if (document.getElementById('star_1'))
    {
    // Ciclo tutte e 5 i DIV contenenti le stelle
    for (i=1; i<=5; i++)
    {
    // se il div è minore o uguale del numero di stelle da accendere
    // imposto dinamicamente la classe su "on"
    if (i<=QT) document.getElementById('star_' + i).className = 'on';
    // in caso contrario spengo la stella...
    else document.getElementById('star_' + i).className = '';
    }
    }
    }

    // Questa è la funzione che produce l'output.
    // richiede come unico argomento il numero di stelle che si vuole accendere
    // di default (possiamo in questo, ad esempio, modo mostrare il voto ottenuto
    // nelle precedenti votazioni)
    function star(QT)
    {
    // stampo il codice HTML che produce le stelle
    document.write('<div id="STAR_RATING" onmouseout="star_accendi(' + QT + ')""><ul>');
    document.write('<li id="star_1" onclick="star_vota(1)" onmouseover="star_accendi(0); star_accendi(1)">');
    document.write('<li id="star_2" onclick="star_vota(2)" onmouseover="star_accendi(0); star_accendi(2)">');
    document.write('<li id="star_3" onclick="star_vota(3)" onmouseover="star_accendi(0); star_accendi(3)">');
    document.write('<li id="star_4" onclick="star_vota(4)" onmouseover="star_accendi(0); star_accendi(4)">');
    document.write('<li id="star_5" onclick="star_vota(5)" onmouseover="star_accendi(0); star_accendi(5)">');
    document.write('[/list]</div>');
    // accendo le stelle definite in argomento
    star_accendi(QT);
    }

    </script>





    </head>
    <body>
    <script type="text/javascript">star(3);</script>
    </body>
    </html>
    /code]

  2. #2
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ...

    solo per capire se concettualmente è corretto,se in output quel js mi stampa la stringa "hai inserito 3 stelle",io faccio un controllo sulla stringa per verificare se è presente un numero ad esempio da 1 a 5,e poi faccio la insert?

  3. #3

    Re: ...

    Originariamente inviato da moonba
    solo per capire se concettualmente è corretto,se in output quel js mi stampa la stringa "hai inserito 3 stelle",io faccio un controllo sulla stringa per verificare se è presente un numero ad esempio da 1 a 5,e poi faccio la insert?
    ti rispondo in modo generico perchè non ho approfondito bene il tuo codice js

    comunque i casi sono 2:
    - se aggiorni la pagina in qualche modo utilizzi tramite post o get o request il valore passato da un campo
    - se non aggiorni la pagina devi utilizzare ajax o qualche suo derivato che prende il valore anche direttamente da javascript

    ciao

  4. #4
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ..

    posso chiederti un piccolo esempio riguardo a questo:
    - se aggiorni la pagina in qualche modo utilizzi tramite post o get o request il valore passato da un campo

  5. #5

    Re: ..

    Originariamente inviato da moonba
    posso chiederti un piccolo esempio riguardo a questo:
    - se aggiorni la pagina in qualche modo utilizzi tramite post o get o request il valore passato da un campo
    questa è la form

    <form action="pagina_2.php" method="post" name="principale" id="principale">
    <input type="text" name="testo" id="testo" />
    <input type="submit" name="esegui" id="esegui" value="esegui" />
    </form>

    con js aggiorni il campo "testo" e cliccando su esegui passi i valori input nella pagina_2.php

    se fai un
    echo "<pre>".print_r($_REQUEST,true)."</pre>";

    nella stessa pagina vedrai che trovi tutti i campi della form con il loro valore

    da qui fa la tua sql insert prendendo il/i valori che ti servono (nel mio caso solo $_REQUEST['testo'])

    ciao

  6. #6
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    grazie

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.