Pagina 1 di 1

Passaggio valore query

Inviato: 06/07/2015, 22:09
da daniw
Ciao a tutti!
nella pagina1 visualizzo dei dati presi dalla query e al fondo di ogni riga ho messo un pulsante per selezionare la riga che invia alla pagina2 un valore id, ma quando passo alla pagina 2 mi dice che la variabile 'valore' non è definita

pagina1

Codice: Seleziona tutto

<?php 
$query = "SELECT fid ........"; 
                         
$result = mysqli_query($con, $query); 
                         
if(!$result) 
   echo "<tr>\n<td>Errore – query fallita: ".mysqli_error($con)."</td>\n</tr>\n"; 
   else 
   { 
   while($row = mysqli_fetch_array($result)) 
                                 
   echo 
   '<tr> 
   <td>' ......'</td> 
   <td>' ......'</td> 
   <td>' ......'</td> 
   <td> 
   <form action="material.php?valore=$row[fid]" method="post"> 
      <input name="seleziona" type="submit" value="seleziona"> 
   </form> 
   </td>                                 
   </tr>'; 
   mysqli_free_result($result); 
                                 
   }          
            
   mysqli_close($con); 
?>
pagina 2

Codice: Seleziona tutto

<?php 
$id = $_POST['valore']; 
. 
. 
. 
. 
. 
Edit by Sir Xiradorn: Attenzione la prossima volta fai uso dei tag CODE per scrivere il codice :)

Re: R: Passaggio valore query

Inviato: 07/07/2015, 7:39
da brunino
Devi usare $_GET['valore'] non $_POST

Inviato dal mio GT-S5360 con Tapatalk 2

Re: Passaggio valore query

Inviato: 07/07/2015, 10:09
da daniw
anche usando $_GET mi da errore Undefined index: valore

Re: Passaggio valore query

Inviato: 07/07/2015, 19:40
da Sir Xiradorn
Un errore. Il codice dovrebbe essere al posto di:

Codice: Seleziona tutto

echo 
   '<tr> 
   <td>' ......'</td> 
   <td>' ......'</td> 
   <td>' ......'</td> 
   <td> 
   <form action="material.php?valore=$row[fid]" method="post"> 
      <input name="seleziona" type="submit" value="seleziona"> 
   </form> 
   </td>
questo

Codice: Seleziona tutto

echo <<<HTML 
   <tr> 
   <td> ...... </td> 
   <td> ...... </td> 
   <td> ...... </td> 
   <td> 
   <form action="material.php" method="get"> 
      <input name="seleziona" type="submit" valore={$row['fid']}"> 
   </form> 
   </td>   
HTML;
Con la sintassi HEREDOC è più comodo scrivere HTML. Poi quello che va inviato lo devi mettere non nella parte di form ma nel campo input. In quelli poi vai a inviare i valori.
Poi come ti ha detto brunino usa $_GET in una forma del tipo (per DEBUGGING)

Codice: Seleziona tutto

$id = (isset($_POST['valore'])) ? $_POST['valore'] : null; 

Re: Passaggio valore query

Inviato: 08/07/2015, 17:07
da daniw
facendo così mi cambia solo testo visualizzato sul pulsante ma non invia la variabile. In pratica all'interno del pulsante non mi trovo più la scritta "Seleziona" ma "{$row['fid']}"