Just nu i M3-nätverket
Gå till innehåll

$_SESSION


easy

Rekommendera Poster

Jag bytte igår server, och utan att ha ändrat nånting förutom servervariabler och liknande, så slutade skriptet att fungera.

 

Det jag tror kan ha orsakat detta är $_SESSION-variabler. Här nedan följer koden:

 

<?

session_start();

 

include "connect.php";

 

if (strlen($_POST['user'])<2) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

elseif (strlen($_POST['pass'])<2) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

else {

 

$query = mysql_db_query("easy", "SELECT id FROM crew WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'");

 

if (mysql_num_rows($query) == 0) {

 

header ("Location: ./?go=incorrect");

 

exit;

 

}

 

$_SESSION['sess_id'] = mysql_result($result, 0);

$_SESSION['sess_user'] = $_POST['user'];

 

header("Location: loggedon.php?go=indx");

 

exit;

 

}

 

?>

 

På loggedon.php så tittar den först om $_SESSION['sess_user'] är satt, om inte så skickas man till första sidan. Det är just det som händer när jag försöker logga in. Testa själva, Användare: easy^ lösenord: miljtala1.

 

Vore oerhört tacksam för ett bra svar... tror att detta beror på någon inställning eller liknande på servern, vilka ni kan se här:

http://pts-1.tty0.org/~easy/apa.php.

 

Har verkligen försökt att hitta felet, så tro inte att jag bara postar detta inlägg för att jag är lat!

 

Love

/easy

 

Länk till kommentar
Dela på andra webbplatser

För att hjälpa dig måste vi ha lite mer information.

Jag kan inte hitta något skriptfel, däremot en säkerhetsbrist i SQL-frågan.

Den bör istället se ut så här:

$query = mysql_db_query("easy", "SELECT id FROM crew WHERE user='" . addslashes($_POST['user']) . "' AND pass='" . addslashes($_POST['pass']) . "'");

Gör sedan så att du istället för att skicka vidare användaren skriver ut en 1:a för första if-satsen, en 2:a för nästa osv, så ser du var den skickar om användaren.

 

Kör även en "print_r($_SESSION);" i slutet av filen, efter det att du satt sessionvariablerna för att se om dessa satts ordentligt.

 

Länk till kommentar
Dela på andra webbplatser

Tack för svaret!

 

addslashes, vad gör det?

 

Jag bytte tillbaka till min gamla server, då den nya krånglade för mycket. T.ex. ibland när jag hade loggat in (fick $_SESSION att delvis funka till sist) och gick tillbaka till förstasidan för att titta nyheterna, så visade den inte dom nyaste nyheterna. Jag fick nog av dessa skumheter till sluta, så nu får sidan ligga på ett gratishotell tills vidare :)

 

/easy

 

Länk till kommentar
Dela på andra webbplatser

Ang. addslashes(). Läs min förklaring under punkt två här:

//eforum.idg.se/viewmsg.asp?EntriesId=392579#392588

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...