qualitum logo
Inloggning med mysql och sessioner

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4 ... 121, 122, 123  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
thr
Inaktiverad



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



#31878
Inlägg Skrivet: 2003-04-07 10:46      Ämne: Citera

Hade för mig att man skulle posta användbara saker här :/ det dära plockar juh (jag tror att "ju" stavas så) vem som helst ihop på 2 min.
 

_________________
» "I'll try being nicer if you try being smarter"
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#32904
Inlägg Skrivet: 2003-04-11 13:08      Ämne: Inloggning fungerar fortfarande inte Citera

Hallå igen!

Det var ett tag sedan jag försökte få min inloggningssida att fungera, men nu är jag på den igen. Den sista hjälpen jag fick var den här, men den hjälpte inte:

Malte skrev:
Kolla så att du inte har någon tomrad eller mellanslag före PHP-taggen.
Detta gäller även den inkluderade filen conn.php, där du även får kolla upp så att det inte finns några dolda tecken efter den avslutande PHP-taggen. Detta gör du genom att sätta markören direkt efter den avslutande PHP-taggen och trycka upprepade gånger på delete.


Så jag undrar helt enkelt om det är någon annan som har något förslag eller om Malte har fler förslag.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#32913
Inlägg Skrivet: 2003-04-11 13:40      Ämne: Fortfarande problem Citera

Okej, nu kopierade jag Maltes script rätt av för att se om det fungerade. Det gjorde det inte för mig, jag fick samma fel ändå. Du kan ju testa själv om du vill, här är adressen: http://www.micropter.se/web2/Malte/index.php

Det är inga problem att registrera en användare, användaren lägger in sig i databasen alldeles utmärkt. Men det är fullkomligt omöjligt att komma till välkomstsidan.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#32920
Inlägg Skrivet: 2003-04-11 15:22      Ämne: Detta kanske kan vara till hjälp också??? Citera

Inställningarna för sessions är som nedan visar (kan vara svårläst)

session
Session Support enabled

Directive Local Value Master Value
session.auto_start
Off Off
session.cache_expire
180 180
session.cache_limiter
nocache nocache
session.cookie_domain
no value no value
session.cookie_lifetime
0 0
session.cookie_path
/ /
session.cookie_secure
Off Off
session.entropy_file
no value no value
session.entropy_length
0 0
session.gc_maxlifetime
1440 1440
session.gc_probability
1 1
session.name
PHPSESSID PHPSESSID
session.referer_check
no value no value
session.save_handler
files files
session.save_path
C:\PHP\sessiondata C:\PHP\sessiondata
session.serialize_handler
php php
session.use_cookies
On On
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 4080 dagar
Från: Tingsryd
Status: Offline



#32921
Inlägg Skrivet: 2003-04-11 15:31      Ämne: Citera

Då får vi köra lite felsökning.

Ändra welcome.php till:
KOD:
1:
<?php
2:
error_reporting(E_ALL);
3:
session_start(); // Alltid överst på sidan
4:
 
5:
echo "<pre>";
6:
print_r($_SESSION);
7:
echo "</pre>";
8:
 
9:
// Kolla om inloggad = sessionen satt
10:
if (!isset($_SESSION['sess_user'])){
11:
  header("Location: index.php");
12:
  exit;
13:
}
14:
 
15:
?>
16:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
17:
<html>
18:
<head>
19:
<meta http-equiv="Content-Type"
20:
  content="text/html; charset=iso-8859-1">
21:
<title>V&auml;lkommen</title>
22:
</head>
23:
<body>
24:
 
25:
V&auml;lkommen <?=$_SESSION['sess_user'] ?><br>
26:
<a href="index.php?logout=">Logga ut</a>
27:
 
28:
</body>
29:
</html>

Testa att logga in. Du kommer nu att få lite felmeddelanden. Hur ser utfallet ut ?


Felsökning 2.

Behåll koden i welcome.php som ovan.
Ändra i inloggningsskriptet
KOD:
1:
  // Sätt sessionen med unikt index
2:
  $_SESSION['sess_id'] = mysql_result($result, 0);
3:
  $_SESSION['sess_user'] = $_POST['user'];
