Gå til innhold

Hente brukernavn ved hjelp av session


Anbefalte innlegg

Jeg trenger litt hjelp her.. På index.php så skal jeg hente brukernavnet som jeg har laget som session i sjekk.php.. Men når jeg kjører den så kommer det ikke opp noe, noen som vet hva som er feil?

 

 

//			 SJEKK.PHP
<?php
include 'db.php';
ob_start();
// Koble til databasen og slikt
mysql_connect("$host", "$db_brukernavn", "$db_passord")or die("Kan ikke koble til databasen");
mysql_select_db("$database")or die("Kan ikke velge database");

// brukernavn og passor fra form
$brukernavn_logginn = $_POST['brukernavn'];
$passord_logginn = $_POST['passord'];


$spørring = "SELECT * FROM $tabell WHERE brukernavn = '$brukernavn_logginn' and passord = '$passord_logginn'";
$result = mysql_query($spørring);

// Mysql_num_row is counting table row
$bruker = mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($bruker == 1){
// Registrerer brukernavn og passord som session og sender videre til index.php
session_register("brukernavn");
session_register("passord");
header("location:index.php");
}
else {
echo "Feil brukernavn eller passord";
}

?>

 

//			INDEX.PHP
<?
session_start();
// Sjekker om session er registrert
if(!session_is_registered(brukernavn)){
header("location:logginn.php");
}
?>

<html>
<body>
<br/>
Du er innlogget <br/>
Hei <?php echo "du er " . $_SESSION["brukernavn"];?>  <----- HER PRØVER JEG Å FÅ FRAM BRUKERNAVNET.
<br/>
<a href="loggut.php"> Logg ut</a>
</body>
</html>

Endret av Oxaren
Lenke til kommentar
Videoannonse
Annonse
på index.php tenker du?

om brukerene ligger i mysql så må du hente dem ut og legg dem i en streng. la oss si $brukerid og så sier du at

 

$_SESSION['brukernavn'] = $brukerid derretter

 

$sessionid = $_SESSION['brukernavn']; for å få det litt lettere å skrive xD

 

mener det er slik jeg har jort det, om noe er feil si ifra noen xD

Lenke til kommentar

I sjekk.php skal du ikke bruke session_register(), den er avleggs. Du setter heller ikke noen verdier, da du ikke har variabler som heter $brukernavn og $passord.

 

Sessions settes med $_SESSION['key'] = $value;

 

Når du skal sjekke om en session er satt, skal du bruke if (isset($_SESSION['key'])) {}, ikke session_is_registered(). (jfr. index.php)

 

Men det viktigste er at du må sette verdier i sessionene i sjekk.php, $_SESSION['brukernavn'] = $brukernavn_fra_db;

 

Du kan også med fordel ta en titt på mysql_real_escape_string()

Lenke til kommentar

Men nå sliter jeg med et annet problem, det virker som den ikke klarer å lage session.. Noen som ser hva som er galt?

SJEKK.PHP
<?php
include 'db.php';
ob_start();
// Koble til databasen og slikt
mysql_connect("$host", "$db_brukernavn", "$db_passord")or die("Kan ikke koble til databasen");
mysql_select_db("$database")or die("Kan ikke velge database");

// brukernavn og passor fra form
$brukernavn_logginn = $_POST['brukernavn'];
$passord_logginn = $_POST['passord'];


$spørring = "SELECT * FROM $tabell WHERE brukernavn = '$brukernavn_logginn' and passord = '$passord_logginn'";
$result = mysql_query($spørring);

// Mysql_num_row is counting table row
$bruker = mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($bruker == 1){
// Registrerer brukernavn og passord som session og sender videre til index.php
$_SESSION['brukernavn'] = $brukernavn_logginn;
$_SESSION['passord'] = $passord_logginn;
header("location:index.php");
}
else {
echo "Feil brukernavn eller passord";
}
?>

INDEX.PHP
<?

session_start();

// Sjekker om session er registrert
if(isset($_SESSION['brukernavn'])){
echo "Du er innlogget";
}
else{
header("location:logginn.php");
}
?>

<html>
<body>
<br/>
<br/>
Hei <?php echo "du er " . $_SESSION['brukernavn'];?>
<br/>
<a href="loggut.php"> Logg ut</a>
</body>
</html>

 

Den går bare retttilbake til logginn.php

Endret av Oxaren
Lenke til kommentar
Men nå sliter jeg med et annet problem, det virker som den ikke klarer å lage session.. Noen som ser hva som er galt?
SJEKK.PHP
<?php
include 'db.php';
ob_start();
// Koble til databasen og slikt
mysql_connect("$host", "$db_brukernavn", "$db_passord")or die("Kan ikke koble til databasen");
mysql_select_db("$database")or die("Kan ikke velge database");

// brukernavn og passor fra form
$brukernavn_logginn = $_POST['brukernavn'];
$passord_logginn = $_POST['passord'];


$spørring = "SELECT * FROM $tabell WHERE brukernavn = '$brukernavn_logginn' and passord = '$passord_logginn'";
$result = mysql_query($spørring);

// Mysql_num_row is counting table row
$bruker = mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($bruker == 1){
// Registrerer brukernavn og passord som session og sender videre til index.php
$_SESSION['brukernavn'] = $brukernavn_logginn;
$_SESSION['passord'] = $passord_logginn;
header("location:index.php");
}
else {
echo "Feil brukernavn eller passord";
}
?>

INDEX.PHP
<?

session_start();

// Sjekker om session er registrert
if(isset($_SESSION['brukernavn'])){
echo "Du er innlogget";
}
else{
header("location:logginn.php");
}
?>

<html>
<body>
<br/>
<br/>
Hei <?php echo "du er " . $_SESSION['brukernavn'];?>
<br/>
<a href="loggut.php"> Logg ut</a>
</body>
</html>

 

Den går bare retttilbake til logginn.php

 

 

hm det er noe galt der ja.. du må ha noe med session_register vet jeg vertfall

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...