Visualizzazione risultati 1 fino 7 di 7

Discussione: Inner HTML in PHP

  1. #1
    Guest

    Predefinito Inner HTML in PHP

    Ciao a tutti...
    io ho questo codice che modifica dinamicamente l'immagine contenuta nel div:
    <?php

    function incrementa($j) {
    ++$j;
    return $j;
    }

    function decrementa($j) {
    --$j;
    return $j;
    }
    //Dichiarazione dell'elenco
    $immagini=glob('imm/*');
    echo"<div id='foto' class='polaroid'>";
    $i=0;
    echo "<img src='".$immagini[$i]."'>";
    echo"</div>";
    ?>
    <button OnClick="document.getElementById('foto').innerHTML ='<?php $i=incrementa($i); echo"<img src=".$immagini[$i].">";?>'">successiva</button>
    <button OnClick="document.getElementById('foto').innerHTML ='<?php $i=decrementa($i); echo"<img src=".$immagini[$i].">";?>'">precedente</button>

    il problema stà nel fatto che l'incremento della variabile i avviene solo la prima volta che si preme il bottone e poi più (nel senso che la variabile i è inizializzata a 0, premendo la prima volta il bottone i diventa 1, ma premendo una seconda volta il bottone il valore di i rimane 1 e non diventa 2)...
    Come faccio a far sì che la variabile i venga incrementata più volte?
    grazie a tutti per l'aiuto..

  2. #2
    Guest

    Predefinito

    Non ho ben capito cosa tu voglia fare ma per modificare il documento non devi usare PHP (che agisce sul server, quindi una volta che la pagina è stata elaborata quella rimane) ma Javascript.

  3. #3
    Guest

    Predefinito

    io vorrei che al secondo click sul bottone la variabile i assumesse il valore 2...invece rimane sempre 1...

  4. #4
    Guest

    Predefinito

    non ho capito molto bene il tuo suggerimento...potresti adattare il mio codice nel senso in cui intendi tu? oppure fornire una soluzione in javascript?
    grazie mille...

  5. #5
    Guest

    Predefinito

    PHP è un liguaggio lato server (il codice viene elaborato per creare dinamicamente una pagina statica).

    Una volta inviato il file elaborado al browser questo viene mostrato.

    Qualunque modifica a questo va fatta con linguaggi lato client, quale è Javascript. Solo lato client puoi modificare il documento già aperto dal browser.

    Quindi non si tratta di adattare il codice. Tu ha usato PHP per tentare di modificare una pagina già inviata al browser.

    Fornirti una soluzione già pronta? ... mmm per principio sono contrario alla pappa pronta.

    Prova tu, e se hai qualche difficoltà ne riparliamo.
    La pappa pronta non aiuta te (che non impari nulla), ne altri (e quindi vanificherebbe il forum che esiste prorpio per far crescere la comunità).

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    C'è un errore di fondo nel tuo codice: stai tentando di condividere variabili tra PHP e JavaScript. La cosa non è possibile perché il primo lavora solo sul server, il secondo solo sul tuo PC.

    Con PHP puoi al più inizializzare le variabili che poi, però, dovrai gestire esclusivamente tramite JavaScript. Per farlo non devi far altro che stampare, combinando HTML e PHP, il codice JavaScript che poi ti servirà. Questo potrebbe essere un esempio (ti richiede che i file immagine siano tutti in una cartella "imm" e che abbiano nome del tipo imgXXX.jpg, con XXX numerico):
    Codice PHP:
    <script type="text/javascript">
    var idx = <?php echo $indice_iniziale; ?>;

    function incrementa () { idx++; }
    function decrementa () { idx--; }
    </script>
    ...
    <div class="polaroid">
    <img id="foto" src="imm/img<?php echo $indice_iniziale; ?>.jpg" width="..." height="..." alt="..." />
    </div>
    <input type="button" value="Precedente" onclick="decrementa(); document.getElementById('foto').src='imm/img'+idx+'.jpg';" />
    <input type="button" value="Successiva" onclick="incrementa(); document.getElementById('foto').src='imm/img'+idx+'.jpg';" />
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    Grazie mille per il suggerimento...ora ho capito di più come funzionano le cose...

Regole di scrittura

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