CGI - BAJA FISICA

 
Vista:

BAJA FISICA

Publicado por sergio (1 intervención) el 26/11/2001 13:36:25
HOLA TENGO UN CGI EN C Y PUEDO DAR DE ALTA DENTRO DE UNOS CAMPOS, ALGUIEN ME PUEDE AYUDAR POR FAVOR A IMPLEMENTAR LAS BAJAS FISICAS DE LOS MISMOS CAMPOS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Implementar bajas físicas en un CGI en C

Publicado por Alejandro (140 intervenciones) el 23/08/2023 00:55:36
Si ya tienes un programa CGI en C que permite dar de alta registros en una base de datos y ahora deseas implementar bajas físicas (eliminar registros) desde el mismo CGI, aquí hay una guía básica de cómo podrías hacerlo. En este ejemplo, asumo que estás trabajando con archivos de texto plano para almacenar los datos, pero el concepto puede aplicarse a otras formas de almacenamiento:

1. Identificación de registros:

En primer lugar, necesitas algún tipo de identificador único para cada registro que permita identificar qué registro se debe eliminar.

2. Interfaz de eliminación:

Debes proporcionar una forma para que el usuario seleccione qué registro desea eliminar. Esto podría ser a través de una página HTML generada por tu CGI que enumera los registros y proporciona botones o enlaces para eliminarlos.

3. Procesamiento de la eliminación:

Una vez que el usuario ha seleccionado un registro para eliminar, tu CGI debe procesar esa solicitud y eliminar el registro correspondiente del almacenamiento. Aquí tienes un ejemplo simplificado utilizando archivos de texto plano como almacenamiento:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void eliminarRegistro(const char *id) {
    // Abrir el archivo en modo lectura y escritura
    FILE *archivo = fopen("datos.txt", "r+");
    FILE *tempArchivo = fopen("temp.txt", "w");
 
    if (archivo == NULL || tempArchivo == NULL) {
        perror("Error al abrir archivos");
        exit(1);
    }
 
    char linea[256];
 
    // Leer línea por línea y copiar al archivo temporal, excepto el registro a eliminar
    while (fgets(linea, sizeof(linea), archivo)) {
        if (strstr(linea, id) == NULL) {
            fputs(linea, tempArchivo);
        }
    }
 
    fclose(archivo);
    fclose(tempArchivo);
 
    // Reemplazar el archivo original con el archivo temporal
    remove("datos.txt");
    rename("temp.txt", "datos.txt");
}
 
int main() {
    printf("Content-Type: text/html\n\n");
 
    // Obtener el ID del registro a eliminar desde el formulario HTML
    char id[20]; // Ajusta el tamaño según tus necesidades
    // Obtener el valor de "id" desde la solicitud HTTP (QUERY_STRING)
 
    eliminarRegistro(id);
 
    printf("<html><head><title>Eliminación Exitosa</title></head><body>");
    printf("<h1>Registro eliminado exitosamente</h1>");
    printf("</body></html>");
 
    return 0;
}

Este es solo un ejemplo básico para darte una idea de cómo podrías implementar bajas físicas en tu CGI en C. Asegúrate de ajustar el código según tus necesidades y considerar aspectos de seguridad y manejo de errores. Si estás utilizando una base de datos más compleja en lugar de archivos de texto, el proceso puede ser diferente y podría requerir consultas SQL de eliminación adecuadas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar