Vinnaren i pepparkakshustävlingen!
2018-08-06, 20:02
  #1
Medlem
Tjaba. Håller på med ett inloggningsskript till en simpel hemsida. Jag vill läsa in alla användare och deras lösenord in i en array men jag får det inte riktigt att fungera, sidan blir bara vit.

Så här ser koden ut när den fungerar:

Kod:
$LOGIN_INFORMATION = array(

    
'Admin' => 'Admin'
); 

Då tyckte ju jag att jag var supersmart när jag gjorde på detta viset:

Kod:
$LOGIN_INFORMATION = array(
    
    
$sql "SELECT * FROM FORARE";

    
$result $conn->query($sql);
    
    while(
$row $result->fetch_assoc()) 
    
    {
        
        
$anvnamn $row["ANVNAMN"];
        
$password $row["LOSENORD"];
        
        
        echo 
"'$anvnamn' => '$password',";
        
        
    }
    
    
'Admin' => 'Admin'
); 

Men det funkade givetvis inte :/

Har försökt hitta något bra svar på nätet men utan resultat.

Vad jag försöker göra är helt enkelt att läsa in alla rader ifrån en tabell i mysql där jag har användarnamn och lösenord sparat. Men hur fasiken får jag in det i arrayen? En rad med användarnamn och lösenord ska vara utformat likadant som näst sista raden där det står admin.
Citera
2018-08-06, 20:06
  #2
Medlem
Du bygger ju inte din array genom att echo:a ut den. Läs på grunderna i hur man gör en array - tar 5 minuter att lära sig: https://www.w3schools.com/php/func_array.asp (dålig källa egentligen, men rätt så pedagogisk åt en nybörjare)
Citera
2018-08-06, 20:18
  #3
Medlem
Citat:
Ursprungligen postat av DJ-Emerald
Du bygger ju inte din array genom att echo:a ut den. Läs på grunderna i hur man gör en array - tar 5 minuter att lära sig: https://www.w3schools.com/php/func_array.asp (dålig källa egentligen, men rätt så pedagogisk åt en nybörjare)

Tackar, löste det såhär:
Kod:
$dbhost = ('*******');
$dbuser '*******';
$dbpass '*******';
$dbname '*******';
$query "SELECT * FROM FORARE";
$dbh=mysql_connect ($dbhost$dbuser$dbpass) or die('Cannot connect to the database because: ' mysql_error());
mysql_select_db ($dbname);

$result mysql_query($query) or die('Error : ' mysql_error());

while(list(
$ANVNAMN$LOSENORD) = mysql_fetch_array($resultMYSQL_NUM))
{
$LOGIN_INFORMATION = array(
$ANVNAMN => $LOSENORD,);

Citera
2018-08-06, 20:25
  #4
Medlem
Citat:
Ursprungligen postat av abiz2
Tackar, löste det såhär:
Kod:
$dbhost = ('*******');
$dbuser '*******';
$dbpass '*******';
$dbname '*******';
$query "SELECT * FROM FORARE";
$dbh=mysql_connect ($dbhost$dbuser$dbpass) or die('Cannot connect to the database because: ' mysql_error());
mysql_select_db ($dbname);

$result mysql_query($query) or die('Error : ' mysql_error());

while(list(
$ANVNAMN$LOSENORD) = mysql_fetch_array($resultMYSQL_NUM))
{
$LOGIN_INFORMATION = array(
$ANVNAMN => $LOSENORD,);


Sedär ja. Flikar in med en liten parentes: Om du ska hantera folks inloggningsuppgifter så hoppas jag att du lärt dig att lagra lösenord som saltade hash-värden? Allt annat vore mycket illa ur säkerhetssynpunkt.
Citera
2018-08-06, 20:31
  #5
Medlem
Citat:
Ursprungligen postat av DJ-Emerald
Sedär ja. Flikar in med en liten parentes: Om du ska hantera folks inloggningsuppgifter så hoppas jag att du lärt dig att lagra lösenord som saltade hash-värden? Allt annat vore mycket illa ur säkerhetssynpunkt.

japp tänkte omvandla alla till md5 sen, men tack för tipset
Citera
2018-08-06, 20:53
  #6
Medlem
Citat:
Ursprungligen postat av abiz2
japp tänkte omvandla alla till md5 sen, men tack för tipset

Använd absolut inte md5 - den är crackad för länge sedan. Finns mängder med sajter där du kan avkryptera md5-hashar på en sekund.

Använd något av: bcrypt, sha512, sha256 - ordning från bäst till sämst.
Citera
2018-08-07, 19:58
  #7
Medlem
Tänkte inflika lite här också att inte använda mysql_* funktionerna då dom är satta som deprecated.

Använd PDO eller mysqli_ istället.

Bäst att lära dig korrekt från början än att behöva lära om dig.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback