El listado nos muestra todos los registros en pantalla en una tabla, y le damos al link correspondiente de modificar o eliminar el registro que queramos de los que aparece en pantalla en una tabla, nos redirige bien a la página que queremos, nos muestra todos los datos de ese registro perfectamente, hasta aquí todo sin problemas, en el caso de modificar, modificamos todos los datos sin problemas, pero, el problema está al final, al darle al botón de "eliminar" o "modificar", que nos devuelve a la página anterior, la del listado, y ni modifica ni elimina el registro de la base de datos, es como si el formulario no se enviara, le tengo puesto sólo debe de volver automáticamente a la página del listado, si el contenido de la variable $id que recibo mediante el método GET, está vacía, así:
Código PHP:
if (empty($_GET['id']))
{
header("Location: listado.php");
exit();
}
Código PHP:
if (isset($_POST['submit']))
{
// nos conectamos a la base de datos
$link = Conectarse("localhost", "root", "", "ejemplo");
// Obtenemos los datos del formulario
$cadena_modificar = "UPDATE agenda SET ";
$cadena_modificar .= "nombre = '" . $_POST['nombre'] . "',";
$cadena_modificar .= "apellidos = '" . $_POST['apellidos'] . "',";
$cadena_modificar .= "telefono = '" . $_POST['telefono'] . "',";
$cadena_modificar .= "email = '" . $_POST['email'] . "',";
$cadena_modificar .= "edad = '" . $_POST['edad'] . "',";
$cadena_modificar .= " WHERE id = " . $_POST['id'];
// enviamos la consulta a la base de datos
$respuesta = mysql_query($cadena_modificar, $link) or die(mysql_error());
echo "<h2>Datos modificados correctamente de la agenda</h2>";
mysql_close($link); // cerramos la conexión con la base de datos
exit();
} // se cierra el 'if'
Código PHP:
if (isset($_POST['submit']))
{
// nos conectamos a la base de datos
$link = Conectarse("localhost", "root", "", "ejemplo");
// Obtenemos los datos del formulario
$cadena_borrado = "DELETE FROM agenda WHERE id = ";
$cadena_borrado .= $_POST['id'] . " LIMIT 1";
// enviamos la consulta a la base de datos
$respuesta = mysql_query($cadena_borrado, $link) or die(mysql_error());
echo "<h2>Registro eliminado correctamente de la agenda</h2>";
mysql_close($link); // cerramos la conexión con la base de datos
exit();
} // se cierra el 'if'
Código HTML:
<form name="f" action="<?= $_SERVER['PHP_SELF']; ?>" method="post"> <!-- aquí vendría la tabla que muestra el registro, en caso de eliminar, y en caso de modificar, un formulario normal, pero en los campos con el valor inicial de los datos del registro para poder modificarlo --> <input type="submit" name="btn_Borrar" value="Borrar datos" id="btn_Borrar" />