Avatar billede janorakel Nybegynder
25. september 2003 - 22:52 Der er 21 kommentarer og
1 løsning

Session - FATTER INTET!

Hejsa,
jeg har modificeret lidt på loginscriptet fra http://showsource.dk (tidligere sukos.dk), og jeg vil gerne hente en værdi --> "land" fra tabellen brugere.
Jeg smider "land" ind i en anden tabel ved hjælp af:
<input type="hidden" name="land" value="<?php echo $_SESSION["land"]; ?>">, og jeg har smidt <?=$_SESSION['land']?> ind i toppen af scriptet.

Min dologin.php ser sådan ud!

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($_POST['password']);


//skift selv bruger og pass til databasen.
$db = mysql_connect("localhost", "xxx", "xxx") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("book", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT * FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];
$_SESSION['navn'] = $land;

header("Location:sog.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>

Jeg har kigget i andre spm. som http://www.eksperten.dk/spm/313321 , men jeg fatter det ikke. Hvis jeg erstatter "land" med "Name" virker det  - men ikke med "land".

Hjæææælp
Avatar billede janorakel Nybegynder
25. september 2003 - 22:54 #1
Der stod self. $_SESSION['land'] = $land; da det virkede med "Name"
Avatar billede squashguy Nybegynder
25. september 2003 - 22:59 #2
$_SESSION['navn'] = $land;
->
$_SESSION['land'] = $land;

eller hva'?
Avatar billede janorakel Nybegynder
25. september 2003 - 23:01 #3
øhm, $_SESSION['land'] = $land; virker - jeg er sikker på at denne dologin.php skal rettes til. Den anden gør at jeg ikke kan logge ind..
Avatar billede janorakel Nybegynder
25. september 2003 - 23:02 #4
Stammer fra et experiment
Avatar billede maxsten Nybegynder
25. september 2003 - 23:14 #5
prøv at fjerne dette:

header("Location:logind.php?error=fejl");
exit;
}


Maxsten
Avatar billede maxsten Nybegynder
25. september 2003 - 23:14 #6
(svar ovenover)
Avatar billede maxsten Nybegynder
25. september 2003 - 23:15 #7
nej.. min fejl.. dette 

header("Location:logind.php?error=fejl");
restart;
}

skriv det i stedet for:

header("Location:logind.php?error=fejl");
exit;
}

maxsten
Avatar billede janorakel Nybegynder
25. september 2003 - 23:16 #8
Nej, det er ikke det!! Hjælper ikke.
Avatar billede janorakel Nybegynder
25. september 2003 - 23:17 #9
Så ikke lige anden omgang.. vent
Avatar billede janorakel Nybegynder
25. september 2003 - 23:18 #10
Det smider ikke noget "land" i tabellen - og det er ikke det.
Avatar billede janorakel Nybegynder
25. september 2003 - 23:20 #11
Det er $_SESSION et eller andet vi skal have fat i.
Avatar billede squashguy Nybegynder
25. september 2003 - 23:27 #12
hvor initialiserer du $land ?
Avatar billede squashguy Nybegynder
25. september 2003 - 23:28 #13
om som maxsten siger, har du ikke en else for meget?
Avatar billede squashguy Nybegynder
25. september 2003 - 23:31 #14
$tjek = mysql_query("SELECT * FROM brugere WHERE navn='".$_POST['land']."' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");
Avatar billede janorakel Nybegynder
25. september 2003 - 23:36 #15
hmmm, skal der tilføjes --> AND land='$land'  eller hva' - i queryen?
Scriptet har jeg ikke rettet på der.
Avatar billede janorakel Nybegynder
25. september 2003 - 23:44 #16
Næ, for hvis der er fejl i login rammer man bare login igen og hvis det er rigtigt kommer man videre.
Avatar billede squashguy Nybegynder
26. september 2003 - 00:07 #17
jeg ved stadig ikke om jeg helt har forsået hvad dit problem er.

mht den sidste else har du ret, jeg overså den pga din manglende indrykning.
Avatar billede janorakel Nybegynder
26. september 2003 - 08:37 #18
Hejsa, jeg har modificeret brugertabellen ved at indsætte flere felter. Via et andet script indtaster en bruger nogle data og sammen med de data skal brugeren også indtaste sit hjemland. Det mener jeg, at det kan trækkes ud fra en session.
Det er super at der er nogen som kan hjælpe.
Avatar billede janorakel Nybegynder
26. september 2003 - 13:37 #19
Er der nogen som kan hjælpe?
Avatar billede janorakel Nybegynder
26. september 2003 - 13:43 #20
Jeg kan paste hele scriptet, hvis det kan hjælpe?
Avatar billede janorakel Nybegynder
28. september 2003 - 14:22 #21
Er der nogen som kan hjælpe?
Avatar billede janorakel Nybegynder
28. september 2003 - 14:56 #22
Jeg har fundet ud af det!!

Her er koden:

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($_POST['password']);


//skift selv bruger og pass til databasen.
$db = mysql_connect("xxx", "xxx", "xxx") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("book", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT * FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$var = mysql_fetch_Array($tjek);
$land = $var["land"];

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];
$_SESSION['land'] = $row['land'];

header("Location:sog.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre

BEC Financial Technologies

Senior Platform/System Engineer

Politiets Efterretningstjeneste

Sektionsleder til AI-implementering i PET