Salve.
Mi scuso in anticipo, so che quello in oggetto è un errore molto comune, ma non ho trovato soluzione cercando altrove.
Descrivo:
La pagina precedente passa tramite GET alla presente l'ID univoco del record da modificare.
Qui c'è un form che serve a modificare i dati. Viene interrogato il DB perchè fornisca i dati relativi a quel record, e viene pre riempita parte del form.
L'utente fa le modifiche volute e poi preme il SUBMIT, che implica la scrittura delle modifche nel DB.
L'action del form è la pagina stessa, cioè SELF.
Grazie. Scusate , non ho capito come rendere ordinata l'immissione di questo codice nel post.
Questo è il codice che produce l'errore, privato delle parti di HTML superflue:
<?
$username="***";
$password="***";
$db_name="test";
$tbl_name="main";
$host="localhost";
mysql_connect($host,$username,$password);
@mysql_select_db($db_name) or die("Unable to select database");
$id=$_GET['id'];
$result=mysql_query("SELECT * FROM `$tbl_name` WHERE `id`=$id");
$num=mysql_num_rows($result);
$i=0;
while ($i < $num) {
$old_frequenza=mysql_result($result,$i,"frequenza" );
$old_modo=mysql_result($result,$i,"modo");
++$i;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "XHTML1-s.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<form method="post" action="modifica.php" name="rapporto">
<fieldset>
<legend>Modifica Record</legend>
<input type="hidden" name="id" value="<? echo "$id"?>">
</fieldset>
<--! QUI C'È IL FORM PRE-RIEMPITO TRAMITE LE VARIABILI $old_frequenza E $old_modo -->
<div>
<input type="submit" id="submit" value="INVIA">
</div>
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ // if page is not submitted to itself,
mysql_connect($host,$username,$password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$frequenza=$_POST['frequenza'];
$modo=$_POST['modo'];
$update="UPDATE `$tbl_name` SET `frequenza`='$frequenza', `modo`='$modo' WHERE `id`='$id'";
mysql_query($update) or die(mysql_error());
}
?>
</body>
</html>