Ett långskott.
Du har inte nyligen uppdaterat din PHP till en nyare version. I såfall kan register_globals numera vara satt till Off, och då får du istället skriva:
if ($_GET['o']==1) {
8 svar · 267 visningar · startad av visslaren
har ett litet problem med en poll. den vill inte lägga till nån röst även fast man röstat.
if ($o==1) {
$sql="UPDATE week SET res1=res1+1";
}
elseif ($o==2) {
$sql="UPDATE week SET res2=res2+1";
}
elseif ($o==3) {
$sql="UPDATE week SET res3=res3+1";
}
elseif ($o==4) {
$sql="UPDATE week SET res4=res4+1";
}
mysql_query("$sql")
or die(mysql_error());
anropas med vanliga länkar såsom denna:
echo (" <a href=javascript:voter('vote.php?o=3','vote','scrollbars=yes,width=350,height=280')>".$rad10[6]."</a>");
när man tryckt på länken så öppnas sidan som lägger till rösten i ett nytt fönster som sedan skickas vidare till resultaten. men som sagt; ingen röst lägs till.
det har fungerat förut men inte nu längre. nån som kan se nåt fel?
Ett långskott.
Du har inte nyligen uppdaterat din PHP till en nyare version. I såfall kan register_globals numera vara satt till Off, och då får du istället skriva:
if ($_GET['o']==1) {
register_globals är satt till On men jag provade ändå med $_GET['o'] men det fungera inte :(
En annan sak, som jag i och för sig inte tror gör någon skillnad, är att du ska inte ha några citationstecken runt din variabel i mysql_query().
mysql_query($sql)
or die(mysql_error());
Annars blir det till att lägga in lite echo här och var, t.ex i if-satserna och echo $sql före mysql_query($sql);
if ($o==1) {
$sql="UPDATE week SET res1=res1+1";
}
elseif ($o==2) {
$sql="UPDATE week SET res2=res2+1";
}
elseif ($o==3) {
$sql="UPDATE week SET res3=res3+1";
}
elseif ($o==4) {
$sql="UPDATE week SET res4=res4+1";
}
mysql_query("$sql")
or die(mysql_error());
Lite OT, men varför använder du inte en switch-sats istället?
när jag skrev koden hade jag inte så mycket tid på mig så det blev en ifsats då :)
har prövat en switch sats nu men ingen förändring:
switch ($o) {
case 1:
$sql="UPDATE week SET res1=res1+1";
break;
case 2:
$sql="UPDATE week SET res2=res2+1";
break;
case 3:
$sql="UPDATE week SET res3=res3+1";
break;
case 4:
$sql="UPDATE week SET res4=res4+1";
break;
}
ok. det är nu uppenbart vad felet beror på; min korkskallighet :P det var inte alls fel på den där koden, däremot var det fel i koden som visade resultatet. spelbasen (som pollen finns på) bytte server nu i dagarna och jag missade tydligen ändra mysqlkopplingen på den sidan som visar resultat så den läste av från gamla databasen. så nu har jag ödslat ett par timmar på att försöka hitta ett fel på en felfri sida :P
fast jag lärde mig ju i alla fall switch som jag nu använder istället för den där isatsen.
tack för hjälpen iaf :D
Haha, vad jobbigt. Sånt där är väl ändå lite otur de :)