Multie Poll Systeem
Ik ben bezig met een Multie poll.
Hij is bijna af alleen 1 probleem..
Ik heb er een IP register systeem in gemaakt zodat als je al hebt gestemt dat je dat niet nog een keer gaat doen..
Dat heb ik nu alleen hij wil niet egt..
Dit is m'n script waar word gekeeken als je al hebt gevote:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$ip = $_SERVER['REMOTE_ADDR'];
$sqla = "SELECT ip FROM php_poll WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
header("Location: results.php?id=$id");
exit;
}
$sqla = "SELECT ip FROM php_poll WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
header("Location: results.php?id=$id");
exit;
}
en je IP toevoegen:
Code (php)
1
2
2
$sql = "UPDATE php_poll SET ip = CONCAT(ip, '," . $_SERVER['REMOTE_ADDR'] . "') WHERE id='$id'";
$res = mysql_query($sql);
$res = mysql_query($sql);
Nu is het probleem dat als ik vote dan komt er in de leege tabel dit te staan:
,ip
als ik er dan een standaard waarde in zet dan word ik automatish al door geschaakeld naar de results pagina..
DB Kollom:
Quote:
$sql = "UPDATE php_poll SET ip = CONCAT(ip, '," . $_SERVER['REMOTE_ADDR'] . "') WHERE id='$id'";
Wat wil je met die CONCAT() eigenlijk doen? Je zet toch gewoon het ip-adres in de kolom 'ip' ? Of sla jij een voornaam in de kolom 'voornaam' op met CONCAT('voornaam', $voornaam) ? Lijkt mij toch van niet... Hiermee verkloot je de database en kun je vervolgens geen vergelijkingen meer doen.
Maak de kolom 'ip' UNIQUE en insert het ip-adres. Wanneer het ip-adres al in de tabel staat, gaat de query fout. De foutmelding vang je op met je foutafhandeling (error 1062) en klaar ben je.
vervangen door:
Ik gebruik trouwens maar 1 collom om alle IP's erin te zette die al hebbe gestemt..
en dan?? :S
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
Iemand?
Succes.
Ik probeer het wel alleen ik weet niet hoe ik zo maak wat jij bedoelt :S
1, ID
2, IP
Het script selecteerd de ID die bij de poll hoort en je IP, staat die er in dan word je doorverwezen naar results..
Nu is het probleem, als ik op die pagina ga dan word ik doorverwezen terwijl php_poll_ip heelemaal leeg is..
Ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$ip = $_SERVER['REMOTE_ADDR'];
$sqla = "SELECT ip FROM php_poll_ip WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
header("Location: results.php?id=$id");
exit;
}
$sqla = "SELECT ip FROM php_poll_ip WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
header("Location: results.php?id=$id");
exit;
}
Dat lukte niet..
ik deed dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
$ip = $_SERVER['REMOTE_ADDR'];
$sqla = "SELECT * FROM php_poll_ip WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
echo '
Stats:<br>
sqla = '.$sqla.' <br>
res = '.$res.'
';
exit;
}
$sqla = "SELECT * FROM php_poll_ip WHERE ip = '$ip' AND id = '$id'";
$res = mysql_query($sqla) or die(mysql_error());;
if ($res >= 1){
echo '
Stats:<br>
sqla = '.$sqla.' <br>
res = '.$res.'
';
exit;
}
en kreeg dit te zien:
Stats:
sqla = SELECT * FROM php_poll_ip WHERE ip = '80.61.229.220' AND id = '1'
res = Resource id #7
Iemand??
vervangen door:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$res = mysql_query($sqla) or die(mysql_error());;
$aantal=mysql_num_rows($res);
if ($aantal ==1)// kan namelijk nooit groter zijn :)
{
?>
$res = mysql_query($sqla) or die(mysql_error());;
$aantal=mysql_num_rows($res);
if ($aantal ==1)// kan namelijk nooit groter zijn :)
{
?>
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven