Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: TopSQL -> Toplista oparta o PostgreSQL'a
Forum PHP.pl > Forum > Gotowe rozwiązania
tiraeth
Witam... Napisałem skrypt toplisty, ale nie mogę sobie poradzić z głosowaniem. Napisałem skrypt glosuj.php, ale on pozwala tylko raz w ciągu dnia zagłosować i tylko na jedną stronę, a żeby tego nie było mało, to tylko raz z nieważne jakiego komputera, tzn. nie zwraca na to uwagi. W związku z tym chciałbym prosić o pomoc przy napisaniu pliku glosuj.php, opartego na cookies lub innej metodzie głosowania... Proszę o pomoc... Aha i link głosujący byłby typu głosuj.php?id=nazwa_id
nobody
Skroro napisales skrypt, a nie dziala tak jakbys tego chcial, to zapodaj kod, pewnie ktos sie znajdzie, kto pomoze Ci go przerobic. Nikt nie bedzie pisal od nowa skryptu, tym bardziej ze nie podales za wiele informacji. Polecam przeanalizowanie kodow podobnych skryptow.
Pozdr.
tiraeth
Przeanalizowałem inne skrypty i wczoraj troszeczkę udało mi się zrobić, ale jest dalej problem... a raczej kilka problemów:

:arrow: Wyników nie zapisuje w bazie sad.gif
:arrow: Nie wyświetla komunikatu, który powinien zostać wyświetlony..

Oto kod:

[php:1:c7b900d579]<?php
setcookie("glos_toplista", "1", time()+43200);
?>
<HTML>
<BODY>
<?

if ($glos_toplista) // gdy cookies dalej istnieją
{
echo "Twój Głos nie został zaliczony!!";
echo "<br><br><a href=index.php>Przejdż do strony głównej</a>";
}
else // gdy mija 12h od ostaniego głosowania
{
// konfiguracja bazy danych

$db[name]="";
$db[host]="";
$db[user]="";
$db[pass]="";

// połączenie z bazą

$conn = pg_connect("host=$db[host] dbname=$db[name] user=$db[user] password=$db[pass]");

// szukamy ostatniego klikniecia

$update = "UPDATE topka_ SET wejsc = wejsc + 1 WHERE id = ' " . $id . "'";
$query = pg_exec($conn, $update) or die (pg_errormessage());
$row = pg_fetch_array($query);
$name = $row[nazwa];

echo "Twój głos został zaliczony !!";
echo "<br><br><a href=index.php>Przejdż do strony głównej</a>";
}
?>
</BODY>
</HTML>
[/php:1:c7b900d579]

Proszę o pomoc !
BzikOS
Zamień:
[php:1:9e9ca89771]<?php
if ($glos_toplista)
?>[/php:1:9e9ca89771]

na

[php:1:9e9ca89771]<?php
if ($_COOKIE['glos_toplista'])
?>[/php:1:9e9ca89771]
tiraeth
Dzięki, poradziłem już sobie z małą pomocą... Mam jeszcze jeden problem... Jak mogę zrobić aby zmienną $banner wyswietlało tylko w 10 pierwszych rekordach questionmark.gif Pomocy !
dob
Wrzuc w pętle którą zapewne wyświetlasz ifa

np

[php:1:5c0e16555c]<?php
if($i<10){
//tu wyswietlaj z bannerkiem
}else{
//tu wyswietlaj bez bannerka
}
?>[/php:1:5c0e16555c]
tiraeth
Próbowałem to robić dzieląc funkcję for:

[php:1:8ccb4406c7]<?php
for($i=0; $i<=10; $i++)
{
// tutaj z bannerkiem
}
for($i=10; $i<=100; $i++)
{
// tutaj bez bannerka
}
?>[/php:1:8ccb4406c7]

Ale się rąbało i wyskakiwało, że nie może odczytać np. 10wiersza z bazy danych... i było pełno tabeli, w których miały się wyświetlać strony zapisane... Sam już nie wiem... Chyba troszeczkę zmienię tą topkę (będą buttony i wszędzie)... Temat z wyświetlaniem uważam za zamknięty

Nie będę tworzyć nowego tematu więc tutaj kierują drugą proźbę:

Jak stworzyć Panel Admin'a oparty na sesjach, bo ich wogule nie rozumiem...

c.Y.a
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-2024 Invision Power Services, Inc.