How To Create A Forgotten Password System In PHP | Password Recovery By Email In PHP | PHP Tutorial

Поділитися
Вставка
  • Опубліковано 5 лис 2024

КОМЕНТАРІ • 690

  • @halim6150
    @halim6150 6 років тому +21

    I managed to get my first job as a web developer after an internship and I owe you a lot, man. Your tutorials are clear, clean, and very useful.

  • @SkyLinerPT
    @SkyLinerPT 6 років тому +34

    37:29 Two things:
    - Instead of echoing the message and using exit(); after you should just use die("insert message here");
    - After the if statement, you could just remove the else statement due the command inside the if statement, because if there is infact an error it will stop the script thus being useless to make an else and just continue the script normally
    Besides that loved it!

  • @alanwilliams8622
    @alanwilliams8622 4 роки тому +6

    I have spent hours trawling through the many UA-cam tutorials on how to set up a login system using php. This is by far the most useful and comprehensive presentation. Very easy to follow. You clearly have a great depth of knowledge. When I first saw the tutorial duration of over an hour I was hesitant. You had me captured for the full extent of the course. Hats off to you mate.

  • @hrithik4733
    @hrithik4733 6 років тому +39

    Ideas for next tutorials..
    *Adding security questions
    *PHPMailer
    *CURL
    *PHP Forum
    *SMS API (sms tokens)
    I like your videos..keep it coming

  • @alphagaming1995
    @alphagaming1995 6 років тому +29

    Thanks teacher
    I really appreciate you and your tutorials.

  • @mikemaer
    @mikemaer 4 роки тому +4

    For anyone getting the issue --- PHP Fatal error: Uncaught Error: Call to undefined function mysqli_stmt_get_result() --- You have to have the PHP extension "nd_mysqli" enabled. Took me a while to figure this out. Hope this helps save someone time~!

    • @amalkrishnasaha3071
      @amalkrishnasaha3071 4 роки тому

      i have similar problem, please can you elaborately explain how to enable nd_mysqli

  • @mudzimumudzimu7341
    @mudzimumudzimu7341 5 років тому

    My guy you are one of the best php teachers here on youtube.May Mudzimu bless you .

  • @ck0024
    @ck0024 6 років тому +4

    *I was waiting for this episode. I made a **_Signup_** and **_Login_** system by watching your previous video. I have also watched the whole playlist of PHP but couldn't understand one video where you explained **_How to upload and change profile picture._** Could you please make another video on that? Thank you for your all efforts and time. Learned a lot.*

  • @NIGHTMARE1412
    @NIGHTMARE1412 5 років тому +27

    25:20 isn't an hour 3600 seconds? 1800 seconds should be half an hour.

  • @BogdanTomasciuc
    @BogdanTomasciuc 4 роки тому +1

    Great tutorials! And to give something back:
    a) == break
    b) bind is an irregular verb so => bind / bound / bound not "binded".
    c) !== "pointy arrow thingies, they are called chevrons or angle brackets.
    But really amazing tutorials! :D

  • @gayathriramanesh5587
    @gayathriramanesh5587 3 роки тому +1

    woww..nvr seen such a quality content for free...hatss off.u rock daniel

  • @MarceloGomez28
    @MarceloGomez28 6 років тому

    I'm from Brazil and thanks to your videos, i got a job in PHP.

  • @AntoninoFotiNYC
    @AntoninoFotiNYC 4 роки тому

    Great Lesson. I do have 3 questions on the parts you have made an in video notice:
    58:13 - Note to the viewer - I forgot to close the php using ;
    Is this correct (create-new-password.php):

  • @Toxicblackmambahs
    @Toxicblackmambahs 4 роки тому

    This was perfect! I don't want to make a forget password system but instead I needed to know how to send and email by PHP with the click of a button. I am creating a sort of ticket system that will give users a reply via email.

  • @iamtafara
    @iamtafara 6 років тому +1

    You did this tutorial for me bro,, i have a reporting system that i developed using your tutorials, everything else works but i was stuck trying to figure out how to make reset password,,, u a freaking freaking genius,,

    • @bitmammothOG
      @bitmammothOG 5 років тому

      lol my name is also Terry and I feel the same + had similar issues hehe

  • @peterdevtutorial5743
    @peterdevtutorial5743 Рік тому

    The only challenge am facing is that the link for the password reset can only be send to Webmail server the reset password link can't be send to a Gmail and mostly people use Gmail so that was the challenge.
    I love your tutorial and I have been following for long time. Thanks may Almighty God bless you. Like right now am in school and those things you are saying is same thing so I found it simple.

  • @prelogboy
    @prelogboy 5 років тому +8

    By far the most enjoyable tutorials on UA-cam that I have experienced so far!
    Your voice is also very nice to listen to, and you have a nice equipment. Also, glad that you're using a camera, so the courses feel more natural.
    Your videos are helping me a lot in my CMS Website college project.
    Looking forward to more videos from you! :)
    Happy holidays!

  • @historymobile6210
    @historymobile6210 5 років тому +1

    You almost started my new career in web development. Thank you so much and please do more videos like it

  • @mochasteak
    @mochasteak 4 роки тому +4

    Such a great series of PHP tutorials. You are a great educator, thanks for doing this. Helped me immensely with my project.

  • @HarshdeepSingh-iz6gr
    @HarshdeepSingh-iz6gr 6 років тому +3

    We would love to have you teach us the other way of doing this (i.e. without tokens)...
    So, I'm eagerly waiting for it...
    And......
    Get Well Soon!!!!

  • @bitmammothOG
    @bitmammothOG 5 років тому +1

    All of your teachings make this very easy to adapt to any needs :) thank you again!

    • @bitmammothOG
      @bitmammothOG 5 років тому

      this works even with phalcon using mvc and routing

  • @angelrico640
    @angelrico640 6 років тому +2

    I've been waiting for this video for so long! thank you man, you're the best at teaching PHP.

  • @Timespider
    @Timespider 5 років тому +1

    Great video Daniel. Don't stop saying *"Inside Of Here"* I like it, your easy to understand. I watched this as a refresher and it was just what I needed. I look forward to the next video, from down here in little old NZ.

  • @fromsoftwareenjoyer457
    @fromsoftwareenjoyer457 Рік тому

    Hey Dani i just wanted to say that i'm learning so much things from your videos, thanks for this awesome content!

  • @richytechsolutions
    @richytechsolutions 6 років тому +2

    I would like to request for a video on how to create a Php blog and also admin panel for it. Thanks alot for your awesome tutorials.

  • @davebudah
    @davebudah 5 років тому

    Was never really inspired to to try webdev till I came across your channel. Thanks a lot.

  • @qsmfoui
    @qsmfoui 4 роки тому +3

    This tutorial is so informative, well understandable and just nice to watch. I never saw a tutorial like those. Thank you :)

  • @Uzealx
    @Uzealx 3 роки тому

    Just wanted to give a shout out and a thank you. This tutorial was extremely easy to follow and I was able to incorporate this into my existing project without any problem. Thank you!!

  • @EssamMaccar
    @EssamMaccar 4 роки тому

    This is the first time I comment on a tutorial ever .. your video cam handy to me and on time (This is one thing I need to thank you for) The other thing is your knowledge and the willing to share in a very nice organized way.
    I am from Egypt and am sending you lots of respect.
    Stay Blessed

  • @andrewcuster6498
    @andrewcuster6498 Рік тому +1

    I 'actually' went through this twice, thoroughly. The first time as show, then I learned the OOP login system, then I went through this again and put it into the OOP paradigm. I did take some time from step to step to make sure I had it right, but it really wasn't too hard either. Thank you, it gave the codeholic in me a🙂 good fix and a good step forward.

    • @Mudi2783
      @Mudi2783 Рік тому

      Wauw! Cudos to you!💯
      I tried the same, because the rest of my website is all OOP.
      Unfortunately, I'm stuck at this part of the video: 1:10:31
      if (!$row = mysqli_fetch_assoc($result))
      For some reason I can not fetch the row inside my table.
      I hope I will find that annoying bug soon 😅

    • @olgaordina
      @olgaordina Рік тому

      Hey that's awesome you got it man. Unfortunately I get Linux notifications that this portion at 15:15 of code is outdated, granted it's an old video. I haven't had time to research the updated version yet, just wanted to comment and ask if you had recieved an updated version.

  • @Ralyns
    @Ralyns 3 роки тому +1

    Outstanding - thank you, like this better than my current temp password with forced change on login. Your tutorials have been the best I've watched. You don't just say do this, this and this - you also explain why and most don't do that.
    Suggested add - check to see if user exists before doing anything ;)

    • @khalil_art
      @khalil_art 2 роки тому

      I was also wondering why he didn't check if the email actually exists in the database before inserting it into the "pwdReset" table !

  • @denniswilliamsjr5646
    @denniswilliamsjr5646 4 роки тому

    Thank you soooo much Dani Krossing! I've been trying to figure out for the longest why php mail function doesn't send emails and how to configure it to send emails.

  • @LouieB11
    @LouieB11 2 роки тому

    I must thank you for your generosity. I've been following your tutorials and like very much your method. Keep on that track!

  • @ams0063
    @ams0063 6 років тому

    Thanks for the video. I created my forgot password system about 6 months before. It uses OTP system and it’s working awesome. Still awesome video. I learned a bit more

  • @ceekayeee
    @ceekayeee 2 роки тому +1

    Inside of this video ;) you gave a lot of useful information (as usually). Thanks a lot!

  • @dijiflex
    @dijiflex 5 років тому

    I loved the video. It worked for me though for me i used PHP mailer to send the email. KEEP IT UP. I love how you explain the concepts in a very simple way

  • @GerritforBazeja
    @GerritforBazeja 5 років тому

    First...I love all your Video's on PHP, HTML, CSS! Tnx.
    I like you to make a video on:
    How to create *"Authorized Users" and *"Access to Pages"; so you can decide on which page members have entrance or not!
    I think it's a nice follow-up on your Login System !
    thank's in advance, Gerrit (webmaster Bazeja)

  • @sebl257
    @sebl257 6 років тому

    Best/clear voice and best breakdown/explanation. Keep up the good work bruuh!

  • @renhaorh
    @renhaorh 4 роки тому

    I've seen your all most of the tutorials from start to now, thank you for such a informative and useful video!!
    I had been paid for the lesson tutorials, learn a lots. Looked forward to the newest video come out, support you!!! And thank you for sharing and teaching in youtube ~

  • @vimukthaariyasinghe8041
    @vimukthaariyasinghe8041 4 роки тому

    This is marvelous.but user need to be a existing user who was already signed up in the system.this does not check against it.anyway appreciate ur work.i have learned a lot from you. Keep it up. Huge thumbs up 👍

  • @videodude5337
    @videodude5337 4 роки тому

    As a beginner I found this video very useful. Thank you very much!

  • @Felix-pr2el
    @Felix-pr2el 2 роки тому

    wait wait wait wait, 1800 seconds != 1 hour hehe its == 30 Minutes :)
    but nevertheless he is actually the best programming teacher i know on here
    thanks to you buddy, you make coding as easy as possible :)
    love watching ur videos

  • @soumikbhattacharya8938
    @soumikbhattacharya8938 6 років тому +1

    Great man... Really waiting for your upcoming php videos.. You are the best👍

  • @mailamanebath3222
    @mailamanebath3222 3 роки тому

    Wonderful tutorial...Excellent teacher. Thank you for helping out. You are appreciated

  • @98toxic1
    @98toxic1 6 років тому +1

    Awesome! Can't wait to run though this tonight. Btw, idea that I would like to eventually see is interaction with session users like maybe a chat system or something. You have the best content, thanks for all your tutorials!

  • @pcprodoc
    @pcprodoc Рік тому

    Very very useful Dani. Thank. I hope to impliment this on my site(s) soon. I still need a profile page yet.

  • @80sGameGuy
    @80sGameGuy 4 роки тому

    Great tutorial! I got it running. One thing to note, my version of mySQL doesn't allow table names to be capitalized, yet you named your table pwdReset , this throws a table not found error on my machine. To find and capture mysqli errors append mysqli_stmt_error($stmt) to your error message.

  • @ankitkumardubey0095
    @ankitkumardubey0095 Рік тому

    How cool is this tutorial. Paid stuff for free!!! Thank you Dani.

  • @Ner400
    @Ner400 4 роки тому

    Hey, I learnt a lot with you video. I implemented your algorithm with Angularr as Frontend and PHP as Backend. Thank you very much :)

  • @kgarvey2147
    @kgarvey2147 Рік тому +2

    A great tutorial, well explained. The code I've patterned after yours fails at the point of fetching the row from the result object, and I've spent two days trying to figure out why. My error trapping shows everything is good up to the creation of the result object, but no row can be fetched. Since the table only has one row, and the result object instantiates without error, why can't I pull the row out of it? I've tried various mysqli_fetch alternatives. They all fail. I've researched the crap out this and nothing. Sure could use some help if you have any suggestions.

    • @MikkelHebel
      @MikkelHebel Рік тому +1

      I have the same problem. Did you find any solutions?

    • @Mudi2783
      @Mudi2783 Рік тому

      Me too😢@Dani_Krossing Please help us!🙏

  • @gregwalker2151
    @gregwalker2151 4 роки тому

    Excellent work Dani. Very clearly explained and very good information. It really does make life easier. Thanks.

  • @testermalupeter9972
    @testermalupeter9972 5 років тому +1

    you are very helpful to us, as a beginner keep it up bro. thumbs up

  • @jmvarquez
    @jmvarquez 6 років тому +1

    For me, this is the most powerful tutorial. keep it up.

  • @murangirimaron3632
    @murangirimaron3632 4 роки тому

    Great work thanks alot for the goodwork.
    Success and error messages are not displaying yet there is no error and I have done it exactly as you did.

  • @atom9925
    @atom9925 5 років тому

    Thank you man for you videos . But in e-mail if you don't have HTTPS in url-reset-link you can't click it. ( You probably know, but it's complicated and long to explain ) Thanks again, you are a treasure .

  • @fash9340
    @fash9340 3 роки тому

    You are a perfect teacher. Thank you for all

  • @tomaszgasecki
    @tomaszgasecki Рік тому +1

    Oldie but Goldie

  • @ademineshat
    @ademineshat 6 років тому

    Thank you!
    In the PHP Section I think there was enough to learn, even there is much more. So, i will repeat my Idea, that I wrote somewhere else in your Videos... "Why not to make a video or Playlist like "Learn PHP, MySQL, Javascript,Ajax,JQuery, including basics of HTML and CSS"". So all them together in, of course not to repeat the videos or tutorials you allready did.
    Anyway, its just an Idea:)

    • @Dani_Krossing
      @Dani_Krossing  6 років тому +2

      I think it was your comment that made me decide to create a new playlist for each course, ment for project based videos like the I uploaded here. I have been working on recreating the structure of my courses so they would only have lessons related to learning the language in them :) in short, yes I remember your comment and I'm looking into it ;)

  • @milk563
    @milk563 4 роки тому +1

    For anyone viewing this in 2020, you can do your prepared statements as such:
    if ($stmt = $con->prepare('SELECT * FROM users WHERE email=?')) {
    $stmt->bind_param('s', $email);
    $stmt->execute();

    }
    //For results add:
    $result = $stmt->get_result();
    while ($row = $result->fetch_assoc()) { //code here
    }
    Remember the while loop will run as many times as there are # of results / rows

  • @OpcodeSoftware
    @OpcodeSoftware Рік тому

    Thanks for a wonderful tutorial once again Dani. I do have a couple of questions though ? 1. If you have a users table, why not just use that and the users email as a selector - rather than create a seperate table and generate a new selector - which is tied to the users email address anyway ? 2. Why the crypto-secure hashed token ? At the end of the day, the only person that gets to use this in order to reset the password is the person who has access to the email account. So if the email account is comprimised - the user has big problems anyway ?

  • @coolcha
    @coolcha 5 років тому +1

    Great videos. Could you also show an implementation of a 2 factor authentication login system? There are no good tutorials for an updated Google Authenticator 2FA php implementation.

  • @briangichuhi6429
    @briangichuhi6429 4 роки тому

    hats off for you my man....i appreciate your work and effort you put in your tutorials.

  • @MusikXFreakXLycrise
    @MusikXFreakXLycrise 5 років тому

    I finally finished and understood the video. Thanks for the great tutorials !

  • @chernettariku1975
    @chernettariku1975 5 років тому +6

    I am waiting for your user profile tutorial when are you going to release it?

  • @philipbeukes3085
    @philipbeukes3085 Рік тому +1

    Hi Dani, at 1:08:52 you mention you forgot to include the $currentDate but added it later off camera. Can you just show me where you added it please? I love the whole video, but if I cant follow 100% its not gonna help me... EDIT: wait sorry, after using my head I saw what I had to do. Its working PERFECTLY now!! Thanx for creating amazing videos!!

    • @ereh_yeager
      @ereh_yeager Рік тому

      can you tell me where did you put it please?

    • @MikkelDollas
      @MikkelDollas 10 місяців тому

      mysqli_stmt_bind_param($stmt, "ss", $selector, $currentDate);

  • @andrisb.
    @andrisb. 2 роки тому

    This is the best tutorial! Very helpful!

  • @joselorenzo4790
    @joselorenzo4790 6 років тому

    Great and dynamic tutorials. Please keep sharing your videos, Thank you!

  • @MichaelSmith-lk6ew
    @MichaelSmith-lk6ew 4 роки тому

    Hi I am Loving your tutorial approach to explaining the forgot Password coding.
    Just one thing I would like to know and that is the structure of the "users" table.
    You don't mention it in this video.
    Is it contained in another video?
    Could you help me out with this.
    Cheers,
    Mick

    • @philmerkel1452
      @philmerkel1452 4 роки тому

      He covers that in the PHP Login tutorial

  • @dinesh0743
    @dinesh0743 6 років тому

    Thank you it is very helpful.., I love to watch all your tutorials

  • @devwithbrian1534
    @devwithbrian1534 Рік тому +1

    Thanks Dani

  • @emilsamsarov2302
    @emilsamsarov2302 5 років тому

    Outstanding and incredibly clear. Thanks, man! Keep running! :)

  • @zahraaliux
    @zahraaliux 2 роки тому

    Thanks for the great tutorial as usual, one question do you have a tutorial on creating php shopping cart using MVC model?

  • @mohamedAmine-ml4so
    @mohamedAmine-ml4so 4 роки тому

    pro tutorial thanks well explained better than many college teachers , +1 subscriber

  • @besllu8116
    @besllu8116 4 роки тому

    Great, now I am pronouncing "password" just like you.

  • @codingonamovement8624
    @codingonamovement8624 4 роки тому

    Do you have any videos on dealing with the php reset password for open source social network. It seems like they already have a set up but idk what has to change in order for it to work n i was trying to follow along in this video cause you have taught me allot but this one, this one right here has my brain hurtin lol

  • @apophis2946
    @apophis2946 3 роки тому

    This was great, two questions. Looks like expires was never used and Is the selector validator dual thing just to add some complexity for hackers?

  • @UnicastProduction
    @UnicastProduction Рік тому

    Hi Dani. Thanks for the great Tutorials. Just a few questions. When you check for errors in an IF first and stop executing when an error happen, why do you continue with an ELSE? It is not really necessary. Also why do you not use SWITCH-CASE instead of many IF-ELSE following each other?

    • @yagami-light
      @yagami-light Рік тому

      There's also match in PHP8 much concise than switch

  • @gherna1
    @gherna1 3 роки тому

    Keep up the good work! Excellent tutorials.

  • @BrianFarrellguitar
    @BrianFarrellguitar 5 років тому +3

    I love following your work and am currently a Patreon subscriber. I'm just a little frustrated! The 2 scripts I wanted to use - Login and this current one, however mysqli_stmt_get_result() is not supported on my server and my host says they don't offer this unless I move from a shared server. I'm sure people will just say move host but that's not really an option. It would be so good to get a full PDO version of the Forgotten Password at some stage as I've tried writing tons of workarounds this mysqli_stmt_get_result() but nothing gives a satisfactory result. Thanks though for all the tutorials. Brian

    • @eugeniodecastrooficial
      @eugeniodecastrooficial 4 роки тому +1

      I had exactly the same problem! And my host also said they don't offer this I become a Patreon subscriber and asked mmtuts to give some alternative, but unfortunately he doesnt even answer any question inside the Patreon website... I hope him or somenone of his team read this and give us some workaround!

    • @parallaxartfairtv1442
      @parallaxartfairtv1442 4 роки тому

      @@eugeniodecastrooficial Make sure you get your money back if he doesn't bother answering you. I checked the site but it is clear there is some information missed off with so many people have the same problem at line 34.

  • @visualdad9453
    @visualdad9453 4 роки тому

    that was a very well explained video :). Thank you very much for such content!

  • @jmarkula
    @jmarkula 5 років тому

    I got this work, though i got PHP version problems with this, but it did reset my password with PHP 7.2, once i made some configurations on it... It worked perfectly with my own database, which is much more different, than
    your version of login system, but i got the point while coding...only i took database config for resetting, and it seemed work just as it should be.

  • @davidgirdlestone7617
    @davidgirdlestone7617 4 роки тому +1

    Great tutorial though, just for clarity where should the $currentDate var be??

  • @lahcenaouina
    @lahcenaouina Рік тому

    Please can u do more tutorials like this it's really helpful , like e-store

  • @nameshd658
    @nameshd658 3 роки тому

    Thanks Dani... Superb Tutorial

  • @DavidAshby1
    @DavidAshby1 3 роки тому

    Great tutorial but would be great if, at some point in time, you were able to create this same tutorial in PDO. Thanks again.

  • @historymobile6210
    @historymobile6210 5 років тому

    man, you are a fuck**g legend. no one does this kind of videos so easy and most of all educative way. thank you and keep it up

  • @divineamos3296
    @divineamos3296 2 роки тому

    Thanks for this a lot. could you please make a video on email verification with this method?

  • @nwebempatrick6891
    @nwebempatrick6891 6 років тому

    Thanks so much for keeping to your promise, Mate! Thank you, my teacher, for you are the best!!!

  • @DavidAshby1
    @DavidAshby1 9 місяців тому

    After some time trying to work out what the issue was. If you are using recaptcha then in your naming convention, use underscroes and not hyphens in your filenames as the hyphen seems to mess with the feedback.

  • @davefinn6031
    @davefinn6031 2 роки тому +1

    Great tutorial as always Daniel. Quick query - should we not have checked that the email actually exists in the users database, before going though this process? Thanks for the continued high quality teaching :-)

  • @MzansiViralVibes
    @MzansiViralVibes 2 роки тому

    Thank you sir for your tutorials, can your please create a tutorial where users communicate with each other via inbox chat sql and php??

  • @perilalona
    @perilalona 3 роки тому

    hey, what about all the expired tokens that might be stored in the db and were never used by the users that requested them? Example: I requested 10 times password reset and never reset my password. Shouldn't these be somehow removed after an hour somehow from the db?
    Excellent video!
    Thx!

  • @obywin
    @obywin 4 роки тому

    Amazing job on teaching others!

  • @lahcenaouina
    @lahcenaouina Рік тому

    THank you so so much I learnt alot of things Clean Code THANK AGAIN ! Teacher

  • @LeonSafal
    @LeonSafal 6 років тому

    thanks a lot i was searching for this a lot and i am so happy that i got it from you 😀😀

  • @sipping
    @sipping 5 років тому +1

    Can you please make a video on how to make a user profile, and how to show different things when you are logged in vs logged out

  • @WisdomOmote
    @WisdomOmote 3 роки тому

    Thank you very much for this video sir...
    Please can you do a video on PHP AUTOMATIC UPDATE SYSTEM EVERY 24HRS

  • @marcbeckerton3898
    @marcbeckerton3898 4 роки тому

    I asked on the login tutorial if you do a forgotten password link and just like magic, here it is lol

  • @Assadulababur
    @Assadulababur 4 роки тому

    Thank you so much, can't believe for this detailed tutorial.

  • @jiayinfan3839
    @jiayinfan3839 4 роки тому

    Thank you for sharing ! I love your video and keep it going !