09. juni 2005 - 10:09Der er
24 kommentarer og 1 løsning
Sessions har virket, men virker ikke længere
Jeg er ved og lave et login system. Det hele virkede før, men så skulle jeg lige rette i noget HTML. Og nu virker mine sessions ikke længere.
Min side godkend.php vil ikke engang vises hvis der ikke er sat // foran sessions. Nogen der ved hva der kan være galt, og der er ikke blevet rettet i godkend.php
$resultpass = mysql_query("SELECT `lvl`, `bruger` FROM `brugere` WHERE `bruger` = '". $_POST["bruger"] ."' AND `password` = '". $_POST["password"] ."'") or die (mysql_error());
// Her bliver der lavet session's, for og tjekke om man har været inde og "runde" databasen. Altså den tjekker om man er logget ind, og hva man har af rettigheder
Er det en fil du includer? Hvis ikke, så en lettere "omskevet":
<?php session_start();
//Connecter til MySQL databasen mysql_connect("localhost", "root", ""); mysql_select_db("rejsetaske");
$resultpass = mysql_query("SELECT `lvl`, `bruger` FROM `brugere` WHERE `bruger` = '". $_POST["bruger"] ."' AND `password` = '". $_POST["password"] ."'") or die (mysql_error());
Det ændrer jo intet fejlen er der stadig. Bruger jeg dit første forsøg, kan den ikke finde siden godkend.php. Medmindre jeg sætter // foran de 2 linjer
Nu vil browser i det mindste vise siden. Men man bliver ikke sendt videre til upload.php, selvom man skriver den rigtige bruger og pass. Man bliver sendt til fejl.php.
Nej det er ikke en side jeg includer. Index.php "poster" bruger og pass videre, hvor så godkend.php skal tjekke om det er et rigtigt bruger og pass. Og hvis det er, så sende en videre til upload.php
Flere brugere med samme brugernavn og/eller samme password?
Du kan jo starte "blødt"
<?php session_start();
//Connecter til MySQL databasen mysql_connect("localhost", "root", ""); mysql_select_db("rejsetaske");
$resultpass = "SELECT `lvl`, `bruger` FROM `brugere` WHERE `bruger` = '". $_POST["bruger"] ."' AND `password` = '". $_POST["password"] ."'";
if(mysql_query($resultpass)) { echo mysql_num_rows($resultpass) ." rows blev fundet i DB'en!"; }else{ echo"Ups, fejl i qurey!<br />". mysql_error(); } ?>
Johh, plejer nu at fungere dogt nok. Men du kan jo prøve:
if(true == mysql_query($resultpass)) { echo mysql_num_rows($resultpass) ." rows blev fundet i DB'en!"; }else{ echo"Ups, fejl i qurey!<br />". mysql_error(); }
Skulle jo så gerne skrive hvor mange rows den har fundet, også hvis det er 0
Har prøvet alt muligt. Men får nemt det problem med den ikke vil vise siden. Har du en ide til hvordan jeg kan få den til og virke? Har ikke den fjerneste ide til hva der er galt
//Connecter til MySQL databasen mysql_connect("localhost", "root", "") or die ("Kunne ikke connecte"); mysql_select_db("rejsetaske") or die ("Kunne ikke vælge DB");
$resultpass = "SELECT `lvl`, `bruger` FROM `brugere` WHERE `bruger` = '". $_POST["bruger"] ."' AND `password` = '". $_POST["password"] ."'";
if(mysql_query($resultpass)) { echo mysql_num_rows($resultpass) ." rows blev fundet i DB'en!"; }else{ echo"Ups, fejl i qurey!<br />". mysql_error(); } ?>
Ja browseren ville ikke vise godkend.php, når sessions var sat til. Men det var en fejl i headeren i upload.php. Så man skal altså også tjekke de andre sider, som den side der ikke fungerer linker til. Det kan også skabe problemer. Håber det kan hjælpe andre der skulle løbe ind i samme problem som mig
Synes godt om
Ny brugerNybegynder
Din løsning...
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.