webForumDet fria alternativet

Vill att ytterliggare fält kollas vid inloggning

PHP

4 svar · 534 visningar · startad av soidog

Medlem sedan nov. 200519 inlägg
Frågan#1

Hej,
Denna kod använder jag för att sköta inloggningen.

if(is_numeric($_POST['kod'])){
      //kollar om denna koden överhuvudtaget finns med i tabellen
      $sql="select valid,nick from member where kod='{$_POST['kod']}' order by ID desc limit 1";
      $sql_result = mysql_query($sql, $link) or die("Couldn't execute SQL query 2");
      if($a_row = mysql_fetch_array( $sql_result )){
         //hittade iaf koden så vi kollar om den fortfarande är giltlig dvs mindre än dagens datum och tid
         if(($a_row[valid] > time()) || ($a_row[valid] =="1")){
            //medlemsskapet gäller vi sätter sessions variabeln member till medlemsnummret. Detta kommer fungera som kontroll så ingen icke behörig kommer åt sidan.
            $_SESSION["member"] = $_POST['kod'];
            $_SESSION["sess_nick"] = $a_row['nick'];
         }else $msg = "Ditt medlemskap har slutat gälla!";
 
      }else $msg = "Okänd kod!";
 
   }
 
if(!$_SESSION["member"]){

Försköker att lägga till ett ytterliggare fält, aktiv i vilkoret.
Om fältet aktiv innehåller en etta, så ska man kunna logga in, om det innehåller något annat så ska man inte kunna logga in.

Men får det inte att fungera,
Så här hade jag tänkt mig att det ska vara,

if(($a_row[valid] > time()) || ($a_row[valid] =="1") && ($a_row[aktiv] == "1")){

SoiDog...

Medlem sedan nov. 20017 144 inlägg
#2

Då har du nog postat fel.
Be moderator flytta till php-forumet.

Jag skulle tänka mig att du måste sätta lite parenteser så att du får villkoren rätt.

(a eller b) och c

Medlem sedan nov. 200519 inlägg
#3

Har skickat ett pm till moderatorn.

SoiDog...

Medlem sedan juni 200032 967 inlägg
#4

Flytteliflytt från SQL-forumet. :)

Mvh

Medlem sedan nov. 200519 inlägg
#5

Jag löste det genom att göra så här, kanske lite omständigt och kanske för mycket kod. Men det funkar iallafall.

if(is_numeric($_POST['kod'])){
      //kollar om denna koden överhuvudtaget finns med i tabellen
      $sql="select valid,nick,aktiv from member where kod='{$_POST['kod']}' order by ID desc limit 1";
      $sql_result = mysql_query($sql, $link) or die("Couldn't execute SQL query 2");
      if($a_row = mysql_fetch_array( $sql_result )){
   
   // kollar om koden är aktiv
   if($a_row['aktiv'] == '1'){
         //hittade iaf koden så vi kollar om den fortfarande är giltlig dvs mindre än dagens datum och tid
         if(($a_row[valid] > time()) || ($a_row[valid] =="1")){
            //medlemsskapet gäller vi sätter sessions variabeln member till medlemsnummret. Detta kommer fungera som kontroll så ingen icke behörig kommer åt sidan.
            $_SESSION["member"] = $_POST['kod'];
            $_SESSION["sess_nick"] = $a_row['nick'];
         }else $msg = "Ditt medlemskap har slutat gälla!";
         }else
         header("location: ../aktivera.php");
      }else $msg = "Okänd kod!";
 
   }
 
if(!$_SESSION["member"]){

SoiDog...

267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)