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, ... 121, 122, 123  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
wezzy



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



#26338
Inlägg Skrivet: 2003-03-06 12:18      Ämne: teori Citera

Det verkar som om det går bra att logga in men att den inte behåller sessionen, utan blir utloggad direkt. (bara en teori, men jag ska testa den nu)

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



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



#26540
Inlägg Skrivet: 2003-03-07 16:08      Ämne: Jag hade fel... Citera

Buhu Sad
det fungerar fortfarande inte...

Jag har alltså ett inloggningsscript som utgår ifrån Maltes.

När jag försöker logga in med en obefintlig användare så är allt frid och fröjd. Jag får felmeddelande som säger precis det jag vill att den ska säga.

När jag loggar in med en befintlig användare så händer absolut ingenting. Sidan laddas om och jag är tillbaka där jag startade. Jag skickas inte vidare till välkomstsidan och jag skickas inte heller först till välkomstsidan och sedan ut därifrån, för den har jag dirigerat till en helt annan sida och dit kommer jag inte.

HJÄLP...

/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: 4084 dagar
Från: Tingsryd
Status: Offline



#26564
Inlägg Skrivet: 2003-03-07 19:39      Ämne: Citera

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.
 

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



Medlem i: 3760 dagar

Status: Offline



#26710
Inlägg Skrivet: 2003-03-09 01:16      Ämne: Citera

jag får följande felmeddelande längst upp på index.php sidan när jag testar scriptet
KOD:
1:
 
2:
Warning: session_start() [function.session-start]: open(/tmp\sess_c78fcdb300cb71ad08f5279af152ebac, O_RDWR) failed: No such file or directory (2) in e:\site\admin\index.php on line 2
3:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at e:\site\admin\index.php:2) in e:\site\admin\index.php on line 2
4:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at e:\site\admin\index.php:2) in e:\site\admin\index.php on line 2
5:
 


det var inget.. det funkar bra nu. jag hade glömt konfigurera php.ini
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida AIM-adress Yahoo Messenger MSN Messenger ICQ-nummer
hdidring



Medlem i: 3761 dagar
Från: Sthlm
Status: Offline



#28275
Inlägg Skrivet: 2003-03-19 00:54      Ämne: mysql_result funktion? Citera

Skulle uppskatta om du ville förklara vad som sker i nedanstående kodstycke Malte. Har spanat mysql_result på www.php.net, och fattar inte riktigt hur det hänger ihop, samt varför COUNT(*)?

Citat:
// Kolla om användarnamnet är upptaget
$sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'";
$result = mysql_query($sql);
if (mysql_result($result, 0) > 0) {
$reg_error[] = 1;
}
 

_________________
Mvh Hans

Auri sacra fames
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Malte
in memoriam 1



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



#28280
Inlägg Skrivet: 2003-03-19 07:58      Ämne: Citera

COUNT(*) ger antal rader. Kunde i och för sig också skrivit COUNT(id) med samma resultat.
Alltså sql-satsen lämnar endast ifrån sig ett värde; hur många rader har kolumnen/fältet user som är lika med det postade användarnamnet.

mysql_result() är lämpligt att använda när det endast är enstaka värden som ska hämtas från resultatet, eftersom du med mysql_result() endast hämtar en kolumn från en rad.

mysql_result är inget man använder normalt för att hämta data från databas, dels för att det kräver många fler körningar mot mysql, dels att det rapporterar fel om ingen rad skulle hittas, men i det här fallet är det perfekt eftersom COUNT() alltid lämnar ifrån sig ett värde, och det är en rad, ett värde.

Syntaxen för mysql_result är
KOD:
1:
mysql_result(RESULTAT-SET, radnr [, kolumnnamn])

Är det bara en kolumn som hämtas från tabellen så behöver du inte ange kolumnnamn.

Och ska vi fortsätta i kodsnutten så läggs ett element med värde 1 till arrayen $reg_error om COUNT(*) skulle rapportera ett större värde än 0 (noll).

Lite mer om hur skriptet är uppbyggt kan du läsa här (fast kanske inte så mycket om din fråga): http://www.phpportalen.net/wiki/index.php?page=Enkel+inloggning+med+MySql+och+sessioner
 

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



Medlem i: 3712 dagar
Från: Halmstad
Status: Offline



#30869
Inlägg Skrivet: 2003-04-02 12:16      Ämne: Citera

Sitter och försöker få ihop Maltes inloggnings script... vet inte vad jag gör för fel....
får följande fel meddelande i browsern:

Citat:
Warning: Cannot modify header information - headers already sent by (output started at d:\program\apache group\apache\htdocs\styrteknik\conn.php:7) in d:\program\apache group\apache\htdocs\styrteknik\index.php on line 19



Och i index filen på rad 19 står det:

Citat:
header("Location:welcome.php");



