Passaggio variabile tra 2 file php

Discussione in 'PHP' iniziata da Jaco_, 19 Giugno 2019.

  1. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Buongiorno a tutti.
    Come dice il titolo devo passare una variabile da un file a un altro.
    Questo è il codice:
    PHP:
    <?php
    $username 
    "root";
    $password "";
    $database "esercizi";

    $v = [];
    $v1 = [];
    $v2 = [];
    $v3 = [];
    $v4 = [];
    $v5 = [];
    $v6 = [];
    $v7 = [];
    $i=0;
    $j=0;
     
    $conn mysqli_connect("localhost"$username$password$database);
    $query="SELECT * FROM progetto";



    $risultati=mysqli_query($conn$query);

    $num=mysqli_num_rows($risultati);

    mysqli_close($conn);

         while(
    $row mysqli_fetch_assoc($risultati)) {
                if(
    $row["Elimina"] != 'D'){
                    
    $v[$i] = $row["Nome"];
                    
    $v1[$i] = $row["Cognome"];
                    
    $v2[$i] = $row["Data"];
                    
    $v3[$i] = $row["Codice"];
                    
    $v4[$i] = $row["Intervento"];
                    
    $v5[$i] = $row["Dintervento"];
                    
    $v6[$i] = $row["Sala"];
                    
    $v7[$i] = $j;
                }

    ?>
    <tr align="center" bgcolor="FFFF35">
    <td><?php echo $i."." ?></td>
    <td><?php echo $v[$i?></td>
    <td><?php echo $v1[$i?></td>
    <td><?php echo $v2[$i?></td>
    <td><?php echo $v3[$i?></td>
    <td><?php echo $v4[$i?></td>
    <td><?php echo $v5[$i?></td>
    <td><?php echo $v6[$i?></td>
    <td><a href='Modifica.php?cat=1'>Categoria Jeans</a></td>

       
        <?php
        $i
    ++;
        
    $j++;
        }
        
    ?>
       
        </table>
    Consigli?
     
  2. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    intendi da uno script al successivo ?
    in caso affermativo usa $_SESSION esiste apposta
     
  3. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    No devo passare il valore di una variabile dal file primo.php al file secondo.php
     
  4. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    usa $_SESSION esiste apposta
     
  5. Tommy03

    Tommy03 Nuovo Utente

    Registrato:
    6 Giugno 2018
    Messaggi:
    48
    Mi Piace Ricevuti:
    5
    Punteggio:
    8
    Sesso:
    Maschio
    Non sono sicuro di aver capito bene, però se si tratta di un form potresti fare cosi:
    PHP:
    //primo file
    <input type="hidden" name="campo" value="<?php echo $variabile;?>">
    //secondo file
    $valore_recuperato = $_POST['campo'];
     
  6. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Provo a spiegarmi meglio.
    Ho creato una tabella html e all'interno di questa tabella, quando viene inserito un nuovo dato(tramite un altra pagina php), viene aggiunta in automatico un a nuova riga.
    In una colonna di questa tabella ci sono dei pulsanti(1 per riga, e tutti facenti la stessa cosa). Io ho bisogno che quando l'utente prema uno di questi pulsanti venga salvato il valore della riga in cui si trova il pulsante, e che questo valore venga inviato ad un altra pagina.
     
  7. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    proprio tutta un'altra cosa ….
    per favore pubblica il codice con cui vengono create le righe ed i relativi bottoni
    soprattutto metti in evidenza se hai degli "ID" che identificano il contenuto della riga ma non sono presenti nella riga stessa
    probabilmente vuoi fare qualcosa di simile alla figura
    upload_2019-6-20_15-49-31.png
     
  8. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Ecco il codice.
    PHP:
    <html>
    <head>
    <title>Output</title>
    <style>
    table{
    border-collapse:collapse;
    }
    .btn {
      background-color: FFFF35; /* Blue background */
      border: none; /* Remove borders */
      color: black; /* White text */
      padding: 12px 16px; /* Some padding */
      font-size: 16px; /* Set a font size */
      cursor: pointer; /* Mouse pointer on hover */
    }
    </style>
    </head>
    <script>

    </script>

    </script>
    <body background="Sfondo.png">
    <h1 align="center">STAMPA</h1>
    <table border="5" align="center" width="1200" height="800">
    <tr>
    <b>
    <td align="center" bgcolor="orange"><b>N°riga</td><td align="center" bgcolor="orange"><b>Nome</td><td align="center" bgcolor="orange"><b>Cognome</td><td align="center" bgcolor="orange"><b>Data</td><td align="center" bgcolor="orange"><b>Codice</td><td align="center" bgcolor="orange"><b>Data intervento</td><td align="center" bgcolor="orange"><b>Tipo intervento</td><td align="center" bgcolor="orange"><b>Sala utilizzata</td><td align="center" bgcolor="orange"><b>Modifica/Elimina</td>
    </tr>
    <?php
    session_start
    ();
    $username "root";
    $password "";
    $database "esercizi";

    $v = [];
    $v1 = [];
    $v2 = [];
    $v3 = [];
    $v4 = [];
    $v5 = [];
    $v6 = [];
    $v7 = [];
    $i=0;
    $j=0;
    $f=0;
     
    $conn mysqli_connect("localhost"$username$password$database);

    $query="SELECT * FROM progetto";

    $risultati=mysqli_query($conn$query);

    $num=mysqli_num_rows($risultati);

    mysqli_close($conn);

        
    //creazione tabella interattiva
        
    while($row mysqli_fetch_assoc($risultati)) {
                if(
    $row["Elimina"] != 'D'){
                    
    $v[$i] = $row["Nome"];
                    
    $v1[$i] = $row["Cognome"];
                    
    $v2[$i] = $row["Data"];
                    
    $v3[$i] = $row["Codice"];
                    
    $v4[$i] = $row["Intervento"];
                    
    $v5[$i] = $row["Dintervento"];
                    
    $v6[$i] = $row["Sala"];
                }

    ?>
    <tr align="center" bgcolor="FFFF35">
    <td><?php echo $i."." ?></td>
    <td><?php echo $v[$i?></td>
    <td><?php echo $v1[$i?></td>
    <td><?php echo $v2[$i?></td>
    <td><?php echo $v3[$i?></td>
    <td><?php echo $v4[$i?></td>
    <td><?php echo $v5[$i?></td>
    <td><?php echo $v6[$i?></td>
    <td><?php // passaggio variabile all'altro file
    ?>
    <?php

        $i
    ++;
    }
    ?>
    </td>
        </table>
    </body>
    </html>
     
  9. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    puoi inserire una colonna "<td>….</td>" come riportata nell'esempio
    PHP:
    <?php
    $i 
    1;
    $vx[$i] = "codiceDaPassare";
    ?>
    <a href='script.php?nomeVariabile=<?php echo $vx[$i?>'>[testoDaVisualizzare]</a>
    con questo effetto,
    upload_2019-6-21_9-20-24.png
    che cliccandolo richiama lo script successivo passando la variabile
    upload_2019-6-21_9-22-3.png
    nello script successivo trovi la variabile in $_GET['nomeVariabile']
     
    Ultima modifica: 21 Giugno 2019
  10. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Perfetto funziona.
    Adesso però ho un problema nel secondo file; dopo che il dato viene ricevuto l'utente va a modificare dei campi e poi preme un pulsante per confermare, ma quando lo preme il dato che era stato passato precedentemente viene perso e il programma da errore
    Allego il codice; idee?
    PHP:
    <html>
    <head>
    <title>Modifica</title>
    <style>
    table td {
        position: relative;
        text-align: center;
        border: 2px solid yellow;
        padding: 0;
        margin: 0;
    }
    ::-webkit-input-placeholder {
       text-align: center;
    }
    .sas{
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }
    .sos{
        width:150;
        height:80;
    }
    </style>
    </head>
    <body background="Sfondo.png">
    <h1 align="center">
    MODIFICA
    </h1>
    <?php
    $j 
    $_GET['nomeVariabile'];
    echo 
    $j;
    $servername "localhost";
    $username "root";
    $password "";
    $dbname "esercizi";
    $v = [];
    $v1 = [];
    $v2 = [];
    $v4 = [];
    $v3 = [];
    $v5 = [];
    $v6 = [];
    $v7 = [];
    // Create connection
    $conn mysqli_connect($servername$username$password$dbname);
    // Check connection
    if (!$conn) {
        die(
    "Connection failed: " mysqli_connect_error());
    }   

    $query="SELECT * FROM progetto";

    $risultati=mysqli_query($conn$query);

    $num=mysqli_num_rows($risultati);

    mysqli_close($conn);
    $i=0;
    $k=0;
         while(
    $row mysqli_fetch_assoc($risultati)) {
                
    $v[$i] = $row["Nome"];
                
    $v1[$i] = $row["Cognome"];
                
    $v2[$i] = $row["Data"];
                
    $v3[$i] = $row["Codice"];
                
    $v4[$i] = $row["Intervento"];
                
    $v5[$i] = $row["Dintervento"];
                
    $v6[$i] = $row["Sala"];
                
    $v7[$i] = $row["Elimina"];     
          
                if(
    $j == $v3[$i]){
                    
    $k $i;
                }
                
    $i++;
        } 

    ?>
    <form action ="Modifica.php" method ="post">
    <table width="1200" height="500" border="2" align="center">
    <tr>
    <td bgcolor="orange" colspan="2" align="center"><b>Informazioni</td></b><td bgcolor="orange" width="500" align="center">Modifica</td>
    </tr>
    <tr>
    <td bgcolor="yellow"><b>Nome</td></b><td bgcolor="yellow" width="500" align="center"><?php echo $v[$k?></td><td align="center"bgcolor="yellow"><input class="sas" type="text"    placeholder="Modifica Nome" name="Nome"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Cognome</td></b><td bgcolor="yellow"align="center"><?php echo $v1[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Cognome"name="cognome"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Data</td></b><td bgcolor="yellow"align="center"><?php echo $v2[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Data"name="data"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Codice fiscale</td></b><td bgcolor="yellow"align="center"><?php echo $v3[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Codice fiscale"name="codice"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Intervento svolto</td></b><td bgcolor="yellow"align="center"><?php echo $v4[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Intervento"name="intervento"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Data dell'intervento</td></b><td bgcolor="yellow"align="center"><?php echo $v5[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Data intervento"name="Dintervento"/></td>
    </tr>
    <tr>

    <td bgcolor="yellow"><b>Sala utilizzata</td></b><td bgcolor="yellow"align="center"><?php echo $v6[$k?></td><td align="center"bgcolor="yellow"><input class="sas"type="text" placeholder="Modifica Sala"name="sala"/></td>
    </tr>
    </table>
    <br><br>
    <center>
    <input type="submit" class="sos" name="bottone2"/>
    </form>
    <?php
    if(isset($_POST['bottone2'])){ //bottone che crea il problema
    $servername "localhost";
    $username "root";
    $password "";
    $dbname "esercizi";

    $conn mysqli_connect($servername$username$password$dbname);

    $query="SELECT * FROM progetto";

    $risultati=mysqli_query($conn$query);

    $num=mysqli_num_rows($risultati);
    $t 0;
    $f 0;
    $v3 = [];

         while(
    $row mysqli_fetch_assoc($risultati)) {
             
    //if($row["Nome" == dato1)
                
    $v3[$i] = $row["Progressivo"];
                
    $i++;
         }

    $nome $_POST['Nome'];
    $cognome $_POST['cognome'];
    $data $_POST['data'];
    $codice $_POST['codice'];
    $intervento $_POST['intervento'];
    $Dintervento $_POST['Dintervento'];
    $sala $_POST['sala'];

    $ctrl "";

    if(
    $sala != $ctrl){
      
        
    $sql = ("UPDATE progetto SET Sala= '$sala' WHERE Codice = '$j'");

        
    mysqli_query($conn$sql);
      
    }
    if(
    $nome != $ctrl){
        
    $sql = ("UPDATE progetto SET Nome= '$nome' WHERE Codice = '$j'");
        
    mysqli_query($conn$sql);
    }
    if(
    $cognome != $ctrl){
        
    $sql = ("UPDATE progetto SET Cognome= '$cognome' WHERE Codice = '$j'");
        
    mysqli_query($conn$sql);
    }
    if(
    $codice != $ctrl){
        
    $sql = ("UPDATE progetto SET Codice = '$codice' WHERE Codice = '$j'");
      
        
    mysqli_query($conn$sql);
    }
    if(
    $intervento  != $ctrl){
        
    $sql = ("UPDATE progetto SET Intervento = '$intervento' WHERE Codice = '$j'");
      
        
    mysqli_query($conn$sql);
    }
    if(
    $Dintervento != $ctrl){
        
    $sql = ("UPDATE progetto SET Dintervento= '$Dintervento' WHERE Codice = '$j'");
      
        
    mysqli_query($conn$sql);
    }
    if(
    $data != $ctrl){
        
    $sql = ("UPDATE progetto SET Data= '$data' WHERE Codice = '$j'");
      
        
    mysqli_query($conn$sql);
    }


    mysqli_close($conn);

      


    }

    ?>

    </body>
    </html>
     
    Ultima modifica: 21 Giugno 2019
  11. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    intravedo un "form", puoi definire un campo di tipo "hidden" a cui assegni il valore che devi preservare
    in modo da trovarlo a disposizione quando serve (da preferire)
    esempio,
    HTML:
    <input type="hidden" name="MainForm" value="1" />
    in alternativa puoi memorizzarlo in $_SESSION
     
  12. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Già provati non funziona nessuno dei 2.
    Il problema è che quando l'utente preme il pulsante il dato (che era stato passato dall'altro file) viene totalmente cancellato anche se lo si salva in altre variabili
     
  13. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    PHP:
    $query="SELECT * FROM progetto";

    $risultati=mysqli_query($conn$query);

    $num=mysqli_num_rows($risultati);

    mysqli_close($conn);
    $i=0;
    $k=0;
         while(
    $row mysqli_fetch_assoc($risultati)) {
                
    $v[$i] = $row["Nome"];
                
    $v1[$i] = $row["Cognome"];
    scusa che ci fa una close nel bel mezzo delle operazioni ????
     
  14. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Effettivamente non me ne ero accorto.
    Potrebbe essere quello, lunedì quando torno in ufficio provo e ti faccio sapere
     
  15. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Non è quello l'errore.
     
  16. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Altre idee?
     
Sto caricando...

Condividi questa Pagina