| Visa föregående ämne :: Visa nästa ämne |
| Startad av: |
Meddelande |
thr


Medlem i: 3841 dagar Från: Göteborg
Status: Offline
#31878
|
Skrivet: 2003-04-07 10:46
Ämne:
|
|
|
| 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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#32904
|
Skrivet: 2003-04-11 13:08
Ämne: Inloggning fungerar fortfarande inte
|
|
|
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#32913
|
Skrivet: 2003-04-11 13:40
Ämne: Fortfarande problem
|
|
|
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#32920
|
Skrivet: 2003-04-11 15:22
Ämne: Detta kanske kan vara till hjälp också???
|
|
|
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 |
|
Malte


Medlem i: 4080 dagar Från: Tingsryd
Status: Offline
#32921
|
Skrivet: 2003-04-11 15:31
Ämne:
|
|
|
Då får vi köra lite felsökning.
Ändra welcome.php till:
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älkommen</title>
22: </head>
23: <body>
24: 25: Vä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
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
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:
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 |
|
thr


Medlem i: 3841 dagar Från: Göteborg
Status: Offline
#33049
|
Skrivet: 2003-04-12 04:37
Ämne:
|
|
|
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#33434
|
Skrivet: 2003-04-14 09:04
Ämne: Felsökning
|
|
|
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:
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älkommen</title>
22: </head>
23: <body>
24: 25: Vä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 |
|
Malte


Medlem i: 4080 dagar Från: Tingsryd
Status: Offline
#33437
|
Skrivet: 2003-04-14 09:20
Ämne:
|
|
|
Jag såg en felskrivning i felsökning 2.
Håll kvar dina ändringar i welcome.php och testa det här istället:
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#33440
|
Skrivet: 2003-04-14 09:34
Ämne: Felsökningen igen
|
|
|
Hej igen!
Jag fick samma felmeddelande igen och jag tror inte jag har skrivit ngt fel i koden.
/Jacob |
|
|
|
| Till toppen på sidan |
|
Malte


Medlem i: 4080 dagar Från: Tingsryd
Status: Offline
#33442
|
Skrivet: 2003-04-14 09:58
Ämne:
|
|
|
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:
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#33449
|
Skrivet: 2003-04-14 10:15
Ämne: Felsökning igen...
|
|
|
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  |
|
|
|
| Till toppen på sidan |
|
Malte


Medlem i: 4080 dagar Från: Tingsryd
Status: Offline
#33453
|
Skrivet: 2003-04-14 10:28
Ämne:
|
|
|
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
1: <?php
2: session_start();
3: session_register("test");
4: $test = "Hej Hopp";
5: ?>
6: <a href="fil2.php">Fil 2</a>
|
fil2.php
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#33455
|
Skrivet: 2003-04-14 10:39
Ämne: Det fungerade alldeles utmärkt
|
|
|
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 |
|
Malte


Medlem i: 4080 dagar Från: Tingsryd
Status: Offline
#33458
|
Skrivet: 2003-04-14 10:59
Ämne:
|
|
|
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
1: <?php
2: session_start();
3: session_register("test2");
4: $test2 = "Hej Hopp";
5: ?>
6: <a href="fil2.php">Fil 2</a>
|
fil2.php
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 |
|
wezzy
Medlem i: 3727 dagar Från: Pixbo
Status: Offline
#33460
|
Skrivet: 2003-04-14 11:05
Ämne: Säkerhet?
|
|
|
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 |
|
|