Serwis kody.wapacz.pl - jak wstawić kody na stronę?


(system) #1

Co zrobić, gdzie wstawić poniższe kody?#

Potrzebna nam będzie baza kodów do której wstawimy kody oraz baza z opisanymi plikami do ściągnięcia. Tworzymy następujące tabele:

create table kody2(

    id int(8) not null auto_increment primary key,

    kod varchar(8) not null,

    aktywowano varchar(20) not null default '0'

);

create table pliki2(

    id int(8) not null auto_increment primary key,

    nazwa_pliku varchar(50) not null,

    opis varchar(200) not null

);

Funkcje w pliku, który włączamy do ston z download za pomocą funkcji require() lub include():

<?php

session_name("nazwa_sesji");

session_start();


mysql_connect("host_bazy_danych", "uzytkownik_bazy", "haslo_uzytkownika_bazy_danych");

mysql_select_db("nazwa_bazy_danych");


//bezpośrednia ścieżka do katalogu w którym znajdują się pliki do ściągnięcia

$pathfiles = "/var/lib/apache/htdocs/pliki";


//tablica powinna zawierać definicję content-type dla wszystkich rodzajów plików

//występujących w bazie danych

$content_types = array(

    "zip" => "application/x-zip",

    "pdf" => "application/pdf",

    "doc" => "application/msword"

);


function aktywujKod($dla_kodu){

    $qAktywuj = "UPDATE kody2 SET aktywowano=UNIX_TIMESTAMP() WHERE kod='".$dla_kodu."'";

    $aAktywuj = mysql_query($qAktywuj);

    $_SESSION['aktywny'] = $dla_kodu;

}


function zniszczZmienna(){

    unset($_SESSION['aktywny']);

}


function sprawdzKod($kod){

    $qKod = "SELECT * FROM kody2 WHERE kod='".$kod."'";

    $aKod = mysql_query($qKod) or die(mysql_error());


    if(mysql_num_rows($aKod) != 1){

	zniszczZmienna();

	return false;


    } else {

	$data_aktywacji = mysql_result($aKod, 0, 'aktywowano');

	$aktywny_przez = 60*60*24;

	//60sek*60min.*24h doba w sekundach, można oczywiście ustawić inny okres ważności kodu


    	if($data_aktywacji == 0){

	    aktywujKod($kod);

	    return true;


	} else {

	    if( (time() - $data_aktywacji) > $aktywny_przez){

		zniszczZmienna();

		return false;

	    } else {

		$_SESSION['aktywny'] = $kod;

		return true;

	    }

	}

    }

}


function listFiles(){

    $listaPlikow = "";

    global $pathfiles;


    $qPliki = "SELECT * FROM pliki2 ORDER BY id";

    $aPliki = mysql_query($qPliki) or die(mysql_error());


    if(mysql_num_rows($aPliki) > 0){

	$temp = "";

	while($r = mysql_fetch_array($aPliki)){

	    if(file_exists($pathfiles."/".$r['nazwa_pliku'])){

		$temp .= ""

		      .$r['nazwa_pliku']."".$r['opis']."";

	    }

	}


	if($temp != "")	{

	    $listaPlikow = "";

	}

    } else {

	$listaPlikow = "Ten dział nie zawiera plików! Albo inny komunikat";

    }


    return $listaPlikow;

}

?>

[/code]