Recupero valori tramite $_GET

tirikiz

Nuovo Utente
28 Feb 2022
4
0
1
Salve a tutti, sono nuovo nel forum ed in cerca di aiuto per quanto riguarda un recupero dati tramite comando $_GET. Premetto che è una settimana che spulcio ovunque sul forum e sul web in cerca di una soluzione ma ogni tentativo è risultato vano, o meglio non sono in grado forse di applicarlo al mio codice. Vi spiego un attimino.
Qualche tempo fa avevo creato un form dove si potevano inviare dati nel database, stampabili a schermo tramite un pulsante. L'altro giorno mi decido ad apportare delle modifiche permettendo all'utente di poter cancellare o modificare ogni singolo record della tabella tramite il valore id. Tutto bene per quanto riguarda l'eliminazione mentre per quanto riguarda la modifica sono bloccato in quanto non mi recupera i valori tramite il $_GET (penso di dover usare questo metodo) o meglio, riesco a recuperare l'id ma non la colonna nome della mia tabella per esempio. Vi posto il codice per farvi capire meglio, sperando che qualche anima pia mi dia una mano.

risaziende.php (per stampare a schermo i dati del db)

PHP:
<?php
<style>
table, th, td {
    border: 1px solid black;
}
</style>

$servername = "localhost";
$username = "xxx";
$password = "xxx";
$dbname = "appuntamenti";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM scouting";

$result = $conn->query($sql);


if ($result->num_rows > 0) {
    
 // output data of each row
  echo " <table> <tr><th>Id</th><th>Nome Azienda</th><th>Referente</th><th>Email</th><th>Numero</th><th>Provincia</th><th>Note</th><th>Elimina</th></tr>";
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "<tr><td> " .$row["id"]." </td><td>".$row["nome"]."</td><td>".$row["referente"]." </td><td> ".$row["email"]." </td><td> ".$row["numero"]." </td><td> ".$row["provincia"]." </td><td> ".$row["note"]." </td><td><a href='cancella.php?id=" . $row['id'] . "'>elimina</td><td><a href='/modifica.php?idmodifica=" .$row['id'] . "'>modifica</td></tr>";
  }
  echo "</table> ";
} else {
  echo "0 results";

}


$conn->close();

?>
 
 <br>
<a href="/aziende.html"> Torna alla pagina di inserimento </a>

modifica.php (per recuperare i dati da modificare dalla pagina precedente)

PHP:
<?php
$servername = "localhost";
$username = "xxx";
$password = "xxx";
$dbname = "appuntamenti";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$id_azienda = $_GET["idmodifica"];
$nome_azienda = $_GET["nome"];

$sql = "SELECT * FROM scouting where id = '$id_azienda'";
$result = $conn->query($sql);

$html = "

<html>
   <body> 
        <h2> modifica dati aziende </h2>

        <form name='form1' action='esegui_modifica.php' method='POST'>
        
         nome<input type='text' name='nome' value= ' $nome_azienda '><br>

          <input type='submit' name='button' value='invia dati'>
        </form>
        </body>
        </html>

         ";
        print($html);

?>

Se nel value del form di modifica (form1) metto $id_azienda, mi recupera il valore id correttamente mentre se metto $nome_azienda, il campo rimane vuoto. Grazie in anticipo :confused:
 
Ciao e bene arrivato.

Nella pagina "modifica.php" riesci a recuperare $_GET["idmodifica"]; perché a questa pagina ci stai arrivando attraverso il link con questo indirizzo: '/modifica.php?idmodifica=" .$row['id'] . "'
dove stai passando in GET il parametro "idmodifica"

ma il parametro "nome" non lo stai passando in GET, per cui non puoi usare $_GET["nome"]; per recuperarlo.

Se vuoi passarlo via GET attraverso il link, dovrai aggiungere anche quel parametro nell'indirizzo:
'/modifica.php?idmodifica=" . $row['id'] . "&nome=" . $row['nome'] ."'

E' questo il problema?
 
  • Like
Reactions: tirikiz
Ciao e bene arrivato.

Nella pagina "modifica.php" riesci a recuperare $_GET["idmodifica"]; perché a questa pagina ci stai arrivando attraverso il link con questo indirizzo: '/modifica.php?idmodifica=" .$row['id'] . "'
dove stai passando in GET il parametro "idmodifica"

ma il parametro "nome" non lo stai passando in GET, per cui non puoi usare $_GET["nome"]; per recuperarlo.

Se vuoi passarlo via GET attraverso il link, dovrai aggiungere anche quel parametro nell'indirizzo:
'/modifica.php?idmodifica=" . $row['id'] . "&nome=" . $row['nome'] ."'

E' questo il problema?
Grazie mille!!!! Era esattamente questo.
 
mi sono appena alzato dal letto ma non ancora svegliato, per cui ....

hai dichiarato nel form "method=POST", come puoi recuperare i dati con "$_GET" ?
ciao
Buongiorno, a me serviva recuperare i dati dalla pagina risaziende.php. Il metodo "POST" verrà utilizzato in seguito per fare l'update della modifica effettuata. E' sbagliato anche questo passaggio? :eek:
 

Discussioni simili