4:
  header("Location: welcome.php");
5:
  exit;

till
KOD:
1:
  // Sätt sessionen med unikt index
2:
  $_SESSION['sess_id'] = mysql_result($result, 0);
3:
  $_SESSION['sess_user'] = $_POST['user'];
4:
  header("Location: welcome.php".SID);
5:
  exit;

Vad får du för utfall i welcome.php nu?


Felsökning 3.

Behåll koden i welcome.php som ovan.
Ändra samma kod i inloggningen till:
KOD:
1:
  // Sätt sessionen med unikt index
2:
  $_SESSION['sess_id'] = mysql_result($result, 0);
3:
  $_SESSION['sess_user'] = $_POST['user'];
4:
  echo "<script type=\"text/javascript\">\n document.location.href='welcome.php'; \n </script>";
5:
  exit;

Vad får du för utfall i welcome.php nu?


Visa utfallet från alla tre varianterna.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
thr
Inaktiverad



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



#33049
Inlägg Skrivet: 2003-04-12 04:37      Ämne: Citera

KOD:
1:
 
2:
<?php
3:
session_start();
4:
$MySQL_QUERY = mysql_query("SELECT * FROM <usertable> WHERE <usernamecell>='" . $_POST['Username'] . "' AND <passwordcell>='" . $_POST['Password'] . "'");
5:
$MySQL_NUM_ROWS = mysql_num_rows($MySQL_QUERY);
6:
if($MySQL_NUM_ROWS == 1){
7:
      $_SESSION['SESS_AUTHED'] = 1;
8:
      eader("Location: welcome.php");
9:
}else{
10:
      echo "<b>Felaktigt användarnamn och/eller lösenord</b>";
11:
}
12:
 
13:
?>
14:
 
15:
 
16:
 
 

_________________
» "I'll try being nicer if you try being smarter"
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#33434
Inlägg Skrivet: 2003-04-14 09:04      Ämne: Felsökning Citera

Hej!

Min felsökning gav samma utfall på alla tre varianterna. Jag fick det här resultatet:

Array
(
)


Warning: Cannot add header information - headers already sent by (output started at C:\clients\Micropter\wwwroot\web2\Malte\welcome.php:5) in C:\clients\Micropter\wwwroot\web2\Malte\welcome.php on line 11


Och welcomesidan ser ju nu ut så här:
KOD:
1:
<?php
2:
error_reporting(E_ALL);
3:
session_start(); // Alltid överst på sidan
4:
 
5:
echo "<pre>";
6:
print_r($_SESSION);
7:
echo "</pre>";
8:
 
9:
// Kolla om inloggad = sessionen satt
10:
if (!isset($_SESSION['sess_user'])){
11:
  header("Location: index.php");
12:
  exit;
13:
}
14:
 
15:
?>
16:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
17:
<html>
18:
<head>
19:
<meta http-equiv="Content-Type"
20:
  content="text/html; charset=iso-8859-1">
21:
<title>V&auml;lkommen</title>
22:
</head>
23:
<body>
24:
 
25:
V&auml;lkommen <?=$_SESSION['sess_user'] ?><br>
26:
<a href="index.php?logout=">Logga ut</a>
27:
 
28:
</body>
29:
</html>
30:
 


Men jag är mycket tacksam för all hjälp så långt.

/Jacob[/code]
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 4080 dagar
Från: Tingsryd
Status: Offline



#33437
Inlägg Skrivet: 2003-04-14 09:20      Ämne: Citera

Jag såg en felskrivning i felsökning 2.
Håll kvar dina ändringar i welcome.php och testa det här istället:
KOD:
1:
  // Sätt sessionen med unikt index
2:
  $_SESSION['sess_id'] = mysql_result($result, 0);
3:
  $_SESSION['sess_user'] = $_POST['user'];
4:
  header("Location: welcome.php?".SID);
5:
  exit;

Jag försöker till att börja med avgöra om problemet ligger i själva sessionen eller sessionscookien.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#33440
Inlägg Skrivet: 2003-04-14 09:34      Ämne: Felsökningen igen Citera

Hej igen!

