mysqli login

Tags:    mysqli php login

<< < 123 > >>
Jeg er ved at lave et mysqli login som skal erstatte det gamle mysql.

Men det driller lidt.

Nogen der kan se hvad der er galt med denne her?

Fold kodeboks ind/udKode 


Den skriver ikke nogen fejl, men åbner bare login.php igen



28 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Mon ikke strukturen i din kode virker som den skal, men man bliver ikke logget ind, da du opretter en session med en udefineret variable.

$_SESSION['brugernavn'] = $login_user; <-- det er nok $brugernavn du ville anvende?





Desværre - samme problem. Den sender ingenting til databasen men åbner bare opretbruger.php igen

kom du ind i
if (isset($_POST["submit"])) {
???



kan du se en forskæl på submit ?? (hint S vs s)
if (isset($_POST["submit"])) {
<input type="submit" value="Send" name="Submit" class="bottom">

det er 2 forskællige variable navne

så svaret på mit spm må være nej, det gør du ikke





Den skriver ikke nogen fejl, men åbner bare login.php igen


hvor udskriver du din evt fejl ?? (jeg ser ikke nogle echo $error)

er du sikker på din connection hedder $db og ikke $conn1 ??
prøv at lave en print_r($db);

Fold kodeboks ind/udKode 


hvort stort er dit felt i databasen til password ?? (skal være minimum 32 karakterer, hvilke er det md5 krypterede fylder)

jeg vil nok bruge en nyere krypterings algoritme end md5, feks sha512



include("Connect.php"); ville jeg sette _once på, og helt lave om til require_once istedet for include


http://php.net/require_once
http://php.net/include_once



Print ser sådan her ud:
Fold kodeboks ind/udKode 


Felt til password er 255 - så det burde være stort nok



Indlæg senest redigeret d. 15.02.2016 22:57 af Bruger #17644
Desværre ikke det som løse problemet.....

Jeg har brugt denne guide

http://www.eggslab.net/php-login-script/


Den skriver ikke noget i session

Fold kodeboks ind/udKode 


Kan bare ikke gennemskue hvorfor



Indlæg senest redigeret d. 16.02.2016 14:34 af Bruger #17644

Den skriver ikke nogen fejl, men åbner bare login.php igen

har du slået error_reporting til ?? (skal du altid have under udvikling)


jeg prøvede din code og rettede den lidt til (ikke noget der burde betyde noget)

er du sikker på dit pw er krypterede i databasen ??


brugernavn = admin pw = 1234
brugernavn = lotte pw = Hyp Lille



test database
Fold kodeboks ind/udKode 


Fold kodeboks ind/udKode 



Den skriver ikke noget i session

rediagere den nu ??




Nej jeg er ikke sikker på at pw er krypteret i databasen. Jeg har jo bare oprettet en testbruger manuelt ind i databasen. Jeg har ikke prøvet at lave det før, så ved ikke hvad jeg skal gøre i forhold til databasen - synes ikke jeg kan se noget om det derinde?

Så måske det er det som er problemet?

Hvis jeg tester din demoside, så får jeg ved login denne fejl:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 16.02.2016 19:04 af Bruger #17644

Nej jeg er ikke sikker på at pw er krypteret i databasen.

det skal du være 100% sikker på !!
det password du sender til databasen og det der ligger i databasen skal være kryterede med sammen algoritme

og så en lille note: det er en hashing af password ikke kryptering



Warning: Cannot modify header information

dine header functioner vil ikke virke hvis du har skrevet noget til skærmen før de anvendes.


ref http://php.net/manual/en/function.header.php

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.



en function der også er afh af header er session_start

ref http://php.net/manual/en/function.session-start.php

Note:
To use cookie-based sessions, session_start() must be called before outputing anything to the browser.



så du udskriver noget her
output started at /customers/3/8/1/xxxx/Connect2.php:9


jeg går ud fra linje 40 er
header("location: home.php"); // Redirecting To Other Page
hvilke vil sige den logger din ind med korrakt brugernavn / password, men ikke vil rediagere pga du har udskrevet noget til skærmen før




Indlæg senest redigeret d. 16.02.2016 19:21 af Bruger #16075
Men hvordan gør jeg det i databasen? ("kryptere"/ hashing)

Jeg har jo prøvet bare at kopiere koden fra den guide jeg brugte, så kan da ikke forstå hvis den er lavet på en måde så den ikke virker.

Jeg kan se at min session ikke indeholder noget - så det er ikke kun omdirigeringen som ikke virker. Den skriver slet ikke til en session.




Jeg kan se at min session ikke indeholder noget - så det er ikke kun omdirigeringen som ikke virker. Den skriver slet ikke til en session.


ret denne fejl
Connect2.php: linje 9

når den er rettet er der sansynlighed for at din session og rediagering virker


Men hvordan gør jeg det i databasen? ("kryptere"/ hashing)

du gør det når du indsætter password i databasen. og når
du opdaterer password i databasen


hvis du har en existerende database, hvor pw står i klar tekst, kan du lave et lille program der løber hele tabellen igennem, og updaterer pw til pw der er hashed (md5 i dit tilfælde)
den program stump skal kun brugess 1 gang, så der er ikke grund til at bruge meget krudt på det




<< < 123 > >>
t