Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FREEWARE/OPENSOURCE wybory v.0.2a
Forum PHP.pl > Inne > Oceny
MartinPL
Rodacy i dodaczki. Z racji tego że ostatnio odbyły się wybory prezydenckie postanowiłem stworzyć ten oto mini programik nawiązujący do wyoborów prezydenckich.

Przedstaiwam projekt w wersji 0.2a. Z pełnym dostępem do kodu. Projekt narodził się pewnego wieczoru gdy mi się poprostu nudziło a jako hobbista zacząłem pisać i tworzyć.

Bardzo proszę o konsturktywną krytyke. Potrzebuje żetelnych testerów którzy dostrzeżą niedociągniecia w kodzie/projektcie i przede wszystkim w funkcjonalności samego progamiku. 1 warstwa aplikacji jest praktycznie calkowicie pomijana! Są jakieś tam obrazki i tyle :-)
GUI będzie przebudowywane na końcu na chwile obecną interesują mnie tylko i wyłącznie rozwiązania funkcjonajlne. Innymi słowy, działa albo coś tam szwankuje - z góry dziękuje.

Bugsy prosze zamieszczać w temacie albo wysyłać na maila: martin@mixbox.pl

plan rozbudowy, jest na chwile obecna czysta spekulacja
v.0.2 -> v.0.3 itd

Dane kandydatów pochodzą z oficjalnej witryny PKW.

Tworzone na:
Wamp Server
PHP: 5.3.0
mysql: 5.1.41
apache: 2.2.14


PLAN DZIAŁANIA

ok ? zaimplementowano
nie ? niestworzono lub niezaimplementowano
-----------------------------------------------------
A - wyborca

1. osoba która widzi kandydatów - ok

2. ma możliwość zobaczenia szczegółów kandydatów - tak

menu:
js - nie
html - tak

2.a - hobby - tak
2.b - biografie - tak
2.c - wpadki wyborcze - tak
2.d - klamstwa - tak
2.e - obietnice - tak

3. Glosowanie
3.a losowo oddany glos - ok
3.b wie na kogo chce zaglosowac - ok
3.c oddaje niewazny glos - nie
3.d wychodzi z karta do glosowania - nie

4. glosuje tylko raz - nie
4.a powiadomienie mailem ze oddano glos na kandydata x - nie
-----------------------------------------
B - PKW
*przy wprowadzeniu nowego kandydata we wszystkich tabelach wprowadzic rekord z null-em zeby joiny sie skladaly(obadac)
potem wprowadzajac szczegoly updatowac null-e - ok

1. naciska przycisk i od tego moemntu nie ma mozliwosci:
1a. edycji - ok - 1
1b. dodawania -ok - 1
1c. usuwania - ok - 1
1d. gdy usuwamy kandydata to usunac jego zdjecie z folderu - nie
itp itd.(lock table albo pehapkiem :-) ) -

2. widzi liste kandydatów - ok

(tabela historia_glosowania)
3. wyswietlanie glosow wedlug numeru glosowania - nie
3.a tabelka wyswietlajaca nr_glosowania i po clicknieciu wyswietlaja sie wyniki - ok (show_results.php)
3.b. jakies słubki (*) :-) -ok
3.c procentowo wyswietlane glosy - ok
4.d wyswietlanie na 100000 sposobow biggrin.gif - nie
-----------------------------------------------------------
3. dodaje nowych kandydatów - ok
3.a dodaje obrazek - ok
4. usuwa kandydatów - ok
5. edytuje obrazek - nie
5.a dane podstawowe - ok
5.b biografie - ok
5.c hobby - ok
5.d wpadki - nieprzepiete (edit_bad_luck.php)
5.e obietnice - nieprzepiete (promisies.php) :-)
5.f klamstwa - nieprzepiete (lies.php)

##################################################
do momentu gdy nie rozpocznie sie glosowanie

4. zaznacza kandydatów ktorzy przeszli do drugiej tury(tylko kandydaci ktorzy przeszli do drugiej tury sa widziani w panelu wyborców), jakos oznaczyc kandydatów z 1 i z 2 tury - nie

