Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaawansowane operowanie cookiesami
MaxRipper
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


No dobra chlopaki i znowu powracam z nowym problemem.... A wiec wyjasniam:

Zrobilem sobie skrypt do glosowania na daną recenzję i ustawilem blokowanie glosowania dla cookie wygląda to mniej więcej tak:

[php:1:2df5a42eed]<?php
if ($ocen == 'tak')
{
if ($splitglos == '2')
{ echo "JUZ GŁOSOWAŁEŚ BARANIE!!!!!!!!!!!!!!!!";}
else
{
$cookievalue = '2';
$splitglos = "678eriu";
setcookie($splitglos, $cookievalue, time()+3600);
// dalej dodaje do bazy
}
}
?>[/php:1:2df5a42eed]

I formularz do głosowania:

[php:1:2df5a42eed]<?php
<form method="post">
<select name="ocena" onChange="MM_jumpMenu('parent',this,0) ">
<option value="0" selected>- oceń -</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=1&<? echo SESID; ?>">1 - sad.gif</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=2&<? echo SESID; ?>">2</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=3&<? echo SESID; ?>">3</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=4&<? echo SESID; ?>">4</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=5&<? echo SESID; ?>">5</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=6&<? echo SESID; ?>">6</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=7&<? echo SESID; ?>">7</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=8&<? echo SESID; ?>">8</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=9&<? echo SESID; ?>">9</option>
<option value="film.php?film=<? echo $film; ?>&ocen=tak&ocena=10&<? echo SESID; ?>">10 - biggrin.gif</option>
</select>
</form>
?>[/php:1:2df5a42eed]


Wszystko działa pięknie ale...... (jak zwykle) występuje problem gdy np chcę zagłosować na inny film .... Jak zrobić ustawienia cookie dla każdego filmu osobno tzn że np żebym nie mógl glosować na ten sam kilka razy a żebym mógł głosować na inne(na inne ale też tylko raz)? Aha dodam jeszcze że linki do danej recenzji wyglądają mniej więcej tak film.php?film=1 // gdzie te 1 to inaczej id pobrany z bazy
Go to the top of the page
+Quote Post
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


[php:1:b31fac22db]<?php
setcookie("glos[".$_GET["film"]."]",$cookievalue, time()+3600);
?>[/php:1:b31fac22db]

odczytujesz dane tak:

[php:1:b31fac22db]<?php
// Sprawdzamy czy głos był oddany na film nr 123
if(($_COOKIE["glos"]["123"]==2)
{
echo "Już głosowałeś";
}
?>[/php:1:b31fac22db]

Zobacz także to.


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

Go to the top of the page
+Quote Post
MaxRipper
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Zrobilem tak jak poniżej i dalej coś nie działa sad.gif :


Kod
// Wysylanie ciacha od glosowania

global $film;

if ($ocen == 'tak')

{

if("glos[".$_GET["$film"]."]" == 1)

{ }

else

{

$cookievalue = '1';

setcookie("glos[".$_GET["$film"]."]", $cookievalue, time()+20);

    }

}



mysql_connect ($dbhost, $dblogin, $dbpass);

mysql_select_db ($db);

//Ocenianie filmu

if ($ocen=="tak")

{

if("glos[".$_GET["$film"]."]" == 1)

{

$glosmsg = "<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">

<tr><td bgcolor="#FFFFFF"><div align="center">Już głosowałeœ na ten film! Spróbuj póŸniej.</div></td></tr></table>";

    }

else

{

$glosmsg = "<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">

<tr><td bgcolor="#FFFFFF"><div align="center">Dziękujemy za oddanie głosu ! Twoja ocena to: <strong>$ocena</strong>.</div></td></tr></table>";

$zapytanie = "UPDATE filmy SET suma=suma+$ocena, glosow=glosow+1 WHERE id='$film' ";

$wykonaj = mysql_query ($zapytanie);

    }

}

?>[/php]
Go to the top of the page
+Quote Post
MaxRipper
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Wszystko już działa - dziękuję wszystkim za pomoc.. Problem rozwiązalem tak:

Kod
// Wysylanie ciacha od glosowania

if ($ocen == 'tak')

{

if($_COOKIE['film'.$film] == 1)

{ }

else

{

$cookievalue = '1';

setcookie('film'.$film, $cookievalue, time()+20);

// no i dalej dodaje do bazy :)

    }

}
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:43