PHP Password Reset by Email

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025
  • Learn how to create secure password reset by email using PHP, MySQL and best practices.
    This is part 2 of Signup and Login with PHP and MySQL:
    ‣ • Signup and Login with ...
    Please consider supporting my channel:
    ☕ ko-fi.com/dave...
    Code shown in the video:
    ‣ github.com/dav...
    Relevant documentation:
    ‣ github.com/PHP...
    Videos referenced:
    ‣ Signup and Login (part 1): • Signup and Login with ...
    ‣ Sending email with PHP: • Send email with PHP | ...
    00:00 Introduction
    00:24 How it works
    02:09 Starting point
    02:17 Forgot password
    04:08 Database changes
    05:03 Send password reset
    08:47 PHPMailer
    13:25 Send reset email
    14:17 Process link in email
    16:42 Password reset form
    17:49 Reset password
    20:40 Summary
    #PHP #MySQL #signup #login #passwordreset

Комментарии • 154

  • @dave-hollingworth
    @dave-hollingworth  Год назад +13

    This is part 2. Part 1 is here: Signup and Login with PHP and MySQL:
    ‣ ruclips.net/video/5L9UhOnuos0/видео.html
    and part 3 is here: PHP Account Activation by Email:
    ‣ ruclips.net/video/kC0AIip7Bww/видео.html

  • @WasifAnton
    @WasifAnton Год назад +7

    Working on my final project and now I added this option to my project, thank you very much

  • @dave-hollingworth
    @dave-hollingworth  Год назад +9

    What other related functionality would you like to see? Coming soon - account activation by email!

    • @sujalkhatiwada2267
      @sujalkhatiwada2267 Год назад +2

      Maybe a real-life project with clean coding, using API?

    • @ahooton
      @ahooton Год назад

      Hi Dave, great content! I recently decided to progress to learning Laravel and wondered if this was something you have any experience with, or were planning to cover in the future? Love your courses by the way! Cheers, Adam

    • @zmOe1
      @zmOe1 Год назад

      please show how to do this exactly with the env file to store the sensitive data externally

    • @dave-hollingworth
      @dave-hollingworth  Год назад +2

      @@ahooton Thank you! I will do some Laravel tutorials at some point in the future, yes

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      @@zmOe1 I just published this: ruclips.net/video/L5E2HSHrDjw/видео.html

  • @lucascampos4237
    @lucascampos4237 8 месяцев назад +1

    dave is the best of all times in php. His api course is AMAZING. the explanations are beyound the language, you learn the concepts and how implement it in practice

  • @momohezekieltrump6835
    @momohezekieltrump6835 Год назад +10

    Who else has waited for this?

  • @MohamadWyatt
    @MohamadWyatt Год назад +4

    Very good php man

  • @batchrocketproject4720
    @batchrocketproject4720 Год назад +5

    Thanks, really clear coverage of a fairly complex process. 👍

  • @dipeshsaw
    @dipeshsaw 2 месяца назад +1

    Thank You very much for the nice tutorial, I learn something new today

  • @ayodeleadeynka4195
    @ayodeleadeynka4195 7 месяцев назад

    You are indeed a great teacher Dave

  • @NedumEze
    @NedumEze Год назад +2

    Shear PHP Coding Wizardry.
    Deep appreciation, sir.
    Wishing that you would make a video on the things to do to make a website scalable.

  • @samnako
    @samnako Год назад

    Thank you Dave, I've had frustrations looking for a way out with doing secured password recovery/ reset

  • @AbhishekBade1310
    @AbhishekBade1310 Год назад +1

    your vid has really helped me a lot in making a good proj. and also thank you for keeping your code free to use

  • @SargonsEye
    @SargonsEye Год назад +1

    Nice explanation, understood instantly, thanks. Suscribed.

  • @miguelangelperezsantiago783
    @miguelangelperezsantiago783 8 месяцев назад +1

    Thank you very much Sr. ¡I apreciate all your knowledge!

  • @1PostWise
    @1PostWise 3 месяца назад +2

    Very much enjoying your tutorials. I am not understanding how/where to add the on-page client-side validation as was done on the process signup page mentioned at 19:08.

    • @dave-hollingworth
      @dave-hollingworth  3 месяца назад

      What exactly is your problem? Do you get any errors?

    • @1PostWise
      @1PostWise 3 месяца назад

      ​@@dave-hollingworth I would like to add the server side validation,
      like you did to signup.html, to forgot-password php. I added the "Just
      Validate" script and the validation js file. I also added id=signup
      at the beginning of form, but I don't get any validation errors and the form
      will not process.
      I suspect what I am doing wrong is obvious, but just not to me :)

    • @dave-hollingworth
      @dave-hollingworth  3 месяца назад

      @1PostWise Try looking in the browser developer tools in the js console or the network tab to see if there are any errors there

  • @aloalo-ss5vl
    @aloalo-ss5vl 5 месяцев назад +1

    Living treasure Thank you for the great work

  • @hongpair
    @hongpair Год назад

    Thank you so much sire always love Your coding and the simple syntax you use to teach special greetings ❤❤❤❤❤

  • @WhiskerWhim
    @WhiskerWhim 3 месяца назад

    great tutorial thanks :)

  • @slicetv4279
    @slicetv4279 Год назад +1

    Thank you very much. God bless you.

  • @tanaht23
    @tanaht23 Год назад +2

    Thank you 😇

  • @frankkaundamukhuni
    @frankkaundamukhuni 10 месяцев назад

    Thanks for your knowledge and your code I used them in signups and they worked for me perfect. And when are you planning to record a tutorial on how to create avater image

    • @ninjaGhost34786
      @ninjaGhost34786 9 месяцев назад

      bro plz tell me didi the domains worked correctly

  • @parinthakkar752
    @parinthakkar752 4 месяца назад

    BEST!!

  • @venomtv9066
    @venomtv9066 Год назад +2

    On the mail.php page, specify in the SMTP settings configuration, what is meant by email and password? Is it the one that belongs to the personal gmail, and what is the account added to the host? Please respond as soon as possible.

    • @dave-hollingworth
      @dave-hollingworth  Год назад +2

      The email and password are the ones you use to authenticate with the SMTP server. In the case of Gmail, this would be your full Gmail address and application password (you have to create a specific application password to use the Gmail SMTP server)

  • @slamanaim1837
    @slamanaim1837 Год назад +1

    really you are good

  • @giii_cppa8835
    @giii_cppa8835 4 дня назад

    thank you boss

  • @rasbry225
    @rasbry225 28 дней назад

    good day sir, on time frame 10:02 you declare require __DIR__ . "/vendor/autoload.php"; May I know why you declare autoload.php but is not included in your file directory?

    • @dave-hollingworth
      @dave-hollingworth  27 дней назад

      This file is generated automatically when you install packages using Composer

    • @rasbry225
      @rasbry225 27 дней назад +1

      @@dave-hollingworth Thank you so much.

  • @jamestrey3049
    @jamestrey3049 Год назад +2

    13:39 it appears: Message could not be sent. Mailer error: SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP server error: Failed to connect to server Additional SMTP info: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolutionMessage sent, please check your inbox.
    Can you guys please help me to fix this problem now?
    I extremely appreciate, thank you very much

    • @jamestrey3049
      @jamestrey3049 Год назад

      Message could not be sent. Mailer error: SMTP Error: Could not authenticate.

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      @@jamestrey3049This is an issue with the SMTP server hostname (e.g. smtp.example.com) or the authentication credentials (the username and password you use to connect to the server)

    • @jamestrey3049
      @jamestrey3049 Год назад

      @@dave-hollingworth Yes, I already changed its statement. But eventually It appears SMTP Error: Could not authenticate.
      Please help me

    • @jamestrey3049
      @jamestrey3049 Год назад

      Do you mean the password we use is the app password of Google?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      @@jamestrey3049 If it's saying you could not authenticate, this is usually a problem with the username and password. If you're using Gmail, this will be your email address and application-specific password.

  • @sarabibrahim8312
    @sarabibrahim8312 Год назад +1

    Can you add a video for creating admin roles
    Like adding super admin and admin please

  • @ackinito
    @ackinito Год назад

    Great content David, part 3 with 2FA with option to enable or disable it?

  • @mohammedelhossiny
    @mohammedelhossiny Год назад

    Perfect ❤❤❤❤❤❤

  • @faridajepkosgei7066
    @faridajepkosgei7066 Год назад

    thank you so much .

  • @martingronek4813
    @martingronek4813 10 месяцев назад +1

    really great content, thank you for that. It may be a stupid question but wouldn't it be easier to send the user to the sign-up page and skip the check if the email is already taken? (or just delete the user and let him sign up again)

    • @dave-hollingworth
      @dave-hollingworth  10 месяцев назад

      You could do, but the signup page is more complex than the password reset page, requiring more fields, more validation etc. so it's easier to let them reset their password by just supplying their email. As for deleting the user and letting them sign up again, yes you could do that, but that would require you to do that. Letting the user reset their own password requires no intervention on your part. (much better if you have many users!)

  • @bisdakhydroponics2732
    @bisdakhydroponics2732 Год назад +1

    Thanks sir

  • @ademineshat
    @ademineshat Год назад

    Great as always 👍
    I know videos are made so that they can be easy to understand but, Maybe It would be better and more practical, instead of using files and require them like: $var = require.....;, we can just create functions in one file and use them everywhere we need. 😊

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Yes you're right. I try to avoid adding code that would distract from the lesson being taught in the video, so I keep it as simple as possible, but a different way to organise the code would be better as the codebase builds.

    • @dwaynekeane3758
      @dwaynekeane3758 Год назад +1

      I love his tutorials but he did it in his first video and I was a bit confused. $mysqli = require __DIR__ . "/database.php"; What does this mean. This variable is for the database connection in the databse.php file.

  • @pavelivanov-bd3sf
    @pavelivanov-bd3sf 10 месяцев назад +2

    Such situation I made the reset password structure by your video, the main problem that google account now vanished the opportunity to make less app secure in google/account/security, out there I made password app in 2 factor authentication and use it in my project, but, have been always when try to reset the password, have the same error *SMTP Error: Could not authenticate* , someone speaks it point on incorrect credentials, however, credentials fine 100%, someone speak the structure of the project now does not fit for google requirements and therefore we have always the error, someone know how to resolve it? as long as someone have faced with the same issue ?

  • @AbhishekBade1310
    @AbhishekBade1310 Год назад

    could you please make a video on search algo like in a social media website where we can find people to connect with?

  • @markkinnedyanda767
    @markkinnedyanda767 8 месяцев назад

    Hello dave, i have a problem about your tutorial did you made some clarification or double checking the reset password?, because when i try to submit a form it didn't clarify the confirmation password neither if the password length was correct or have some numbers on it. Please i need to fix this issues.

    • @dave-hollingworth
      @dave-hollingworth  8 месяцев назад

      Are you referring to the client-side or server-side validation?

    • @markkinnedyanda767
      @markkinnedyanda767 8 месяцев назад +2

      @@dave-hollingworth i already check the code its just i missed this ';" to insert. thank you for your tutorial I'm still learning about php. 😁

  • @manaskanrarwedigitalhub
    @manaskanrarwedigitalhub 11 месяцев назад

    sir, please help my reset-password.php page not working
    mail massage click with example domain show

  • @hamdikelil939
    @hamdikelil939 10 месяцев назад

    i was able to update the token but when I click the link sent to the email, it keep says token not found

  • @donatellodonini3147
    @donatellodonini3147 8 месяцев назад

    I have a security question:
    What happens if an hacker ipotetically puts 0 as the password recovery token?
    Would the program recognise it as a valid recovery token and let the hacker change the password of the first entry of an user with a recovery token not set (set to null) or worse change the passwords of all the users with a recovery token not defined?

    • @donatellodonini3147
      @donatellodonini3147 8 месяцев назад

      sorry in advance for the bad english

    • @dave-hollingworth
      @dave-hollingworth  8 месяцев назад

      Good question - the user record is found based on the hash of the supplied token. If you hash "0", you still get a full hexadecimal string. So when the user record is searched for that matches that string, none will be found, and therefore none will be updated. So this shouldn't be a problem.

  • @projetistajunior6881
    @projetistajunior6881 Год назад

    Hello Dave. Everything works properly but the email, it doesn't create an hyperlink but instead write out the whole

  • @TestAccountEmail
    @TestAccountEmail Год назад

    Thankyou for this tutorial I am learning in your videos but is there another way? PHP mailer doesnt work now if you use gmail cause google disabled the function less secure apps in gmail😕

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      Search for "smtp server" (there are free and paid ones available)

    • @TestAccountEmail
      @TestAccountEmail Год назад +1

      @@dave-hollingworth Im truly grateful for your assistance!

  • @slamanaim1837
    @slamanaim1837 Год назад

    please in reset-password. php i don't understand if we must put $token_hash in the place of ? in the query $sql="select * from user where reset_token_hash=?"; because i think ? will replace $_get['token']
    and in the table user we store reset token hash and not the token
    help please
    just i want a clarification
    thx in advance

    • @chainenaimslama1870
      @chainenaimslama1870 Год назад +1

      i think this :
      $stmt->bind_param("s", $token_hash);
      in the script reset-password.php will put $token_hash in place of ?
      so because i don't know this ligne of code
      do you confirm me?
      thx in advance

  • @34_kabilan14
    @34_kabilan14 6 месяцев назад

    The Hash Code also created on the php table.I have installed the phpmailer in the composer. But I cannot get the Vendor Folder and Autoload. Sir how can i get the vendor folder also autoload file

    • @dave-hollingworth
      @dave-hollingworth  6 месяцев назад

      Make sure you ran the composer install command from the root folder

  • @CoderLoAnt
    @CoderLoAnt 10 месяцев назад

    why did you set reset_token_hash is unique?

    • @dave-hollingworth
      @dave-hollingworth  10 месяцев назад

      That field is used to uniquely identify a user. In the (albeit unlikely) event of two tokens being generated that are equal, the situation could arise that a user could reset the password of another user's account. So we set it to be unique in the database to avoid this situation.

  • @th3godfather64
    @th3godfather64 11 месяцев назад

    Which IDE are you using?

  • @joshblank4579
    @joshblank4579 Год назад

    I am trying to reset the "reset_token_hash" and "reset_token_expires_at" to null after I successfully reset my password but the values are not turning null. I checked the database and the code and all were copied perfectly. Is there any idea on how to fix this?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Could it be that the database columns don't accept null values?

  • @CoderLoAnt
    @CoderLoAnt 10 месяцев назад

    I can't update my password? do you why?

  • @Marsden
    @Marsden Год назад

    Hello, I've tried everything to get this to work however I'm struggling. I keep getting "token not found' after running the process-reset-password.php. I can confirm that the token is there, on the email and is being displayed in the "hidden" form when visible but still I get this error. I thought it might have been an issue with the hash, and so I have completely removed the hash and the checks for the hash, but I'm in the same boat. Can anyone help?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Try debugging by printing out the values of the token at various points, to see if it's getting lost somewhere. You can also compare your code to the code from the video in the repository.

  • @flaasher
    @flaasher 2 месяца назад

    the PHP script may generate a token that already exists ...

  • @pkkumar3415
    @pkkumar3415 Год назад

    Sir please tell how to send email using codeigniter 3

  • @duhaylungsodsamroldan4202
    @duhaylungsodsamroldan4202 Год назад

    theres an error whenever i click the link on mail:
    Not Found
    The requested URL was not found on this server.
    Apache/2.4.48 (Win64) OpenSSL/1.1.1l PHP/7.3.30 Server at localhost Port 80

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      Check the URL matches your hostname (e.g. localhost, example.com etc.) and the path to the file (/reset-password.php, or /subfolder/reset-password.php etc.) and the filename matches it

  • @fgtoon2959
    @fgtoon2959 Год назад

    amazing , if u can help upload photo and can edit it .please

  • @jodhaniarpit8949
    @jodhaniarpit8949 11 месяцев назад +1

    Hii how to download vendor/autoload.php please give me link

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      This file is generated automatically when you install packages using Composer

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      @@flavoredtears3898 When you run the "composer install" command, it will create the vendor folder in the same folder you run it from - check the output of that command to make sure there were no errors

  • @jaybeedelacruz8279
    @jaybeedelacruz8279 Год назад

    Why does mine display "Token not Found" even though the token is correct for the given URL?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Hard to say without seeing the code - try debugging by printing out the values of the $_GET variable etc. at different stages using var_dump

    • @Marsden
      @Marsden Год назад

      Mine is exactly the same, did you manage to fix this?

  • @sakuralee9800
    @sakuralee9800 10 месяцев назад

    Hi sir, i tried and success to run it but after a month a open it got this error. can you help me please? Fatal error: Uncaught Error: Call to a member function setFrom() on int in C:\xampp\htdocs\fyp\send-password-reset.php:28 Stack trace: #0 {main} thrown forgot password

    • @dave-hollingworth
      @dave-hollingworth  10 месяцев назад

      What is on that line of code? (line 28)

    • @sakuralee9800
      @sakuralee9800 10 месяцев назад

      I saw my smtp account is disabled restricted access just now, is it the issue why I got error?😮

    • @sakuralee9800
      @sakuralee9800 10 месяцев назад

      Hmm I write the code for u just now but I don't know why it didn't show here...

    • @dave-hollingworth
      @dave-hollingworth  10 месяцев назад

      @@sakuralee9800 Try putting the code on something like pastebin and posting the URL here

    • @sakuralee9800
      @sakuralee9800 10 месяцев назад +1

      ​@@dave-hollingworth I can fix it already, thank you sir 😁

  • @q.m.vandersnoek3899
    @q.m.vandersnoek3899 11 месяцев назад

    Dear Dave, thank you so much for this tutorial. It is great. Very clear explanation and nice voice.
    I do have a problem.
    When I run your script on my computer, locolhost, everything works fine.But when I FTP it to my site I get an error.
    When I klick the send-button, i get: the page could not be processed. HTTP ERROR 500. When I choose another file, (forgotmail.php, ipv send-password-reset.php) it loads the page (forgotmail.php. When I paste the code from send-password.php insode forgotmail.php, iit does not work anymore. Can you understand this?
    Kind regards and thank you in advance

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад

      A 500 error means an error is occurring on the server - to see error details you need to add this to your code:
      ini_set('display_errors', 1);
      ini_set('display_startup_errors', 1);
      error_reporting(E_ALL);
      This will tell you where the error is occurring

    • @q.m.vandersnoek3899
      @q.m.vandersnoek3899 11 месяцев назад +1

      ​@@dave-hollingworth It was a problem with the authorisation ... problem solved. Now it works like charm. Thanks again Dave!

  • @sarabibrahim8312
    @sarabibrahim8312 Год назад +1

    👏👏👏

  • @1623maz
    @1623maz 8 месяцев назад

    Message sent, please check your inbox. but not sending the message. What is the errors..?

    • @dave-hollingworth
      @dave-hollingworth  8 месяцев назад

      Try adding this to your code before the redirect happens:
      $mail->SMTPDebug = 2;
      exit;
      This will show the debug errors from the SMTP server.

  • @igu642
    @igu642 Год назад +1

    ❤❤

  • @charlemagnearispe3614
    @charlemagnearispe3614 11 месяцев назад

    I installed composer but it only downloads vendor/phpmailer without anything inside it

    • @dave-hollingworth
      @dave-hollingworth  11 месяцев назад +1

      Check your file explorer isn't hiding certain files, and you have enough disk space. Also see if there were any error messages when you ran the Composer command

  • @baldryanebale8106
    @baldryanebale8106 9 месяцев назад

    Message could not be sent. Mailer error: SMTP Error: Could not authenticate.
    What is the problem?

    • @dave-hollingworth
      @dave-hollingworth  9 месяцев назад +2

      Check the user and password you're using to authenticate with the SMTP server

    • @Doyleur
      @Doyleur 9 месяцев назад

      Getting the same error, as far as I know my username and password for the SMTP server is correct as well as the settings for the SMTP server. Can I ask what server you're using? Or if you fixed it?

    • @baldryanebale8106
      @baldryanebale8106 9 месяцев назад +1

      @@Doyleur the same as on the video, but i didn't fix it :

    • @dave-hollingworth
      @dave-hollingworth  9 месяцев назад +1

      @@Doyleur I use mailgun. You can always try the SMTP settings in a regular email client (e.g. Thunderbird) to see if they work there

  • @promango7745
    @promango7745 Год назад

    i got email has already taken on sign up but email doesnt taken

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Please have a look at some of the other comments where people have had a similar problem and posted a solution

  • @rale3r
    @rale3r Год назад

    Hello Dave.
    First, thanks for your lessons. They are great!
    For me, the reset-password.php file does not work on my domain, PHP version 7.4
    Reports an error: Failed to load resource: the server responded with a status of 500 ()
    An error occurs when executing this line: $stmt->bind_param('s', $token_hash);

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      PHP 7.4 no longer receives security updates, I recommend updating it as soon as you can. A 500 error is an error on the server - see this video on how to see the actual error message: ruclips.net/user/shortst6KpIfHPFGw?feature=share

    • @rale3r
      @rale3r Год назад

      Thanks for your reply. It didn't help me. If I change the PhP version, then other things don't work for me. I am not familiar with PhP. The above error occurs when executing this line:> $result = $stmt->get_result();@@dave-hollingworth

    • @rale3r
      @rale3r Год назад

      Can you suggest an alternative method ?

  • @Riri-hh7ej
    @Riri-hh7ej Год назад

    how to set up composer?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Follow the instructions for your operating system here: getcomposer.org/doc/00-intro.md

  • @louieknowstech
    @louieknowstech 5 месяцев назад

    wheres the tutorial to set up smtp ?

  • @bhaskar_veeraragavaneditz1891
    @bhaskar_veeraragavaneditz1891 Год назад

    Where is Autoload.php

  • @tv44-alternative23
    @tv44-alternative23 9 месяцев назад

    I'm now getting this
    "Message could not be sent. Mailer error: SMTP Error: Could not authenticate.Message sent, please check your inbox."
    Is it a firewall issue with smtp server?

  • @rafaelrodrigues-gq3mo
    @rafaelrodrigues-gq3mo Год назад

    Hi @dave-hollingworth. In the last step of the "process_reset_password" I'm comming across a following problem: Fatal error: Uncaught Error: Call to a member function bind_param() on bool in C:\xampp\htdocs\TCC\TCC\process-reset-password.php:39 Stack trace: #0 {main} thrown in.
    Could you help me to solve it out!?

  • @slamanaim1837
    @slamanaim1837 Год назад

    thx a lot all work well however the only problem for me is when i click on signup and i write name ,email,...and i click send always show me this message:email alreay taken although the email is not used so in this case i insert manually id,name,email..into the table user and i succeed to do all the other things.
    help please
    thx in advance

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      Try adding this line:
      mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    • @chainenaimslama1870
      @chainenaimslama1870 Год назад +1

      @@dave-hollingworth you know i went to cafee and now i return to my laptop and i try again however in this all works well without adding anything thx very much best friend

  • @noone_fromwinterfell
    @noone_fromwinterfell 9 месяцев назад

    Hello dave, thank you for the great video however, It shows here that in my code
    Warning: Undefined array key "email" in C:\xampp\htdocs\dms\send-password-reset.php on line 3
    pls help me

  • @davidsondavid4988
    @davidsondavid4988 Год назад

    please I am getting an error, Message could not be sent. Mailer error: SMTP Error: Could not authenticate. Massage sent, please check your inbox

    • @dave-hollingworth
      @dave-hollingworth  Год назад +1

      Check the username and password you're using for your SMTP server

    • @davidsondavid4988
      @davidsondavid4988 Год назад

      thanks you are the best@@dave-hollingworth

  • @DoniaAhmedRizkMohamed
    @DoniaAhmedRizkMohamed Год назад

    Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\projects\test\template\demo\vendor\phpmailer\phpmailer\src\SMTP.php on line 1269

  • @user-fl5gu8pw4f
    @user-fl5gu8pw4f Год назад

    send-password.php code its not working its not updating reset_token_hash and the reset_token_expires_at any help ?

    • @dave-hollingworth
      @dave-hollingworth  Год назад

      Do you get any error messages? Try temporarily stopping the script before it redirects so you can see them

    • @user-fl5gu8pw4f
      @user-fl5gu8pw4f Год назад

      Thanks for your reply , i really appreciate your Code the problem was at the DB Connection yours is a Prepared statement mine was a Normal connection , what do u think Prepared Statement is more secure or both are good , also there was an bug at your Register Process the client can use someone elses data to register for example you forgot to prevent duplicated inserts :)@@dave-hollingworth

  • @slamanaim1837
    @slamanaim1837 Год назад +1

    please in reset-password. php i don't understand if we must put $token_hash in the place of ? in the query $sql="select * from user where reset_token_hash=?"; because i think ? will replace $_get['token']
    and in the table user we store reset token hash and not the token
    help please
    just i want a clarification
    thx in advance