Vad gör jag för fel?? Har följt maltes anvinsningar slaviskt och databasen funkar som den skall...
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger ICQ-nummer
Malte
in memoriam 1



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



#30873
Inlägg Skrivet: 2003-04-02 12:43      Ämne: Citera

Hej Coq_Rouge, och välkommen till PHPportalen Very Happy

Felmeddelandet säger att du har en "output" till webbläsaren i filen conn.php på rad 7.
Du får inte skicka något till webbläsaren före en header, och förutom HTML eller echo/print gäller även detta mellanslag eller tomrader utanför PHP-taggarna.
Det gäller alltså även efter PHP-taggen i conn.php, där får inte finnas någonting.

Hur ser din conn.php ut?
Något måste där finnas som skickar till webbläsaren.
 

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



Medlem i: 3712 dagar
Från: Halmstad
Status: Offline



#30915
Inlägg Skrivet: 2003-04-02 15:45      Ämne: Tackar!! =) Citera

hehehe tackar Malte.... hade ju fullt med taggar i conn.php filen. Embarassed
Agar mig själv med mussladden. Laughing
Än en gång tack för ditt snabba svar.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger ICQ-nummer
Garfield



Medlem i: 3709 dagar

Status: Offline



#31190
Inlägg Skrivet: 2003-04-03 20:19      Ämne: Citera

tja tja, jag kvack-kvack-kvack detta script nu, men en sak som jag inte fattar!
om man trycker på logout, så händer ju ingenting Confused
elle jo, sidan laddas om men man loggas inte ut!
kvack-kvack-kvack denna länk:
index.php?logout=
men sidan bara laddas om ju !
Kan ej logga ut!
 

_________________
Get Firefox
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Malte
in memoriam 1



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



#31333
Inlägg Skrivet: 2003-04-04 16:48      Ämne: Citera

Citat:
Något som är väldigt viktigt om man har register_globals=On i sin php.ini, är att att använda ett unikt index för sina sessionsvariabler. Alltså man får inte ha några andra variabler som samma index eller variabelnamn som ett index för en sessionsvariabel. Ett sätt att säkra detta är att t.ex. göra som jag har gjort i exemplet; sätta 'sess_' före indexnamnet, typ $_SESSION['sess_variabelnamn'].
Om man inte gör detta kan sessionsvariabeln "krocka" med andra variabler och skumma saker hända. I det snällare fallet så går det inte att logga ut, i styggare fall kan sessionsvariabeln byta värde.

Undvik helst även att "översätta" sessionsvariabel från arrayformat, typ:
KOD:
1:
$sess_variabelnamn = $_SESSION['sess_variabelnamn'];

Då kan de "snällare" sakerna hända som beskrevs i stycket ovan. Utan använd sessionsvariabel direkt i sitt arrayformat $_SESSION['sess_variabelnamn'].

Det är inte någon av ovanstående saker som spökar?

I och med att session_unset/session_destroy tömmer och raderar sessionen måste en ny session skapas med samma variabler. Det kan hända om du har register_globals=On och har gjort något i stil med ovanstående.

Har du register_globals lika med On eller Off ?

Du kan alltid prova med att lägga till ytterligare en sak för att avsluta sessionen.
KOD:
1:
if (isset($_GET['logout'])){
2:
  $_SESSION = array();
3:
  session_unset();
4:
  session_destroy();
5:
  header("Location: index.php");
6:
  exit;
7:
}

I värsta fall får du även försöka ta död på cookien:
KOD:
1:
if (isset($_GET['logout'])){
2:
  $_SESSION = array();
3:
  session_unset();
4:
  session_destroy();
5:
  setcookie(session_name(),"","","/");
6:
  header("Location: index.php");
7:
  exit;
8:
}

Koden för att ta bort cookien kan dock se lite annorlunda ut, beroende på inställningar i php.ini.
 

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



Medlem i: 3709 dagar

Status: Offline



#31340
Inlägg Skrivet: 2003-04-04 16:56      Ämne: Citera

ok, ska testa att lägga till detta då setcookie(session_name(),"","","/");
 

_________________
Get Firefox
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Jacob



Medlem i: 3751 dagar
Från: Göteborgish --> Lerum
Status: Offline



#31349
Inlägg Skrivet: 2003-04-04 18:09      Ämne: funkar bra Citera

Detta funkar bra för mig Cool
 

_________________
HELLÖ RÖMAN!
(Notera att jag går mot strömmen och behåller min Jul-avatar!)
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Garfield



Medlem i: 3709 dagar

Status: Offline



#31351
Inlägg Skrivet: 2003-04-04 18:15      Ämne: Citera

nu kom det inte ens upp någon logga ur knapp ! Confused
 

_________________
Get Firefox
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Malte
in memoriam 1



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



#31398
Inlägg Skrivet: 2003-04-04 22:21      Ämne: Citera

Får du ingen logout-länk i index.php så måste du ha ett inloggningsformulär, och då är man utloggad.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, ... 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