5. widac glosy dopiero po zakonczeniu glosowania - ok

-----------------------------------------
C - Przedstawiciel partii - osoba ktora jest przedstawicielem danej partii - nie

1. Protestuje, zglasza uwage osobom siedzacym w komisji - nie
2. Agituje to jest wypraszany - nie

--------------------------------------------
D - system logowania -nie

1. administrator - nie
2. obywatel - nie
3. przedstawiciel partii - nie

-----------------------------------------------

###############################################
bugs
###############################################
-rozpoczete/zakonczone/rozpoczete - ok
-koniec wyborow, brak daty w szczegolach - ok

http://rapidshare.com/files/406087425/wybory.rar
p.s. nie wiedzialaem jak zalaczyc plik w waszym serwisie wiec umiescilem go na rapidshare - powinno chodzic :-)
SHiP
Huh wygląda tak jakbyś mająć jakąś wiedzę z C lub innego języka pierwszy raz programował w PHP.

1.
  1. $id = $_GET['id'];
  2.  
  3. $show_details = mysql_query("
  4. SELECT
  5. *
  6. FROM `$baza`.`kandydaci`
  7. INNER JOIN obietnice ON (`kandydaci`.`id` = `obietnice`.`id_kandydaci`)
  8. WHERE `kandydaci`.`id` = '$id'
  9. ;");

WTF? Google + SQL Injection (albo na moim blogu masz przykład do prawie identycznego zapytania)


2. Totalnie niepoprawny kod html, znaczniki z duzych liter, puste parametry class(po co?). Parametry bez cudzysłowiów. Wystarczy spojrzeć
  1. <FORM action="vote.php" METHOD="POST">
  2. <table border=1 class="">
  3.  
  4. <tr>
  5. <td class="">#</td>
  6. <td class="">Obraz</td>
  7. <td class="">Imię</td>
  8. <td class="">Nazwisko</td>
  9. <td class="">Wiek</td>
  10. <td class="">Wykształcenie</td>
  11. <td class="">Zawód</td>
  12. <td class="">Miejsce pracy</td>
  13. <td class="">Miejsce zamieszkania</td>
  14. <td class="">Ugrupowanie</td>
  15. <td class="">GŁOS</td>
  16. <td class="">Hobby</td>
  17. <td class="">Biografia</td>
  18. <td class="">Obietnice</td>
  19. <td class="">Wpadki</td>
  20.  
  21. </tr>



  1. <?php echo"$wyksztalcenie";?>

  1. $polacz = mysql_connect("".MYSQL_HOST."", "".MYSQL_USER."", "".MYSQL_PASS."") or die(mysql_error());

Po co te cudzyslowia?

Pomijając to, że nie widzę żadnego sensu tworzenia takiej funkcji niepotrzebnie tworzysz zmienną
  1. function baza()
  2. {
  3. $baza = "wybory"; // <<<<<------------<<<<---------
  4. return $baza;
  5. }
  6. ?>

Wystarczy return "wybory";

Ogólnie poprzeglądaj źródła większych projektów bo jest słabo. Jak ja zaczynałem to sporo z np. z IVB oraz BB wyciągnąłem(choć te projekty wcale nie są idealne).
MartinPL
gui narazie pomijam i robie same funkcje a na koncu jade GUI, puste klasy dalem po to zeby na koncu jak zrobie programik rozdzilic, poprzepinac i pomalowac.
znalazles jakies bugi?

Cytat
Huh wygląda tak jakbyś mająć jakąś wiedzę z C lub innego języka pierwszy raz programował w PHP.

drugi raz smile.gif
Cytat
$polacz = mysql_connect("".MYSQL_HOST."", "".MYSQL_USER."", "".MYSQL_PASS."") or die(mysql_error());
Po co te cudzyslowia?

taki exaple dali gosci na php.net

tak czy inaczej dzieki :-)

p.s. prosze rzućcie okiem na projekt, zeby tam nie bylo jakies mega czegos dziwinego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.