10. marts 2008 - 16:39Der er
9 kommentarer og 1 løsning
Session kald
Hej
Jeg sidder med et problem som jeg tror har noget med sessions at gøre.
Jeg har et formfelt hvis action fører til en side hvor de informationer der er tastet ind formfeltet (brugernavn og password) bliver tjekket op mod en database og sender brugeren hen til en ny side som er brugerens egen side.
Problemet er at på brugerens egen side kan jeg ikke få fat oplysningerne fra databasen.
Og det er fordi, tror jeg, at der går noget galt med sessionen.
Er det korrekt?
Mine koder ser sådan ud her: Loginformen: <form id='contact' name='contact' action='login.php' target="loadme" method='post'> <table width="200" border="0"> <tr> <td><label for='full-name'>login: </label></td> <td><input name="login" type="text" class="border {required:true}" /></td> <td><label for='email'>Password: </label></td> <td><input name="password" type="password" class="border {required:true,password:true}" /></td> <td><input name="submit" type="submit" class="formborder" value="" /></td> </tr> </table> Siden med database tjekket: <?php session_start();
if (isset($_POST['submit'])) {
mysql_connect ('localhost','root',''); //kører på en lokal maskine mysql_select_db('database');
if (isset($brugerdata['id'])) { $_SESSION['KYL']= $brugerdata['id']; header('location:'.$homedir.'.php'); } else { echo "Du har skrevet forkert brugernavn og/eller password. Prøv venligst igen. Er der fortsat problemer så kontakt din administrator."; }
?>
$homedir er brugerens egen side, som ser sådan ud her:
Hej <?php $navn ?>
Og det er her jeg tror problemet er. $navn kan ikke findes. Den skirver i hvert fald ikke noget.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
$sql= "SELECT id, login, pw, navn, homedir, access_level FROM brugere WHERE login='$brugernavn' AND pw='$pw'"; mysql_real_escape_string($brugernavn), mysql_real_escape_string($pw);
Jeg er ikke helt med på den session der?
Jeg har fire filer
index.html - med formen der kalder filen med database tjekket login.php - filen der bliver kaldt af formen. Derudover der require'r en fil med et database kald. Her har jeg også session'en ($_SESSION['KYL']= $brugerdata['id']; som jeg så ikke må). dbkald.php - filen med kaldet til databasen (denne var ikke beskrevet ovenover, men jeg har bare taget database kaldet og indsat den der). brugerside.php - det er den der $homedir og som også require'r dbkald.php (men det ved jeg ikke om er nødvendigt).
Hvor er der den session skal være?
Det kan sikkert gøre på en meget smartere måde den måde jeg har gjort det på :-)
header('location:'.$homedir.'.php'); }else{ echo "Du har skrevet forkert brugernavn og/eller password. Prøv venligst igen. Er der fortsat problemer så kontakt din administrator."; } } ?>
Hvis det er en succes, så burde du på en anden side kunne skrive: <?php session_start(); echo 'Bruger: '.$_SESSION['navn']; echo '<br>'; echo 'ID: '.$_SESSION['KYL']; ?>
ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM brugere WHERE login='jost' AND pw='kode'' at line 1
Det kan være der er en slå fjel i koden eller der en anden fejl, men jeg skal ud af døren nu og kan ikke nå at tjekke det. Men tak for hjælpen indtil videre :-)
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.