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
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.