mysql_query("UPDATE brugersystem SET loginds = '$logindantal',sidst_klik = '0',sidst_dag='$dag',sidst_dato='$dato',sidst_mon='$mon',sidst_year='$year',sidstlogind='$tid' WHERE id = '$r_tjek[id]'");
$ip5 = $r_tjek[ipfire]; $ip4 = $r_tjek[iptre]; $ip3 = $r_tjek[ipto]; $ip2 = $r_tjek[ipet]; $ip = $_SERVER['REMOTE_ADDR']; mysql_query("UPDATE brugersystem SET ipfem = '$ip5' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipfire = '$ip4' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET iptre = '$ip3' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipto = '$ip2' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipet = '$ip' WHERE id = '$r_tjek[id]'"); ?> <script language="javascript"> location.replace('index.php'); </script> <?
Jeg har prøvet at rette en smule i din kode, håber den er lidt lettere at overskue for dig og måske andre:
<?php session_start(); //Nogen connect til DB...
//Er brugeren logget ind i forvejen? if(empty($_SESSION['my_id']) && !isset($_SESSION['my_id'])) { //Er login og kodeord gemt som en cookie? if(!empty($_COOKIE['ng_login']) && !empty($_COOKIE['ng_pass'])) { //Escaper input, så vi undgår SQL injections $login = mysql_real_escape_string($_COOKIE['ng_login']); $pass = mysql_real_escape_string($_COOKIE['ng_pass']); $cookie_sql = mysql_query("SELECT * FROM brugersystem WHERE brugernavn = '".$login."' AND kodeord = '".$pass."' LIMIT 1");
//Fandt vi en gyldig bruger? if(mysql_num_rows($cookie_sql)>0) { //Ja det gjorde vi! $cookie_row = mysql_fetch_array($cookie_sql); $_SESSION['brugernavn'] = $cookie_row['brugernavn']; $_SESSION['kodeord'] = $cookie_row['kodeord']; $_SESSION['my_id'] = $cookie_row['id'];
$tid = TIME(); $logindantal = $r_tjek[loginds]+1;
mysql_query("UPDATE brugersystem SET loginds = loginds+1,sidst_klik = '0',sidst_dag='$dag',sidst_dato='$dato',sidst_mon='$mon',sidst_year='$year',sidstlogind=NOW() WHERE id = '".$_SESSION['my_id']."' LIMIT 1");
//Denne kode forstår jeg slet ikke meningen med... /* $ip5 = $r_tjek[ipfire]; $ip4 = $r_tjek[iptre]; $ip3 = $r_tjek[ipto]; $ip2 = $r_tjek[ipet]; $ip = $_SERVER['REMOTE_ADDR']; mysql_query("UPDATE brugersystem SET ipfem = '$ip5' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipfire = '$ip4' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET iptre = '$ip3' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipto = '$ip2' WHERE id = '$r_tjek[id]'"); mysql_query("UPDATE brugersystem SET ipet = '$ip' WHERE id = '$r_tjek[id]'"); */ header("location: index.php"); } else { //Nej, vi fandt ingen bruger i databasen... } } else { //Nej, brugeren havde ikke gemt login og kodeord i en cookie. } } else { //Brugeren er ikke logget ind... }
Fejlen er at når du prøver at sætte (slette) dine cookies, så er der allerede sendt noget til klienten. Umiddelbart er det linjerne hvor du hopper ud af php og sender <script osv... til klienten. jakobdo foreslår at du udskifter dette segment med header("location: index.php"); og derved forbliver i php, hjælper det ?
Men jeg syntes det lyder mærkeligt at der er forskel på hvilken browser du ser siderne i, umiddelbart burde det være det samme da php jo 'køres' på serveren.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.