problema "ID passato via GET e' errato"

 :bye: Salve a tutti!

Sto studiando in questo momento php tramite la vostra guida...è andato tutto bene fino a una settimana fa... non riesco a modificare il record che ho appena inserito!  :(

Questo è il codice...

<?php

$link = mysql_connect('localhost', 'root', 'amministratore');
if (!$link) {
   die ('Non riesco a connettermi: ' . mysql_error());
}

$db_selected = mysql_select_db('provaphp', $link);
if (!$db_selected) {
   die ("Errore nella selezione del database: " . mysql_error());
}
if($_POST && isset($_GET['id']))
{
   aggiorna_record();
}
elseif(isset($_GET['id']))
{
   mostra_record();
}
else
   mostra_lista();
   
   function mostra_record()
{

   $id = intval($_GET['msg']);

$query = "SELECT * FROM prova WHERE id = $id";

$result = mysql_query($query);

if(mysql_num_rows($result) != 1) {

die("l'ID passato via GET e' errato");
}
}
function mostra_lista()
{

   $query = "SELECT id, nome, cognome, messaggio FROM prova";


   $result = mysql_query($query);


   if (!$result) {
      die("Errore nella query $query: " . mysql_error());
   }

   echo '
   <center><table border="0">
      <tr>
         <th>Id</th>
         <th>Nome</th>
         <th>Cognome</th>
         <th>Messaggio</th>
         <th>&nbsp;</th>
      </tr><center>';

   while ($row = mysql_fetch_assoc($result))
   {
      $id           = htmlspecialchars($row['id']);
      $nome         = htmlspecialchars($row['nome']);
      $cognome      = htmlspecialchars($row['cognome']);
      $messaggio    = htmlspecialchars($row['messaggio']);
      


      $link = $_SERVER['PHP_SELF'] . '?id=' . $row['id'];

      echo "<tr>
            <td>$id</td>
            <td>$nome</td>
            <td>$cognome</td>
            <td>$messaggio</td>
            
            <td><a href=\"$link\">Modifica</a></td>
         </tr>";
   }

   echo '</table>';

      mysql_close();
   }
?>

Aiutatemi voi! non sò più cosa fare!  :buck:

inviato 6 anni fa
Dals039
X 0 X

Ciao,

non è che non riesci a modificare il record, bensì non riesci ad editarlo, vero?

Probabilmente il problema è qui:

$id = intval($_GET['msg']);

La variabile che arriva via get è 'id' e non 'msg', ti risulta?

:bye:

risposto 6 anni fa
guidoch
X 0 X

si a editarlo...come si vede in questa pagina http://www.phpnews.it/corsi/aggiornamento-dati/

ho modificato e anche mettendo id mi appare il medesimo messaggio  :(

risposto 6 anni fa
Dals039
X 0 X

Non ci hai fornito il codice con cui aggiorni il tuo record.

Non c'è nessuna query di update.

Per editare cosa si intende?

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda