ho un problema con una funzione PHP.
Spiego brevemente:
Ho un file funzioni.php con all'interno alcune funzioni.
Io ho necessità di prelevare la funzione con un click su un link href.
Ho una lista di categorie ed accanto ad ogni categoria ho il link "elimina categoria". Al click questo link dovrebbe richiamare la funzione elimina_categoria();
Io ho utilizzato una cosa del genere:
Codice: Seleziona tutto
<?php
include ('funzioni.php');
?>
<?php
if ($_GET['action'] == 'elimina') {
delete_category($category_id);
echo "<h4><div style=\"color:#d30015; margin-top:15px;\">Categoria eliminata con successo!</div></h4>";
}
else {
?>
<div id="containeradmin">
<h2>Visualizza Categorie</h2><br />
<?php
include ('config.inc.php');
$mostra_cat = 'SELECT category_name, category_id FROM gallery_category order by category_id';
$ris_cat = mysql_query($mostra_cat) or die(mysql_error());
// Analisi del risultato
while ( $row = mysql_fetch_array($ris_cat, MYSQL_ASSOC) ) {
// Lettura del campo "testo"
$categorie = $row['category_name'];
$id_cat= $row['category_id'];
// Stampa del campo testo
echo "<ul><li>$categorie<a href =\"vis_categorie.php?action=elimina&id=$id_cat\"> Elimina</a></li></ul>";
}
?>
<div style="margin-top:340px;"><a href="index.php">Torna al menu principale</a></div>
</div>
<?php
}
?>
la funzione sembra partire e prende anche l'id corretto della categoria ma non elimina nulla ne lato frontend ne dal database.
La funzione in questione è la seguente:
Codice: Seleziona tutto
function delete_category( $category_id )
{
global $images_dir;
$result = mysql_query( "SELECT photo_filename FROM gallery_photo WHERE photo_category='".addslashes( $category_id )."'" );
while( $row = @mysql_fetch_array( $result ))
{
unlink($images_dir."/".$row[0]);
}
mysql_query( "DELETE FROM gallery_photo WHERE photo_category='".addslashes( $category_id )."'" );
mysql_query( "DELETE FROM gallery_category WHERE category_id='".addslashes( $category_id )."'" );
}
Spero di trovare una soluzione grazie al vostro aiuto.
Grazie mille.