Hola muchachos!
alguno sabe como hacer un sistema de login para un programa en visual studio?
saludos!!!
Contacto Skype: Rodrilanus
Eso es muy sencillo, una petición http a tu servidor y compruebas el login en una base de datos

Código: Seleccionar todo

#include <iostream>
#include <string>
#include <curl/curl.h>
#include <sqlite3.h>

size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) {
    ((std::string*)userp)->append((char*)contents, size * nmemb);
    return size * nmemb;
}

bool verificarLogin(std::string usuario, std::string password) {
    sqlite3* db;
    sqlite3_stmt* stmt;
    int rc = sqlite3_open("mi_base_de_datos.db", &db);

    if (rc) {
        std::cerr << "Error al abrir la base de datos: " << sqlite3_errmsg(db) << std::endl;
        return false;
    }

    std::string sql = "SELECT * FROM usuarios WHERE usuario = ? AND password = ?;";
    rc = sqlite3_prepare_v2(db, sql.c_str(), -1, &stmt, 0);

    if (rc != SQLITE_OK) {
        std::cerr << "Error al preparar la consulta: " << sqlite3_errmsg(db) << std::endl;
        return false;
    }

    sqlite3_bind_text(stmt, 1, usuario.c_str(), -1, SQLITE_TRANSIENT);
    sqlite3_bind_text(stmt, 2, password.c_str(), -1, SQLITE_TRANSIENT);

    rc = sqlite3_step(stmt);
    bool resultado = (rc == SQLITE_ROW);

    sqlite3_finalize(stmt);
    sqlite3_close(db);
    return resultado;
}

int main() {
    CURL* curl;
    CURLcode res;
    std::string readBuffer;

    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();

    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1/login");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
        res = curl_easy_perform(curl);

        if (res != CURLE_OK) {
            std::cerr << "Error en la petición: " << curl_easy_strerror(res) << std::endl;
        } else {
            std::string usuario = "mi_usuario";
            std::string password = "mi_password";

            if (verificarLogin(usuario, password)) {
                std::cout << "Login correcto" << std::endl;
            } else {
                std::cout << "Login incorrecto" << std::endl;
            }
        }
        curl_easy_cleanup(curl);
    }
    curl_global_cleanup();

    return 0;
}

 
Responder

Volver a “Dudas y Preguntas”