Jag fick samma felmeddelande igen och jag tror inte jag har skrivit ngt fel i koden.

/Jacob
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 4080 dagar
Från: Tingsryd
Status: Offline



#33442
Inlägg Skrivet: 2003-04-14 09:58      Ämne: Citera

Jag ser att du har PHP version 4.1.2 och jag hittade det här:
http://bugs.php.net/bug.php?id=16043

Testa följande när du sätter sessionen:
KOD:
1:
  // Sätt sessionen med unikt index
2:
  $_SESSION['sess_id'] = mysql_result($result, 0);
3:
  $_SESSION['sess_user'] = $_POST['user'];
4:
  foreach($_SESSION as $key => $val) {
5:
    session_register($key);
6:
    $key = $val;
7:
  }
8:
  header("Location: welcome.php");
9:
  exit;
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#33449
Inlägg Skrivet: 2003-04-14 10:15      Ämne: Felsökning igen... Citera

Tja, jag har letat efter ett sådan bug, men jag hittade inget då och jag har hört med webbhotellet vad möjligheterna för en uppgradering av PHP är, där jag fick svaret att dom skulle återkomma, vilket dom inte har gjort än.

För övrigt så får jag exakt samma felmeddeland igen.
Jag vet inte vad du förväntade dig, men jag tycker inte det ser så lovande ut just nu Sad
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 4080 dagar
Från: Tingsryd
Status: Offline



#33453
Inlägg Skrivet: 2003-04-14 10:28      Ämne: Citera

Jag hade hoppats att det skulle fungera, att du hade haft innehåll i din array.

Vi ska göra en ren sessionstest enligt den gamla modellen med session_register, och se om det gör någon skillnad.

fil1.php
KOD:
1:
<?php
2:
session_start();
3:
session_register("test");
4:
$test = "Hej Hopp";
5:
?>
6:
<a href="fil2.php">Fil 2</a>


fil2.php
KOD:
1:
<?php
2:
session_start();
3:
session_register("test");
4:
echo $test;
5:
?>
6:
<hr>
7:
Om allt fungerar ska det stå "Hej Hopp" ovanför linjen.


Kör fil1.php och klicka sedan på länken till fil 2.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#33455
Inlägg Skrivet: 2003-04-14 10:39      Ämne: Det fungerade alldeles utmärkt Citera

Det fungerade alldeles utmärkt.

Och betyder det att det inte går att använda sessions på det nya sättet bara?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 4080 dagar
Från: Tingsryd
Status: Offline



#33458
Inlägg Skrivet: 2003-04-14 10:59      Ämne: Citera

Japp, det betyder det.

För att veta hur vi ska sätta upp ett någorlunda säkert skript behöver du göra en test till. Ändra dina filer till

fil1.php
KOD:
1:
<?php
2:
session_start();
3:
session_register("test2");
4:
$test2 = "Hej Hopp";
5:
?>
6:
<a href="fil2.php">Fil 2</a>


fil2.php
KOD:
1:
<?php
2:
session_start();
3:
echo "1: {$HTTP_SESSION_VARS['test2']} <br>";
4:
echo "2: {$_SESSION['test2']} <br>";
5:
session_register("test2");
6:
echo "3: {$HTTP_SESSION_VARS['test2']} <br>";
7:
echo "4: {$_SESSION['test2']} <br>";
8:
?>


Kör samma procedur. Fil1 och sedan länk.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
wezzy



Medlem i: 3727 dagar
Från: Pixbo
Status: Offline



#33460
Inlägg Skrivet: 2003-04-14 11:05      Ämne: Säkerhet? Citera

Nu har jag gjort det du bad mig om. Och jag har fått upp Hej Hopp på skärmen 4ggr.

Vad innebär detta nu i säkerhet? Jag antar att det du skrev först (som inte jag kan använda) fortfarande är det säkraste sättet av dessa?

Vad finns det för risker med session_register om man jämför med det nya sättet att skriva sessions

/Jacob

Senast ändrad av wezzy den 2003-04-14 11:08, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4 ... 121, 122, 123  Nästa
PHPportalen Forum Index » Tips och Trix
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