Gå til innhold

Søke I matrise etter angitt bruker/pass


Anbefalte innlegg

Hei,

er forholdsvis ny i PHP, så jeg er forsatt på lærestadiet.

 

Det jeg lurer på er følgende:

 

Jeg holder på å utvikle et passord script hvor besøkende må oppgi både

brukernavn og passord for å bli logget inn.

 

Dette greier jeg fint dersom jeg kun har en bruker og passord, men dersom jeg vil ha flere brukere får jeg problemer.

 

Det jeg vil er at det skal søkes gjennom matrisen om det finnes verdier med samme verdi som blir skrevet inn av besøkende.

 

Har på følelsen dette ble rotete men scriptet skal se slik ut:

 

<?php
$bruker=$_POST['bruker'];
$pass=$_POST['pass'];

$brukeren= array ("Superman",
                       "Barbie");
$passordet= array ("abc22",
                            "knvs901");


//IF Syntax her...
// Hvordan søke gjennom $brukeren og $passordet etter matchende verdier?
?>

 

Takker for all hjelp. Er veldig noob, vil bli bedre :)

Endret av erixz
Lenke til kommentar
Videoannonse
Annonse

Har akkurat laget en kode til det:

<?php
$navn = $_POST['navn']; //brukernavnet som skrives inn
$pass = $_POST['submit']; //passordet som skrives inn
$submit = $_POST['submit']; //Det submitkanppen heter

$bruker['et brukernavn'] = 'et passord';
$bruker['et brukernavn2'] = 'et passord2';
$bruker['et brukernavn3'] = 'et passord3';

if (isset($submit)){
if ($bruker[$navn] == $pass){
echo 'Du er logget inn';
}else{
echo 'du er ikke logget inn';
}
}
?>

 

Håper den hjalp

Endret av AlecTBM
Lenke til kommentar


$bruker['et brukernavn] = 'et passord';
$bruker['et brukernavn2] = 'et passord2';
$bruker['et brukernavn3] = 'et passord3';

 

Jo.

Dette er en type array som man selv bestemer navnet til.

i steden for $bruker['0'] og sånt.

 

Det er listen over brukere si at brukernavnet er Superman og passordet er abc22

 

da blir array-et slik:

$bruker['Superman'] = 'abc22';

 

håper dette opplyste deg

Lenke til kommentar

Du trenger ikke bruke foreach hvis du gjør som Alec prøver å si her. Ta denne kodesnutten:

 

// Henter ned POST-variabler (som du har sendt med et skjema)
$navn = $_POST['navn'];     // Brukernavnet som skrives inn
$pass = $_POST['passord'];  // Passordet som skrives inn
$submit = $_POST['submit']; // Det submitkanppen heter

// Bruker-arrayet ditt
$bruker['erixz'] = 'olebrum';
$bruker['alectbm'] = 'donaldduck';
$bruker['gozzer'] = 'mikkemus';

// Sjekker om siden lastes med skjemadata
if (isset($submit)){
  
  // sjekker om brukernavnet finnes i arrayet, 
  // og om passordet stemmer med den oppføringen
  if ($bruker[$navn] == $pass){
     echo 'Du er logget inn';
     // her vil du nok ønske å sende kisen til en ny side, 
     // eller sette litt sesjon-variabler
  } else {
     echo 'du er ikke logget inn';
  }
}

 

Vil tro at det skal fungere ganske så bra, hvis du har en side med et skjema (la oss kalle den login.php). I skjemaet har du felt med navn "navn" og "passord", og en knapp med navn "submit".

 

Skjemaet skal kalle på seg selv (login.php), og koden ovenfor kan pr. nå står hvor som helst i html-en din, men bør vel i fremtiden (uten echo) stå over <head> elementet.

 

Bare prøv å lag en side som passer beskrivelsen, og se hvordan det går. Går det galt, får du i samme slengen et mer spesifikt problem å spørre om hjelp om :-)

Lenke til kommentar

Når du bruker sessions må du har session_start() rett under <? i php fila, så når du har sjekket at bruker og pwd stemmer kan du sette $_SESSION['login']=$bruker['brukernavn']

 

Så på hver side der du vil at brukeren skal være innlogget så sjekker du om $_SESSION['login'] er satt og hva den er satt til

 

når du skal logge ut bruker du session_destroy()

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