Glemt password kode

Tags:    php

Jeg har en gammel kode som ser sådan her ud:

Fold kodeboks ind/udKode 


Den driller "pludselig".
Dvs. at den finder ikke altid e-mailadressen selvom den ER der.
Nogle gange virker det og andre gange ikke.
Jeg kan ikke finde ud af hvorfor.

Hvad er det jeg overser?

Kan det være at den ikke virker i de tilfælde hvor en emailadresse måske er oprettet to gange i databasen?





Indlæg senest redigeret d. 01.02.2016 12:47 af Bruger #17644
5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
får du ikke en advrsel ved denne
$_POST[email]

skal da være
$_POST['email']


Kan det være at den ikke virker i de tilfælde hvor en emailadresse måske er oprettet to gange i databasen?

Ja !!
prøv at se hvad du gør her
if($Number == 1) {


hvorfor har du iøvrigt sammen mailaddresse / person liggende flere gange ??




Det er et gammel loginsystem, og der er brugere som har oprettet sig flere gange med samme mailadresse.
Det skal selvfølgelig laves om, så der ikke kan oprettes med en mail som er i systemet i forvejen.

Men bør jo alligevel også få det skrevet om til mysqli




Men bør jo alligevel også få det skrevet om til mysqli

ikke bør, men skal omskrives til mysqli

du skal også rette short_open_tag
<?
skal være
<?php


hvorfor står pw ukrypteret i databasen ??
en person der får adgang til databasen, kan se samtlige brugernavn / pw, og mon ikke nogle brugere anvender sammen brugernavn/pw flere steder

krypter bruger pw feks med 1 af disse
http://php.net/manual/en/function.hash.php
http://php.net/manual/en/function.password-hash.php


jeg ville omskrive glemt pw til bare at sende et ny pw (husk at opdate bruger tabellen med det nye pw), og generarer et random pw kig på nedenstående function
http://php.net/manual/en/function.shuffle.php#95414

brugeren skal selvføgelig også have mulighed at skifte pw, men det er vel laver i forvejen




Jeg skal nok have det skåret lidt ud i pap.

Hvor i koden skal jeg indsætte sådan noget krypterings halløj?





Hvor i koden skal jeg indsætte sådan noget krypterings halløj?

der er når brugeren oprettes pw skal krypteres
det er når brugeren logger ind pw skal krypteres.
det er når brugeren updaterer sit pw der skal krypteres
+ samtlige existerende pw skal krypteres

så det er flere steder der skal laves noget.

hvis du ikke havde spredt dine sql sætninger rundt på alle sider, men lagt det i functioner, der ligger i 1 fil ville det være nemt

her er et udplug af nogle gamle functioner
Fold kodeboks ind/udKode 

du skal ikke tage dig af private og public, $this, der er pga jeg har det liggende i en class
det du skal ligge mærke til er hvor mange steder pw bliver krypteret ( MyCrypt() )

og så anvender jeg PDO istedet for mysqli, men det minder meget om mysqli skrevet OOP style



Indlæg senest redigeret d. 01.02.2016 14:38 af Bruger #16075
t