Ciao a tutti
Ho un problemino da risolvere.
Estraggo i dati dalla mia tabella database ma trattasi di tabella usata da diversi utenti,che si loggano e che sono seguiti da SESSION_ .
Con la tabella sottostante ho la possibilita di vedere e modificare/eliminare i record ...ma non solo i miei,di tutti e questo non va bene.
Mi potete aiutare sul codice affinche ogni utente possa lavorare soltanto con i suoi dati??
pagina.php
Ho un problemino da risolvere.
Estraggo i dati dalla mia tabella database ma trattasi di tabella usata da diversi utenti,che si loggano e che sono seguiti da SESSION_ .
Con la tabella sottostante ho la possibilita di vedere e modificare/eliminare i record ...ma non solo i miei,di tutti e questo non va bene.
Mi potete aiutare sul codice affinche ogni utente possa lavorare soltanto con i suoi dati??
pagina.php
Codice:
<?php
$db_host = "host";
$db_user = "utente";
$db_password = "";
$db_name = "my_db;
$db = mysql_connect($db_host, $db_user, $db_password);
//
mysql_query("SET NAMES utf8");
//
if ($db == FALSE)
die ("Errore nella connessione.");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database!");
if($_POST)
{
$ids = isset($_POST['id']) ? $_POST['id'] : array();
elimina_record($ids);
}
elseif(isset($_GET['id']))
{
elimina_record(array($_GET['id']));
}
else
mostra_lista();
function mostra_lista()
{
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
// preparo la query
$query = "SELECT id,username,myCheck FROM lista_in_lavorazione";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
echo '
<form name="form1" method="post" action="">
<table border="1">
<tr>
<th> </th>
<th>nome</th>
<th>dati</th>
<th> </th>
</tr>';
while ($row = mysql_fetch_assoc($result))
{
$username = htmlentities($row['username']);
$myCheck = htmlentities($row['myCheck']);
// preparo il link per la modifica dei dati del record
$link = $_SERVER['PHP_SELF'].'?id=' . $row['id'];
echo "<tr>
<td><input name=\"id[]\" type=\"checkbox\" value=\"$row[id]\" /></td>
<td>$username</td>
<td>$myCheck</td>
<td><a href=\"$link\">CANCELLA</a></td>
</tr>";
}
echo '</table>
<br />
<input type="submit" name="Submit" value="ELIMINA prodotti SELEZIONATI" />
</form>';
// libero la memoria di PHP occupata dai record estratti con la SELECT
mysql_free_result($result);
// chiudo la connessione a MySQL
mysql_close();
}
function elimina_record($ids)
{
// verifico che almeno un id sia stato selezionato
if(count($ids) < 1)
{
$messaggio = urlencode("NESSUN PRODOTTO SELEZIONATA!");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}
// per precauzione converto gli ID in interi
$ids = array_map('intval',$ids);
// creo una lista di ID per la query
$ids = implode(',',$ids);
// preparo la query
$query = "DELETE FROM lista_in_lavorazione WHERE id IN ($ids)";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// conto il numero di record cancellati
$num_record = mysql_affected_rows();
// chiudo la connessione a MySQL
mysql_close();
$messaggio = urlencode("PRODOTTI ELIMINATI: $num_record");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
?>