- Home
- Categorie
- Coding e Sistemistica
- Coding
- Passaggio variabile presa da query
-
Passaggio variabile presa da query
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 è definitapagina1
[PHP]<?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);
?>
[/PHP]pagina2
[PHP]<?php
$id = $_GET['valore'];
.
.
.
.
.
[/PHP]
-
Perchè oscuri il codice? così non si capisce nulla.
La cosa che è palese che stai sbagliando è che fai un POST con un form inserendo un action su un url con get dinamico (?). Come vuoi passarti il valore? tramite GET o tramite POST?
-
ciao, la parte di codice che manca non l'ho messa perchè sono parti che non c'entrano niente con il problema, parti più che altro d'impostazione grafica della pagina. Il passaggio tramite POST, quindi immagino l'errore sia nell'action del form?
In pratica premendo il pulsante "Seleziona" dovrei passare il valore contenuto in $row[fid] di quella riga scelta all'altra pagina
-
Ciao, prova così:
[PHP]
<form action="material.php" method="post">
<input type="hidden" name="valore" value="$row[fid]" />
<input name="seleziona" type="submit" value="seleziona" />
</form>
[/PHP]e per leggerlo usa il $_POST al posto del $_GET
-
Niente, premendo il pulsante Seleziona mi rimanda all'altra pagina ma da errore Undefined index: valore.
Possibile che il problema sia che il form è dentro al comando echo?
-
No, più probabile che non funziona value="$row[fid]"
Prova a metterci un numero fisso e a vedere se ti arriva. Qualcosa tipo value="1"
-
Niente stesso errore non passa nessun valore
-
Ok, prova a togliere l'echo, metti un normalissimo form e vediamo se funziona.
-
ho provato a fare una cosa del genere, mettere l'echo solo per visualizzare il dato, ma così visualizza la tabella vuota con solo il pulsante seleziona e il form continua a non passare valori
[PHP]
while($row = mysqli_fetch_array($result))
?>
<tr>
<td><?php echo $row['fid'] ?></td>
<td><?php echo $row['comp_a'] ?></td>
<td><?php echo $row['comp_b'] ?></td>
<td>
<form action="material.php" method="post">
<input type="hidden" name="valore" value="1">
<input name="seleziona" type="submit" value="Seleziona">
</form>
</td>
</tr>
<?phpmysqli_free_result($result);
[/PHP]
-
Uhm no, adesso mi sto perdendo.
Puoi darmi qualche altro dettaglio?
-
@Shad said:
Uhm no, adesso mi sto perdendo.
Puoi darmi qualche altro dettaglio?
si scusa, il codice originale era
[PHP]
echo '
<tr>
<td>' . $row['fid'] . '</td>
<td>' . $row['comp_a'] . '</td>
<td>' . $row['comp_b'] . '</td>
<td>
<form action="material.php" metod="post">
<input type="hidden" name="valore" value="$row[fid]" />
<input name="seleziona" type="submit" value="seleziona" />
</form>
</td>
</tr>';
[/PHP]
e visualizza la tabella con tutti i dati e in fondo ad ogni riga c'è il pulsante "Seleziona" e tramite form dovrebbe passare id di quella riga ma non passa niente.
Allora ho provato a usare l'echo solo per viasulizzare i dati nella tabella e mettere fuori il form, ma così facendo la tabella rimane vuota e visualizza sono il pulsante a fine riga e il form continua a non passare nessun valore.
[PHP]
?>
<tr>
<td><?php echo $row['fid'] ?></td>
<td><?php echo $row['comp_a'] ?></td>
<td><?php echo $row['comp_b'] ?></td>
<td>
<form action="material.php" method="post">
<input type="hidden" name="valore" value="1">
<input name="seleziona" type="submit" value="Seleziona">
</form>
</td>
</tr>
<?php
[/PHP]
-
Fai una prova mettendo un solo form (togli il ciclo o fallo ciclare solo una volta) e vediamo che succede.
-
Ho provato a togliere il ciclo in tutti e due i modi. Questa volta la riga della tabella viene visualizzata tutte e due le volte ma continua a non passare la variabile
-
Non so come altro aiutarti per fare qualche prova e purtroppo non ho modo di guardare in maniera più approfondita il tuo script. Spero che qualcun altro riesca ad aiutarti meglio di me.
-
Nessun problema figurati grazie lo stesso!