Gå til innhold

login script gjør ikke som jeg vil


Anbefalte innlegg

Klikk for å se/fjerne innholdet nedenfor
if(!isset($_SESSION['user']))

$_SESSION['user'] = false;

 

if(!$_SESSION['user'] && $_SERVER['REQUEST_METHOD'] == 'POST')

{

$navn = mysql_real_escape_string($_POST['navn']);

$pass = md5($_POST['pass']);

$_SESSION['username'] = $navn;

$sql = "SELECT password, username, activation, slettet FROM brukere WHERE password='" . $pass . "' AND username='" . $navn . "' ";

$resultat = mysql_query($sql);

if(mysql_num_rows($resultat) == 1)

{

$_SESSION['user'] = mysql_fetch_assoc($resultat);

if(($_SESSION['user']['activation'] != '') && ($_SESSION['user']['slettet'] == '1'))

{

 

session_destroy();

echo "<span class='skrift'>Brukeren er ikke aktivert!</span> <br />";

$_SESSION['user'] = false;

 

 

}

header("Refresh: 0; url=index.php");

}

else

{

session_unset();

session_destroy();

echo '<span class="skrift">Feil brukernavn eller passord</span>';

 

}

}

if(!$_SESSION['user'])

{

?>

 

<form action="" method="post">

<table>

<tr>

<td>

<span class="skrift">Brukernavn</span></td>

</tr>

<tr>

<td><input type="text" name="navn" size="12" /> </td></tr>

<tr><td>

<span class="skrift">Passord</span></td></tr>

<tr>

<td><input type="password" name="pass" size="12" /></td></tr>

<tr><td>

<input type="submit" name="knapp" value="Logg inn" /> <br /></td></tr>

</table>

</form>

 

<?php

if(!isset($_SESSION['username'])){echo '<span class="skrift"><a href="index.php?side=glemtpassord">Glemt passord?</a></span><br /> ';}

else {

echo "";

}

?>

 

<?php

 

}

else{

$username = $_SESSION['username'];

echo "<div class='skrift'>Du er nå logget inn som $username og $status <br /><br /></div>";

echo "<form action='' method='get'>

<p><input type='submit' name='knapp' value='Logg ut'/></p></form>";

 

 

 

 

}

 

?>

 

har dette login scriptet. men uansett om slettet er 1 eller 0.. så kan jeg logge inn.. hvorfor?

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+142

::Alternativ 1:: La MySQL gjøre all jobben

Endre denne linjen

$sql = "SELECT password, username, activation, slettet FROM brukere WHERE password='" . $pass . "' AND username='" . $navn . "' ";

til dette:

$sql = "SELECT password, username, activation, slettet FROM brukere WHERE password='" . $pass . "' AND username='" . $navn . "' AND slettet != 1 AND activation = '' ";

 

Og dropp $_SESSION["user"]["slettet"]-sjekken..

::Alternativ 2:: La PHP gjøre jobben som ditt skript gjør, men fiks en vesentlig ting

Om ikke det, kan du heller gjøre denne linjen:

if(($_SESSION['user']['activation'] != '') && ($_SESSION['user']['slettet'] == '1'))

om til denne:

if(($_SESSION['user']['activation'] != '') || ($_SESSION['user']['slettet'] == '1'))

Endret av Slettet+142
Lenke til kommentar
::Alternativ 1:: La MySQL gjøre all jobben

Endre denne linjen

$sql = "SELECT password, username, activation, slettet FROM brukere WHERE password='" . $pass . "' AND username='" . $navn . "' ";

til dette:

$sql = "SELECT password, username, activation, slettet FROM brukere WHERE password='" . $pass . "' AND username='" . $navn . "' AND slettet != 1 AND activation = '' ";

 

Og dropp $_SESSION["user"]["slettet"]-sjekken..

::Alternativ 2:: La PHP gjøre jobben som ditt skript gjør, men fiks en vesentlig ting

Om ikke det, kan du heller gjøre denne linjen:

if(($_SESSION['user']['activation'] != '') && ($_SESSION['user']['slettet'] == '1'))

om til denne:

if(($_SESSION['user']['activation'] != '') || ($_SESSION['user']['slettet'] == '1'))

9247059[/snapback]

 

det med sql sjekken går. men på php skal jeg ikke bruke ||, pga activation sjekker om brukeren har aktivert seg, får en mail med en aktiverings url.. og visst brukeren er slettet skal den heller ikke få logget seg på..

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...