Hej. jeg har lavet en login som er her: <? //Session session_start(); //MySQL database con. mysql_connect("X.X.X", "X_X", "X") or die (mysql_error()); mysql_select_db("psychos_dk") or die (mysql_error()); //Tjekker om man kommer fra en side hvor der er blevet submit if(!isset($_POST['Submit'])) { header("Location: login.php?fejl=side"); exit; } //Tjekker om det er rigtigt $brugernavn = $HTTP_POST_VARS[brugernavn]; $password = $HTTP_POST_VARS[password]; $resultat = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND password = '$password'"); //Antal Numre $number = mysql_num_rows($resultat); if($number != '1') { header("Location: login.php?fejl=login"); exit; } elseif ($number == '1') { $row = mysql_fetch_array($resultat) or die(mysql_error()); $id = $row[id]; session_register("id"); $_SESSION['login'] = "1"; $_SESSION['rang'] = $row[id]; if ($row[rang] == 'admin') { mysql_query("UPDATE bruger SET online = online + 1 WHERE id='".$row[id]."'"); header("Location: admin/adminindex.php"); } elseif ($row[rang]== 'bruger') { mysql_query("UPDATE bruger SET online = online + 1 WHERE id='".$row[id]."'"); header("Location: bruger/brugerindex.php"); } } ?> Men den fik jeg aldrig til at hvirke men det som den jeg skal bruge er at den skal kunne gemme id og brugernavn og password og rang og login i sessions og den skal gå ind på 2 forskælige sider og vis man er en admin kommer man ind på admin og vis bruger jamen så bruger se selv i koden hvordan det skal funke
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
Dette er forkert: $brugernavn = $HTTP_POST_VARS[brugernavn]; $password = $HTTP_POST_VARS[password]; Lav det om så der står: $brugernavn = $_POST['brugernavn]; $password = $_POST['password'];
Du bør også bruge: $row['id'] og ikke $row[id] Den slags har du mange af, du skal huske at du ikke kan indeksere et array med en ikke defineret konstant.
<? //Session session_start(); //MySQL database con. mysql_connect("X", "XX", "X") or die (mysql_error()); mysql_select_db("X_X") or die (mysql_error()); //Tjekker om man kommer fra en side hvor der er blevet submit if(!isset($_POST['Submit'])) { header("Location: login.php?fejl=side"); exit; } //Tjekker om det er rigtigt $brugernavn = $_POST['brugernavn']; $password = $_POST['password']; $resultat = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND password = '$password'"); //Antal Numre $number = mysql_num_rows($resultat); if($number != '1') { header("Location: login.php?fejl=login"); exit; } elseif ($number == '1') { $row = mysql_fetch_array($resultat) or die(mysql_error()); $id = $row['id']; $_SESSION['login'] = "1"; $_SESSION['id'] = $id; $_SESSION['brugernavn'] = $row['brugernavn']; $_SESSION['password'] = $row['password']; $_SESSION['rang'] = $row['rang']; if ($row[rang] == 'admin') { mysql_query("UPDATE bruger SET online = online + 1 WHERE id='".$row[id]."'"); header("Location: admin/adminindex.php"); } elseif ($row[rang]== 'bruger') { mysql_query("UPDATE bruger SET online = online + 1 WHERE id='".$row[id]."'"); header("Location: bruger/brugerindex.php"); } } ?>
det der ikke hvirker er at den ikke gider gemme id i ens sessions... vi sjeg skriver echo "$row['id']"; så skriver den 1 som er rigtigt men den gider ikke gemme det i session's har du icq eller msn?
Sikker på at du ikke har udeladt en session_start(); i din anden side? Hvordan tjekker du session variablen i din anden side? Med $_SESSION['id'] ? Er det din server? Jeg har før oplevet et webhotel, hvor sessions ikke virkede. Principielt burde du kunne både sende headers og sætte sessioncookies, men prøv evt. at indsætte ob_start(); i toppen.
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.