Salve,
a distanza di tempo ho messo in piedi questo script:
Codice PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
// richiamo lo script responsabile della connessione a MySQL
include "../../connessione.php";
// recupero il valore del parametro "id_utente"
$id_utente = $_GET['id_utente'];
if($_POST && isset($_GET['id_utente']))
{
aggiorna_record();
}
// esecuzione prima query
$query = "SELECT * FROM utenti WHERE id_utente = $id_utente";
$result = mysql_query($query) or die (mysql_error());
$attivo_array = array('No','Si');
// ciclo tutti i record recuperati attraverso la nostra query
while ($row=mysql_fetch_assoc($result)){
$attivo = $attivo_array[$row['attivo']];
}
function aggiorna_record()
{
// recupero i campi di tipo "stringa"
$attivo = trim($_POST['attivo']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc())
{
$attivo = stripslashes($attivo);
}
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$attivo = mysql_real_escape_string($attivo);
$id_utente = intval($_GET['id_utente']);
// preparo la query
$query = "UPDATE utenti SET attivo='$attivo' WHERE id_utente = $id_utente";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// modifica eseguita con successo
echo "Modifica eseguita con successo.";
}
// chiudo la connessione a MySQL
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Attiva/Disattiva Utente</title>
</head>
<body>
<div id="container">
<div id="main"><form action="" method="post" name="modulo_attiva-disattiva" id="modulo_attiva-disattiva">
<table border="0" align="center" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><strong>Attivo:</strong> </div></td>
<td><select name="attivo" id="attivo">
<option value="No" <?if($attivo==No) echo 'selected="selected"'?>>No</option>
<option value="Si" <?if($attivo==Si) echo 'selected="selected"'?>>Si</option>
</select></td>
</tr>
<tr>
<td><div align="right"> </div></td>
<td></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input name="salva" type="submit" class="submit" id="salva" value="Salva" /></div></td>
</tr>
</table>
</form></div>
</div>
</body>
</html>
che mi dovrebbe permettere di attivare o disattivare un utente tramite un menu a tendina, il fatto è che funziona ma non riesco a far recuperare il valore impostato nel database (Si, No), mi compare l'errore
"Notice: Undefined index: No in..." oppure "Notice: Undefined index: Si in..." riga 24.
Cosa sbaglio?