Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Come scambiare i dati di più form nelle pagine PHP

    Salve a tutti, premetto che non so molto sul PHP perché non è tanto che ho cominciato ad utilizzarlo

    Io sto creando un sito principalmente in PHP e ho un problema con una pagina che dovrebbe essere tipo una pagina dei downloads.

    Nella pagina ci sono dei pulsanti con scritto dentro il nome, la descrizione e l'icona dei miei programmi (per farli ho usato i tag html :<button></button>) e quando li premi ti dovrebbero reindirizzare alla pagina 'Nome del programma'.
    Ho subito messo i button dentro un form ciascuno quindi il codice finito veniva:


    Codice PHP:
    <html>
    <body>
    <form action="download.php" method="GET">
    <button type="submit" name="programma_1" value="<?php echo $nomeprogramma?>"> //il value è php perché i programmi sono dinamici (non so se si dice così) quindi si aggiornano ogni volta che si apre la pagina//
    Nome del programma
    Descrizione
    Link all'immagine
    </button>
    </form>
    <form action="download.php" method="GET">
    <button type="submit" name="programma_1" value="<?php echo $nomeprogramma?>">
    Nome del programma
    Descrizione
    Link all'immagine
    </button>
    </form>

    la mia domanda è: come faccio a ricevere nella pagina download.php il nome del programma inserito nel tasto che ho premuto?
    I "name" dei button devono essere uguali per motivi che non sto a spiegare..

    Ringrazio in anticipo
    Ultima modifica di 2000Diego; 28-10-2014 a 21:55

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Usando $_GET['programma_1'] direi.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Devo essermi spiegato male..


    Provo a scrivere quello che dovrebbe succedere e quello che realmente accade:

    Io premo sul primo button,
    Mi apre download.php,
    la home invia a download.php il value del primo pulsante (quello che ho premuto),
    download.php prende i dati spediti e li stampa sullo schermo.
    Io premo il secondo button,
    Mi apre download.php,
    la home invia a download.php il value del secondo pulsante (quello che ho premuto questa volta),
    download.php prende i dati inviati e li stampa su schermo.

    In realtà succede che se premo il secondo button mi viene stampato su schermo il value del primo pulsante.

    adesso scrivo il codice delle due pagine in modo semplice:

    Pagina Home.html
    codice HTML:
    <html>
    <body>
         <form action="Download.php" method="GET">
              <input type="submit" name="button1" value="Pulsante 1" />
              <input type="submit" name="button2" value="Pulsante 2" />
         </form>
    </body>
    </html>
    Pagina Download.php
    Codice PHP:
    <?php
         
    if(isset($_GET['button1'])){
              echo 
    $_GET['button1'];
         }elseif(isset(
    $_GET['button2'])){
              echo 
    $_GET['button2'];
         }
    ?>

    Io vorrei che premendo il primo pulsante appaia il value del primo pulsante e che premendo il secondo pulsante appaia il value del secondo ma con questo codice mi appare sempre il value del primo anche se premo il secondo tasto

    Dove sbaglio??
    Ultima modifica di 2000Diego; 29-10-2014 a 14:42

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Da me il tuo codice funziona benissimo.

    Quando premo Pulsante 1 ottengo => Array ( [button1] => Pulsante 1 ) Pulsante 1

    Quando premo Pulsante 2 ottengo => Array ( [button2] => Pulsante 2 ) Pulsante 2

    Codice PHP:
    <?php
    print_r
    ($_GET);
        if(isset(
    $_GET['button1'])){
              echo 
    $_GET['button1'];
         }elseif(isset(
    $_GET['button2'])){
              echo 
    $_GET['button2'];
         }
    ?>
    Edit :
    URL Pulsante 1=> http://127.0.0.1:8080/tests/download...on1=Pulsante+1
    URL Pulsante 2=> http://127.0.0.1:8080/tests/download...on2=Pulsante+2
    Ultima modifica di badaze; 29-10-2014 a 19:30
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Perdona la mia ignoranza ma cosa significa
    Codice PHP:
     print_r($_GET); 
    che hai scritto all'inizio? Forse è quello perché io non l'ho scritto...

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    print_r consente di visualizzare il contenuto di un array e si usa prevalentemente per debuggare. $_GET è infatti un array. Nel contesto serve solo per vedere quali sono i valori passati alla pagina download.php.
    Quindi print_r non c'entra. L'ho aggiunto solo per vedere il valore si $_GET null'altro.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Non vorrei sbagliare, ma se fai un form per ogni pulsante eusi lo stesso name per ogni submit (cambi solo il value) eviti di complicarti troppo la vita e puoi mettere quanti button vuoi

  8. #8
    Non so come mai ma a me non va ancora.. Comunque ho fatto in un altro modo: uso i cookie per trasferire i dati.
    Grazie comunque a tutti quelli che mi hanno risposto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.