qualitum logo
ID SESSION Problematik

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Fopo



Medlem i: 1950 dagar
Från: Göteborg
Status: Offline



#722214
Inlägg Skrivet: 2012-04-03 15:11      Ämne: ID SESSION Problematik Citera

Godeftermiddag,

Suttit med ett problem nu en längre tid och får det bara inte löst!

Jag vill skapa en session av det ID som användarnamnet och lösenordet tillhör när man loggar in på sidan för att sedan använda det när användaren är inloggad. (T.ex settings.php?id=1)

Någon som har en idé hur jag skall göra för att skapa sessensionen?

All hjälp uppskattas!
/Felix

Databasens uppbyggnad
id - username - password - address - telephone - telephonetwo - type

Login.php
PHP:
1:
<?php
2:
 
3:
include 'login/conn.php';
4:
 
5:
// Database connect
6:
mysql_connect("$host","$user","$pass")or die("Cannot Connect");
7:
mysql_select_db("$db")or die("Cannot Select DB");
8:
 
9:
$id=$_POST['id'];
10:
$username=$_POST['username'];
11:
$password=$_POST['password'];
12:
 
13:
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
14:
$result mysql_query($sql) or die(mysql_error());
15:
 
16:
while($row mysql_fetch_assoc($result))
17:
 
18:
// Se om vi hittar en rad:
19:
if (mysql_num_rows($result) == 1) {
20:
session_start();
21:
$_SESSION['login'] = "1";
22:
$_SESSION['id'] = $id;
23:
$_SESSION['username'] = $username;
24:
$_SESSION['password'] = $password;
25:
header('location:login/');
26:
} else {
27:
 
28:
include 'header.php';
29:
echo "<div id='rnav'><h3>Error</h3></div>";
30:
echo "<div id='rcontent'>";
31:
echo "<p>Wrong password or username</p>";
32:
echo "</div>";
33:
echo "</div>";
34:
include 'left.php';
35:
include 'footer.php';
36:
}
37:
?>
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
PaulMcShit



Medlem i: 595 dagar

Status: Offline



#722229
Inlägg Skrivet: 2012-04-03 18:55      Ämne: Citera

Du har ju redan skapat en session av id på rad 22.

$_SESSION['id'] = $id;
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Fopo



Medlem i: 1950 dagar
Från: Göteborg
Status: Offline



#722232
Inlägg Skrivet: 2012-04-03 20:55      Ämne: Citera

Jo men sessensionen innehåller inget id eftersom $id det ingenstans framgår vilket id som tillhör användaren som precis loggat in...
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Extreem_



Medlem i: 2493 dagar

Status: Offline



#722233
Inlägg Skrivet: 2012-04-03 21:48      Ämne: Citera

Fopo skrev:
Jo men sessensionen innehåller inget id eftersom $id det ingenstans framgår vilket id som tillhör användaren som precis loggat in...

$id sätts på rad 9. Vill du hämta id från databasen använd $row['id'] i loopen istället.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
marabou
Moderator



Medlem i: 3177 dagar
Från: Sveriges framsida
Status: Offline



#722237
Inlägg Skrivet: 2012-04-03 22:16      Ämne: Citera

Vad kommer $_POST['id'] ifrån ? HAr du ett id-fält i formuläret? Annars har den ju inte där att göra.
Förmodligen vill du göra som Extreem_ skriver och använda $row['id'];

Sen har jag bara en synpunkt. Om användarnamn och lösenord inte finns så kommer ingenting att hända, eftersom if-satsen på rad 19 bara körs om det kommer en rad från databasen (while-loopen på rad 16). Alltså kommer inte else på rad 26 heller att köras. Du har vänt på if (mysql_num_rows) och while (mysql_fetch_assoc).

Sen bör du säkra lösenorden genom att hasha dem (www.phpportalen.net/viewtopic.php?t=72202)
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Wedge
Administratör



Medlem i: 3947 dagar
Från: Järfälla
Status: Offline



#722238
Inlägg Skrivet: 2012-04-03 22:48      Ämne: Citera

En annan grej som får underkänt är att användarinput går direkt in i queryn. Inte alls svårt att hacka sig in där.
 

_________________
Qualitum Webbhotell | Gomoku.se | PHP6.se
Skådebröd är fullt av optisk fiber
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Fopo



Medlem i: 1950 dagar
Från: Göteborg
Status: Offline



#722239
Inlägg Skrivet: 2012-04-03 23:24      Ämne: Citera

Extreem_ skrev:
Fopo skrev:
Jo men sessensionen innehåller inget id eftersom $id det ingenstans framgår vilket id som tillhör användaren som precis loggat in...

$id sätts på rad 9. Vill du hämta id från databasen använd $row['id'] i loopen istället.



Jag prövade att ersätta "$id=$_POST['id']" med detta "$id=$row['id'];"

och jag misstänker att det inte var det du menade... Har prövat mig fram en stund och försökt lägga in $row['id'] i "while($row = mysql_fetch_assoc($result))" på rad 16 men det går inge bra!

Vad gör jag fel?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
marabou
Moderator



Medlem i: 3177 dagar
Från: Sveriges framsida
Status: Offline



#722240
Inlägget är accepterad som det rätta svaret Skrivet: 2012-04-03 23:50      Ämne: Citera

Byt ut $id mot $row['id'] på rad 22, och sedan tar du bort rad 9.

Detta förutsätter förstås att det finns ett fält i databasen som heter id
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Fopo



Medlem i: 1950 dagar
Från: Göteborg
Status: Offline



#722255
Inlägg Skrivet: 2012-04-04 11:42      Ämne: Citera

marabou skrev:
Byt ut $id mot $row['id'] på rad 22, och sedan tar du bort rad 9.

Detta förutsätter förstås att det finns ett fält i databasen som heter id


Jag tackar jag tackar!! Tack så hemskt mycket Smile Nu fungerar det, najjs!!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo