Lo accorcio un po'. Pagina: delete.php Questa pagina viene richiamata dalla pagina edit.php che visualizza i dati della tabella news. visualizza anche una colonna dove posso eliminarli, o meglio, collegamento ipertestuale che mi manda alla pagina delete.php?id=(id)
Ed ecco la pagina:
Codice PHP:
<?php
$cookie = $_COOKIE['accesso_effettuato'];
$id = $_GET['id'];
$action = $_GET['action'];
if ($cookie == "accesso_effettuato")
{echo ?>
<html>
<head>
<title><?php echo $titolo ?> | Razers</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table border="0" align="center">
<tr>
<td colspan="2">
[b]Attenzione![/b]
Sei sicuro di voler eliminare il modulo: <?php echo $titolo ?> ?
</td>
</tr>
<tr>
<td align="center">
<form method="post" action="edit.php" name="nuova_news">
<input type="submit" value="No!" style="width: 100px;">
</form>
</td>
<td align="center">
<form method="post" action="delete.php?id=<?php echo $id ?>?action=delete" name="nuova_news">
<input type="submit" value="Si!" style="width: 100px;">
</form>
</td>
</tr>
</table>
</body>
</html>
<?php
}
else{
header("location: login.php");
}
?>
Fin qua, non fa una piega. Se vedete nel form, c'è un "No!" e un "Si". Il primo ti riporta alla pagina edit.php il secondo in un certo senso ti refresha la pagina (ovvero ti rimanda alla pagina delete.php?id=(id)?action=delete. VIsto che non vorrei creare duemila pagine per eliminare un record avevo pensato di aggiungere una cosa del genere: (sopra)
Codice PHP:
<?php
$cookie = $_COOKIE['accesso_effettuato'];
$id = $_GET['id'];
$action = $_GET['action'];
if ($cookie == "accesso_effettuato")
{
if ($action == 'delete') // se l'url è delete.php?id=(id)?action=delete, allora...
{
header("location: prova.php");
}
elseif (!isset($action)) // se l'url è delete.php?id=(id)?action=, allora...
{
header("location: errore.php");
}
else{ // se non c'è action allora esci dal primo if
exit;
}
echo ?>
[B]IL RESTO DELLA PAGINA[/B]
<?php
}
else{
header("location: login.php");
}
?>
Naturalmente dove leggete: header("location: prova.php"); ci metterò la connessione e la query che eliminerà il row della tabella news, però non funziona. Nel senso... mi manda sempre alla pagina prova.php NONOSTANTE l'url sia delete.php?id=(id) senza nessuna action. Dove sbaglio?
EDIT: Ho provato a cambiare header("location: prova.php"); con un'altra pagina, ma me le visualizza entrambe. (Esempio
Codice PHP:
<?php
$cookie = $_COOKIE['accesso_effettuato'];
$id = $_GET['id'];
$action = $_GET['action'];
if ($cookie == "accesso_effettuato")
{
if ($action = 'delete') // se l'url è delete.php?id=(id)?action=delete, allora...
{echo ?>
[b]QUI CANCELLA IL ROW E POI MI DICE CHE L'HA CANCELLATO (con una pagina)[/b]
<?php
}
elseif (!isset($action)) // se l'url è delete.php?id=(id)?action=, allora...
{
header("location: errore.php");
}
else{ // se non c'è action nell'url allora esci dal primo if ...
exit;
}
echo ?>
[b]PAGINA DI BASE[/b]
<?php
}
else{
header("location: login.php");
}
?>
MI vede sia pagina di base che quella sopra!