<?php
$base = 'phpfacile_compteclic.sqlite';

$urlId = $_GET["urlid"];

function recupereURL($id, $base)
{
    // Controle de securite: Est-ce que id est un entier ?
    if ((intVal($id) != $id) || strlen($id) == 0) return false;
    
    try {
        $bd = new SQLiteDatabase($base);
    } catch (SQLiteException $e) {
        echo "L'ouverture de la base [$base] a echouee ".
             "pour la raison suivante: ".$e->getMessage();
        return false;
    }
    // REM: $id a ete controle avec d'etre utilise dans la requete
    $sql = "SELECT url FROM clics WHERE id=".$id;

    $reponse = $bd->query($sql, SQLITE_BOTH, $err);
    if ($reponse === FALSE) {
        echo "La requete a echouee pour la raison suivante: ".$err;
    } else {
        if ($row = $reponse->fetch()) {
            $bd = null; // deconnexion
            return $row["url"];
        }
    }
    $bd = null; // deconnexion
    return false;
}

function incrementeCompteur($id, $base)
{
    // Controle de securite: Est-ce que id est un entier ?
    if ((intVal($id) != $id) || strlen($id) == 0) return false;

    try {
        $bd = new SQLiteDatabase($base);
    } catch (SQLiteException $e) {
        echo "L'ouverture de la base [$base] a echouee ".
             "pour la raison suivante: ".$e->getMessage();
        return false;
    }
    // REM: $id a ete controle avec d'etre utilise dans la requete
    $sql = "UPDATE clics SET compteur=compteur+1 WHERE id=".$id;

    $reponse = $bd->queryExec($sql, $err);
    if ($reponse === FALSE) {
        //Ne rien afficher sinon, la redirection risque de ne pas fonctionner
        //echo "La requete a echouee pour la raison suivante: ".$err;
    }
    $bd = null; // deconnexion
}

$url = recupereURL($urlId, $base);
if ($url === FALSE) {
    die("Identifiant d'URL inconnu");
}

incrementeCompteur($urlId, $base);
header("Location: ".$url);
die();
?>