Working Contact Form in PHP with Validation & Email Sending

Поделиться
HTML-код
  • Опубликовано: 19 апр 2020
  • Learn the basics of creating a working contact form with email sending and basic email validation using PHP. We'll learn about the 'name' attribute of our form input elements and use that to build and send an email when a user fills out the contact form. We'll add some basic validation for the email as well as some conditional logic to display a 'thank you' message if the form was sent properly.
    Grab the referenced HTML/CSS form too follow along: github.com/wilsmex/edu/tree/m...
    💖 SUBSCRIBE (Please) 💖
    ruclips.net/user/FollowAndrew?s...
    #php #contact #form #email

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

  • @FollowAndrew
    @FollowAndrew  4 года назад +31

    Something a bit different today: PHP contact form with email! Comment, like, & subscribe!!

    • @alexshel8578
      @alexshel8578 2 года назад +2

      it works with github pages server?

  • @Ditdee
    @Ditdee 3 года назад +1

    Thank you! Thank you ! Thank you! I just wrote this script and it works wonderfully. This is after getting 3-5K quotes from developers. I migrated servers and the old server was using an outdated "perl" script to process forms. I cannot tell you how helpful this video was for me! Thank you Andrew!!!

  • @matthewrobinson6183
    @matthewrobinson6183 2 года назад +8

    Huge thank you.
    I literally had no experience with PHP (at all) and I used your lesson to teach myself how to edit a form submission page PHP script generated by a block editor program (Nicepage) and get it to work first time!
    Crystal clear instruction.
    Thank you!

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

      Have you include checkboxes or multiple select options in your form? Are you in Stackoverflow?

  • @BenAssane
    @BenAssane 4 года назад +6

    Follow andrew's tutorials are the best
    i have learned so much stuff in this channel !
    Hope you'll continue php tutorials and responsive tutorial with other projects 👌

  • @jekath2786
    @jekath2786 3 года назад

    Thank you so much. One of the few people who explain php so good. :)

  • @ryansymons8915
    @ryansymons8915 3 года назад

    Another awesome tutorial.. now to finish off validation and get this bad boy online

  • @Unknown-yl1do
    @Unknown-yl1do 3 года назад +1

    This is very very very helpful, specially going through the logic of the code that u typed everytime, it really makes it so clear and understandable. I cannot thank you enough for your effort. here's a like and a subscribe :)

  • @mikeb2604
    @mikeb2604 4 года назад +1

    Perfect tutorial, thank you for this!

  • @santiagoramirez5507
    @santiagoramirez5507 3 года назад

    Muchas gracias!! From Chile!! I appreciate your video so much!

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

    Amazing tutorial. Straightforward & to the point.

  • @Shacontrol
    @Shacontrol 3 года назад

    I don't know what I'm doing here, but I can tell you that this is so f*cking entertaining

  • @easilyCoded
    @easilyCoded 2 года назад

    Thank you. Thank you. Thank you. Thank you so much for this video. You're the best teacher on net!

  • @fd-daniel578
    @fd-daniel578 3 года назад

    I love your tutorial Andrew, Thank you for such detailed information on how we really do this! You're great man!

  • @_aamir
    @_aamir 3 года назад

    Perfection! Great job! Amazing tutorial!

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

    This is exactly what I was looking for, thank you!

  • @shuvrodebroy2813
    @shuvrodebroy2813 3 года назад

    Thank you very much for this tutorial, and waiting for more interesting !!!

  • @Abhishekkumar-rt9ro
    @Abhishekkumar-rt9ro 2 года назад

    Your tutorials are really awesome thanks for the hard work you are putting in. Love from India

  • @jamesdb5596
    @jamesdb5596 3 года назад +3

    Great tutorial, Andrew - really made things easier for me :-)

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

    love the way you are explaining stuff! thank you

  • @niteshsahni8393
    @niteshsahni8393 3 года назад

    i searched for this keyword and i found you and you know what you are awesome amazing

  • @shnam928
    @shnam928 4 года назад +2

    Your tutorials are different & very helpful, thanks a lot.

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

    Exactly what I needed! I know literally zero PHP but it worked first try. Thank you!

  • @danielradulescu6772
    @danielradulescu6772 3 года назад

    Thank you so much... this was an amazing tutorial! Exactly what I needed, at the pace I needed. :)

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

    Thanks for explaining the logic behind easy to understand!

  • @sifisomasilela6753
    @sifisomasilela6753 3 года назад

    One of the best Tuts. Thanks

  • @nafijrohi01
    @nafijrohi01 2 года назад

    Great tutorial,Andrew -really things easier for me.

  • @Mongolian-Videos
    @Mongolian-Videos 3 года назад

    Thank you very much for your wysiwyg tutorial and waiting for more interesting staffs :)!

  • @sodiq_5
    @sodiq_5 2 года назад

    Thanks a bunch for this video. It worked on a live server.

  • @andreinicolae8305
    @andreinicolae8305 3 года назад

    I liked, commented and subscribed! Thanks!!!

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

    Thanks man, this video really helped me! Thank ya very much! I never knew how that css thing worked, I used to think that's something of a js thing! Now I know it is a css property!

  • @JulioTex
    @JulioTex 3 года назад +1

    Great tutorial, really helped me to understand forms and e-mail validation :)

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

    You are great. I am happy I discovered your channel.

  • @Naveenkumar-te4id
    @Naveenkumar-te4id 3 года назад

    Great Work Andrew, it really helped me a lot... Thanks for this.

  • @netneedingsystems2318
    @netneedingsystems2318 3 года назад

    I loved this tut! Thanks for sharing. Liked, Shared, and subscribed. :D

  • @kingmuffyojei7744
    @kingmuffyojei7744 4 года назад

    thank you bro..! I'm subscribing for more..

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

    I am completely a novice at this, but your explanation is comprehensible. Thank you!

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

    You explain very well and detailed.

  • @bravehotsauce
    @bravehotsauce 3 года назад

    Thank you very much!

  • @silverbell6160
    @silverbell6160 2 года назад

    Very clear, good information, great tutorial, thanks, I subscribed!

  • @jfur5881
    @jfur5881 3 года назад

    This works perfectly, thanks!

    • @rashaadmyrieckes1506
      @rashaadmyrieckes1506 3 года назад

      why wont it send to my email Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Users\asus\Desktop\php program convert\htdocs\amitprograms\exhaustedwebsite.php on line 43

    • @sheikhziadahmed2283
      @sheikhziadahmed2283 2 года назад +1

      @@rashaadmyrieckes1506 host it!

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

    Thank you very much this video help me a lot! interesting! and also you explain good and make it easy to understand.

  • @snowman_web_design_development

    Awesome, thank u!

  • @livymarilyn509
    @livymarilyn509 2 года назад

    Very functional bro to send campaign emails.

  • @luandeivisonld694
    @luandeivisonld694 3 года назад

    muito obrigado , aula muito boa , Brasilll

  • @bravehotsauce
    @bravehotsauce 3 года назад

    Thank you!

  • @venus9598
    @venus9598 3 года назад

    so in depth! XD

  • @wazaa2008
    @wazaa2008 3 года назад +1

    Thanks for making this video! Is that email validation code in php also necessary when “required” is already used in the input HTML?

  • @CarlWicker
    @CarlWicker 2 года назад

    thanks, help me loads

  • @makawytech
    @makawytech 3 года назад

    The best video🌹

  • @nickkarsant9610
    @nickkarsant9610 3 года назад +13

    Ok, but how do you make to so you ACTUALLY receive an email, cuz that bit doesnt seem to work when i try it, nor do you show that.

  • @MdNaimurRahmanHera
    @MdNaimurRahmanHera 2 года назад

    Thanks a lot Sir :)

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

    Thanks so much for this, it was awesome. It helped me a great deal. I hope you'll touch on phpMailer soon.

  • @eftiprwtopapadakis9310
    @eftiprwtopapadakis9310 3 года назад +1

    Amazing content as always and very helpful! Though, one question. How would you suggest with javascript to print the "thank you your form submitted" somewhere discreet in the same page where the user hasnt to redirect to another page

  • @Keyboardwarrior6977
    @Keyboardwarrior6977 2 года назад

    Thanks dude

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

    Well Done SIR!

  • @tareboda-3436
    @tareboda-3436 3 года назад

    Hi.
    I would like to thank you for this video. Nicely explained.
    I would also ask if you have also working example of PHP form that would actually send an email to a customer who submitted the form, not only to the owner, but to both ...
    Thank you

  • @abishek07
    @abishek07 4 года назад +1

    It works! It works!

    • @MourideGoor
      @MourideGoor 4 года назад

      what server did you used ?

    • @abishek07
      @abishek07 4 года назад

      @@MourideGoor Apache

  • @NorlynCodes
    @NorlynCodes 3 года назад +3

    Hi Sir! I really like how you explain things, keeping in mind that a lot of newbies might be checking this tutorial out. Thank you.
    I have a question, I created a landing page with a contact form. It has a file name index.html. I want to make the contact form work, should I then change it to index.php for it to be a fully funtioning contact form?

    • @mohamadSalahia
      @mohamadSalahia 3 года назад +1

      Yes change it to index.php and then make form validations and send email :)

    • @NorlynCodes
      @NorlynCodes 3 года назад +1

      @@mohamadSalahia Hey! That’s very kind of you. Thanks

    • @mohamadSalahia
      @mohamadSalahia 3 года назад +1

      @@NorlynCodes Your welcome :)

  • @jakubfrei3757
    @jakubfrei3757 3 года назад +1

    Hi. Nice video. I have a question though.Is your validation part " $_POST['email'] != ' ' " like this necessary ? Because array is true only if its not empty right ? So if we write just " if($_POST['email']), it should do the same ?

  • @JonasBecker
    @JonasBecker 3 года назад +1

    Love the tutorial, thanks! As styling of select boxes sucks, I used divs with a little javascript. How could one use the selected list item as a variable? Thanks in advance!

    • @MasterofAardvarks
      @MasterofAardvarks 3 года назад

      you can set a class on virtually anything. for example -

  • @alcap6145
    @alcap6145 3 года назад

    This is the best tutorial I have found so far to accomplish email form collection.. question how do you video yourself in the corner without anywithout any background? I know how to do it with picture in picture but the way you do it is really really cool can you share how you do that

    • @mostmojo
      @mostmojo 3 года назад

      Hey you - Google: Green screen video :)

  • @uprightnesseziukwu8283
    @uprightnesseziukwu8283 2 года назад

    Thanks

  • @kudjoeerik1622
    @kudjoeerik1622 2 года назад

    Hi Andrew, I enjoyed your tutorial . I have a question.. how can you add attachment to the form to send email with attachments . Also can you connect this to MySQL to see the sent emails ? Thank you

  • @philipadams5386
    @philipadams5386 2 года назад

    Congratulations on this tutorial. I'm a PHP newbie but can follow along for the most part if I watch repeatedly. One question, however: Is adding the variable $body necessary? I think it is simpler to use $message as the third parameter of the mail function. Am I right?

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

      Yes, also most of developers use $message as the third parameter and is REQUIRED. For semantic reasons, developers use: $to, $subject and $message as parameters names, for convention, but it doesn‘t have to be like this, necessarily. You saw how this video used $body instead of message, and $messageSubject instead of just $subject.
      You name them whatever you want, but three of them, in the strict order, have to be included. The first parameter is for the email destination of the form, that will go to the box of the TO in the mail application. The same for the SUBJECT. Whatever you put as the second parameter will go in the SUBJECT field of the email app.
      Additional headers are optional but recommended to get better organized. Obviously, when you called the mail functions, use the parameters names you are using: mail ($first_parameter_destination_email, $second_parameter_topic_name, $third_parameter_content_message);

  • @muhammadrashidkhan4595
    @muhammadrashidkhan4595 2 года назад

    Hi Andrew first of all thanks a lot for your excellent sharing. Video is excellent. I just want to highlight the diffulities I face to implement it.
    On your provided github repository there is no webform.php file present. One more thing to point, some description is required for the code in the main.js file. This main.js which is present on github repository.

  • @marksiely4747
    @marksiely4747 2 года назад

    I am very glad to have come across your tutorials. Actually I was looking for a tutorial on how to add a subscribe and activate for newsletter . Can I use this tutorial for this purpose and what should i change to that ? Than you very much in advance

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

    We do that. Happy to save you from the programming involved!lol! Email response and simple code generation.

  • @jjswin
    @jjswin 2 года назад

    Hi @FollowAndrew, I just wanted to ask how secure this method is. Is this super secure, or are there 'more' secure ways of doing it?
    I'm handling sensitive data under UK GDPR so I'm conscious of using the most secure methods possible. Thank you!

  • @tannermartz6761
    @tannermartz6761 3 года назад +3

    is the code for this validation on the github because right now i can only find the html, (thanks for the help andrew!!)

  • @shjohnson2941
    @shjohnson2941 3 года назад

    Hello, I love the tutorial! However, I have a problem. Everything works perfectly, but when I receive the email all of the inputs are blank. Example, name comes back as 'Name: " with no context. Is there something else I must do on the back end of my server, outside of the php? I noticed you had a link to AJAX in your head, is this necessary for the form to function? Thanks!

  • @edal61
    @edal61 2 года назад

    Excellent tutorial, could not get the "php" code from the Github page you provided though, just the html version of the page. Is it available elsewhere? Thanks!

  • @twissr
    @twissr 3 года назад +1

    Hey man, thank you for your videos! I'm learning a lot. This tutorial was easy to follow along and you also break everything down. this worked up until I took the comment on mail($to,$messageSubject,$body)
    $message sent=true;
    the browser spits !*Parse error: syntax error, unexpected '$message_sent' (T_VARIABLE) in C:\php\htdocs\Developer Layouts\webform.php on line 21*! out.
    Can you please explain what I missed?
    Also for a future video you could go over MySQL and how to stick the input of forms go into the database.
    Thanks again.

  • @lewistaylor4620
    @lewistaylor4620 3 года назад

    Hey there, I am trying to submit the form so that it sends the relevant data to my email address. I have tried to use the recursive array to see if when I click on my submit button it spits out the relevant data. But I keep receiving a 405 error when running the php/html on my local system and and 404 error when I am hosting my website on a dynamic hosting service. This happens every time I go to submit the form. Any ideas what I'm doing wrong?
    Lewis

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

    Thank you for your time and effort. Could you pls explain how to setup the smtp, server name, username, password, port number of the sender?

  • @next_luke
    @next_luke 4 года назад +5

    How can I use this PHP with an external file?

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

    11:42 So, if you don‘t set the
    if isset function on the top, the form could be sent just with empty fields? Is for that the isset function?

  • @paulrak99
    @paulrak99 2 года назад

    Thank you for this! Quick question, all of the emails from my domain/host are forwared to my gmail account but they are all going to my spam folder. How do I fix this? Thank you for the help!

  • @dannyreg8405
    @dannyreg8405 2 года назад

    Andrew - Great Video, however, I couldn't find the video on the form itself. Can you direct me to it so the next time I can follow along?

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

    Hi Andrew, thanks for the tutorial! Everything worked for me up until the point where I start to add the last if, else and endif statements. I get a "localhost can't run this.. http 500 error" message when I reload. I'm running this via MAMP, is that the reason it doesn't work?

  • @photoinshot1355
    @photoinshot1355 2 года назад

    Thanks for a great tutorial, works great after setting up sendmail in php and adding a from in the mail (using yahoo). However, after sending the email and getting the success message “Thanks we will be in touch” If I refresh the page the email is sent again, and I get the success message again but cannot see the form. How can this be fixed? Thanks

  • @bensonanyeteiarthur1825
    @bensonanyeteiarthur1825 2 года назад

    Thank you soo much. Mine worked perfectly. But i have a question: When i received the message in my mail, the username is that of my Server's instead of either a name. Can you pls help me with that.

  • @shantichawhan9376
    @shantichawhan9376 3 года назад +2

    not working. Downloaded your form html, js, css etc. completed php but I keep receiving a 405 error when running the php/html on my local system and and 404 error when I am hosting my website . The mail cannot be sent or received. Could you tell what the problem is??

  • @TriLiCiT
    @TriLiCiT 2 года назад

    Andrew. So I have Visual Studio Code along with my own host via Hostinger in which i made a temporary webform.php. However when I use your provided code in studio code than submit the data. I'm not getting an array. It literally is showing in the live preview in html format behind the form the PHP script...am i doing something wrong...how do i get the array showing like yours?

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

    How would you incorporate checkboxes in the php portion? I can add the html for checkboxes but can't seem to work out how to get 'check' to work.

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

    What I don‘t catch is how does the «$message_sent» variable is related to the mail function. Semantically, yes, but how do I know if $message_sent = TRUE, really means that the message was sent? All the rest was explained nicely.

  • @ClarenceTavede
    @ClarenceTavede 3 года назад

    Hi andres I get this error message everytime: "method reflectionparameter::getclass is deprecated".
    How can i solve this?

  • @user-ri7qy1en7l
    @user-ri7qy1en7l 4 года назад +1

    Hey Andrew can you help me i just buy cv portfolio the send message is not working how to fix this i'll send you the picture

  • @joannaubbi5701
    @joannaubbi5701 3 года назад

    Hi Andrew! Very good tutorial indeed!
    Will you be able to post a tutorial showing how to

  • @uyou282
    @uyou282 2 года назад

    Hi, thank you for the good video, I copied it really easily, but I'm going to link the file I copied to the html file and put the context part under the html file, can you tell me how to do it?

  • @paulsccna2964
    @paulsccna2964 4 года назад +3

    Posted this on my IIS server and it does not work. IT does not throw an error but the email is never received. I tried my godaddy domain, google and, yahoo and the email never arrives. I have been tried this email form on dozens of different configurations and servers and it never works.

    • @eve4524
      @eve4524 3 года назад +1

      Same here. Does anyone have idea why mail not received?

  • @animeshsingh7497
    @animeshsingh7497 3 года назад

    What software/IDE are you using? I am new at this so I don't know

    • @JezReady
      @JezReady 3 года назад

      Visual Studio Code look at Andrews channel videos "Top 12 Best VS Code Extensions (2020)"

  • @kenaida22
    @kenaida22 3 года назад

    How do i use this form on my site, and not in a local ht docs folder?

  • @makawytech
    @makawytech 3 года назад

    how can i add the same form but with atachment input file?

  • @ssigitas69
    @ssigitas69 2 года назад

    Great tutorial. Maybe to many information for simply form. Do you have simple form working tutorial? And one thing I CANNO'T understand yet, do I need create form with .php if I want working form on server side? Because I created my webpage with .html Do I need firs of all to change to .php??? Because other way nothing happens to me

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

      you need php tags ,php is a server language ,say file name email.php,localhost/email.php,hopefully works,html is basic programing ,to display it you don't need server ,right click and display in browser.

  • @kkroll7366
    @kkroll7366 3 года назад +1

    i followed your text exactly, and the form errors out.

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

    dud..... thank you...

  • @Joseph-yd3sq
    @Joseph-yd3sq 3 года назад

    Mine worked in local but when i uploaded it in live host i get SMTP error: could not authenticate. I'm using HostGator for my hosting. Can you help me Andrew? or someone here in comment section? btw thanks for this tutorial i really appreciate it.

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

    How Do I change the css that you wrote?

  • @lc6509
    @lc6509 2 года назад

    I had follow everything you had said and in the beginning it was working but now my page is not loading properly.

  • @tonixucab6871
    @tonixucab6871 3 года назад

    I have a question, is it also applicable to WordPress when you have to working out Form?

    • @netneedingsystems2318
      @netneedingsystems2318 3 года назад

      WP have many great plugins that helps you create the form in a "user friendly way", but the way this guy teaches here is the manual proffesional "advanced way". As WP developers do.