Gå til innhold

Hvorfor blir jeg ikke logget inn med dette scripte


Anbefalte innlegg

Hei!

 

Fikk hjelp på Norsk Webforum en gang (http://norskwebforum.no/viewtopic.php?t=32...ht=login+script) og til slutt fikk jeg scriptet til å fungere takket være denne posten i den tråden, men nå som jeg fant igjen tråden (kopierte koden med en liten endring), men jeg blir ikke logget inn.

 

 

Koden (over doctype):

if (isset($_POST['Submit'])) {

// Connect to server and select databse.
mysql_connect("localhost", "uname", "pword"); 
mysql_select_db("database");

// username and password sent from signup form 
$myusername = mysql_real_escape_string($_POST['username']); 
$mypassword = mysql_real_escape_string(md5($_POST['password'])); 

$sql="SELECT * FROM users WHERE username = '$myusername' and password = '$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
$_SESSION['user_logged_in'] = TRUE;
$_SESSION['isername'] = mysql_result($result,0,"username");
$_SESSION['id'] = mysql_result($result,0,"id");
header('location: index.php');
}
else {
header('location: index.php');
}
}

 

Og så her er koden som sjekker om man er logget inn:

<?php
if (!$_SESSION['user_logged_in']) {
include 'login.php';
}
else {
include 'content.php';
}
?>

 

 

Noen som vet hvorfor jeg ikke blir logga inn? Driver å lager et administrasjonspanel...hvis det hjalp dere noe lol

 

 

Btw:

Det jeg forandra på var de her: $_POST['mypassword'] til $_POST['password'] og så det samme på username...siden feltene i skjemaet het password og username og ikke myusername & mypassword

Lenke til kommentar
Videoannonse
Annonse

Hadde jo vært kjekt med litt feilmeldinger for å sjekke hvor ting feiler.

 

Du kunne jo prøvd noe sånt

$result=mysql_query($sql) or die( "ERROR: " . mysql_error() );

for å se om problemet ligger i databasespørringen.

 

Og du kan prøve dette

else {

header('location: index.php');

print "COUNT: " . $count;

}

for å se om det er i if/else-setningen din det feiler.

 

Jeg ser heller ingen problemer i koden, derfor jeg foreslår feilsøking.

 

// mgns

Lenke til kommentar

Da virker det for meg som om feilen er at

if( $count == 1 )

aldri slår til. Prøv å se hva som ligger i databasen og kanskje prøve å skrive query'en til skjerm så du hva databasen blir spurt om.

 

Altså før

$result=mysql_query($sql);

så tar du en

print "QUERY: " . $query;

 

EDIT: Prøv også å kjøre denne spørringen direkte mot databasen for å se hva den returnerer.

 

// mgns

Endret av mgns
Lenke til kommentar

PHP

<?php

 

if (isset($_POST['submit'])) {

 

 

// Connect

$c mysql_connect('localhost''uname''pword');

mysql_select_db('database'$c);

 

 

$username mysql_real_escape_string($_POST['username']);

$password mysql_real_escape_string($_POST['password']));

 

$hash md5($password);

 

$query mysql_query("SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$hash'");

$row mysql_fetch_object($query);

 

 

if(mysql_num_rows($query) > 0) {

$_SESSION['user_logged_in'] = TRUE;

$_SESSION['username'] = $row->username;

$_SESSION['id'] = $row->id;

 

header('Location: index.php');

exit();

}

else {

die('Feil brukernavn/passord');

}

}

else {

 // Show login form

}

?>

 

 

Sjekkingen av om man er logget inn, kan du lage slik:

 

PHP

<?php

if(!$_SESSION['user_logged_in']) {

die('Du er ikke logget inn din taper');

}

?>

Gratulerer, du er logget inn :)

Lenke til kommentar

PHP
<?php

$username mysql_real_escape_string($_POST['username']);

$password mysql_real_escape_string($_POST['password']));

 

$hash md5($password);

?>

 

Du treng ikkje å escape passordet før du hasher det. Hashen vil aldri innehald 'farlege' teikn utansett og dermed er det bare sløsing av server kraft ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...