Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  7 996
Siden det bare ble kål i den forrige tråden min , så lager jeg en ny en.

På nettsiden min har jeg en logg ut, lenken er /game/?logout
Når jeg da trykker på logout så får jeg denne feil meldingen:
SQL Error: Duplicate entry '416' for key

Jeg forstår ikke helt hvorfor jeg får den meldingen, håper på hjelp!
Her har dere kodesnutten til logg ut funksjonen i index filen. Er det kanskje lurest å ha en egen funksjon til logg ut ?

Kode

// Log out.
	if (isset($_GET['logout']))
	{
		$online_user->logout('IN-1');
		header("Location: ../");
		exit;


	}
Takk for svar på forhånd!
Trigonoceps occipita
vidarlo's Avatar
Donor
Må nødvendigvis ha koden for objektet online_user også, ettersom den kodesnutten din ikkje utfører ei einaste spørring.
Sitat av slashdot Vis innlegg
Må nødvendigvis ha koden for objektet online_user også, ettersom den kodesnutten din ikkje utfører ei einaste spørring.
Vis hele sitatet...



Her har du if online kodesnutten.

Kode

if (!IS_ONLINE)
	{
		header("Location: ../index.php?orign=" . rawurlencode($_SERVER['REQUEST_URI']));
		exit;
	}
	
	/*
		IS ONLINE
	*/
	
	$wanted_reset_price = 5;
	$wanted_reset_price = round($wanted_reset_price/100 * View::AsPercent(Player::Data('wanted-level'), $config['max_wanted-level']), 0);
	if ($wanted_reset_price < 1)
		$wanted_reset_price = 1;

Men jeg tror kanskje feilen er i databasen, for når man logger inn så blir verdien i tabellen "active" satt til 1, altså at man er innlogget. Men når man logger ut så får man SQL erroren..
Trigonoceps occipita
vidarlo's Avatar
Donor
Eg spurte ikkje etter if online. Eg spurte etter koden bak objektet $online_user. Sleng gjerne med databasestrukturen også.

Forøvrig; kva viser select på nøkkelrada som sql klager over? Har du to 416? Prøv å slett ein av dei.
Sist endret av vidarlo; 30. november 2012 kl. 18:45.
Når jeg prøver å logge ut så får jeg ID´en på session /game/?side=startside&sid=520
SQL Error: Duplicate entry '520' for key 1:


Databasestrukturen for sessions

Kode

`id` int(255) NOT NULL AUTO_INCREMENT,
  `Userid` varchar(32) NOT NULL,
  `IP` varchar(120) DEFAULT '',
  `User_agent` varchar(1000) DEFAULT '',
  `Time_start` int(225) DEFAULT '0',
  `Last_updated` int(225) DEFAULT '0',
  `Expires` int(225) DEFAULT '3600',
  `Active` int(1) DEFAULT '1',
  PRIMARY KEY (`id`)

Objekt etter $online_user:

Kode

}
		}
	elseif (isset($_GET['reset_wanted']) && Player::Data('wanted-level') > 0)
	{
		if ($wanted_reset_price > Player::Data('points'))
		{
			$wantedReset_msg = View::Message('Du har ikke nok poeng.', 2);
		}
		else
		{
			$db->Query("UPDATE `[players]` SET `points`=`points`-'".$wanted_reset_price."', `wanted-level`='0' WHERE `id`='".Player::Data('id')."'");
			Player::$datavar['wanted-level'] = 0;
			
			$wantedReset_msg = View::Message('Du har brukt <b>' . $wanted_reset_price . ' poeng</b> p&aring; &aring; nullstille timeren.', 1);
		}
	}
	
	if (Player::Data('status') == 0)
	{
		$db->Query("UPDATE `[players]` SET `status`='1' WHERE `id`='".$online_user->uid."'");
	}
Ser du noen spesielle feil?

Trenger hjelp, noen som vil sette av litt tid til dette? Setter stor pris på det.
Ingenting som feiler der heller. Det er updates, og med mindre database-strukturen din er fucked, så vil ikke feilen oppstå i koden du har postet der.

Send meg en PM, så kan jeg hjelpe deg me dette. Er antakelig ganske lett å fikse.
Sendte deg en PM nå Java Takk for at du tar deg tid til å hjelpe!
Jeg fikk til feilen ang SQL Error: Duplicate entry '561' for key 1:
Men så klarte jeg å restore backupen min til 1 time før jeg fikset feilen..


Nå får jeg erroren når jeg prøver å logge inn av en eller annen grunn,hvorfor?

Sitat av krishagenaa Vis innlegg
Jeg fikk til feilen ang SQL Error: Duplicate entry '561' for key 1:
Men så klarte jeg å restore backupen min til 1 time før jeg fikset feilen..


Nå får jeg erroren når jeg prøver å logge inn av en eller annen grunn,hvorfor?
Vis hele sitatet...

* Takk til Java som hjalp meg med å finne feilen!