Grow your CSS skills. Land your dream job.

How to get quiz results emailed to me and the user?

  • # August 9, 2012 at 1:32 am

    Hi,
    I’m just a beginner and I created a quiz on my website using the tutorial at http://css-tricks.com/building-a-simple-quiz/
    I need to get the results when a User does the quiz emailed to me and them (they will provide their email address in a field below the quiz).
    Please provide clear step by step instructions as I am just starting out with this stuff.
    Thanks

    # August 9, 2012 at 1:07 pm

    The simplest method to write would be to use mail():

    http://php.net/manual/en/function.mail.php

    Please note that this isn’t well suited to sending large numbers of emails, or HTML emails. However, if it’s just a simple message to you and one other, I think that’s your best option. Read the examples on the linked to page to understand how it works. If you understand how to use strings in PHP, then you should understand how it is working. If you don’t understand how to use strings in PHP, then now would be a good opportunity to learn!

    # August 9, 2012 at 2:09 pm

    I’m really not getting this. Could someone please get me started on the code for the mail()? I did some but it didn’t work. I need the results of the quiz to be emailed to the user and me, and I also need the quiz to still use grade.php to check the results and allow the user to see their score immediately. Here is the original code:

    < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">














    TRIVIA #1









    1. In the KRUSTY TOWERS episode, what does Patrick say after Squidward says 'How can you have bags when you just found out this is a hotel?'











      .













    2. In ROCK BOTTOM, what was the name of the Candy Bar Spongebob wanted out of the vending machine?






















    3. In ROCK BOTTOM, what is Spongebob's number in line at the Bus Station?





      386


















    4. In KARATE ISLAND, what does Udan want Spongebob to buy?






      Condo


















    5. In MRS. PUFF, YOU'RE FIRED, when Spongebob takes apart the boat, what does he build when he puts it back together?



































    # August 9, 2012 at 5:50 pm

    If you want anything personalised, you’ll need to include your PHP code. Otherwise I’ll just be posting here what is already in the page I linked to.

    Also, I don’t see an email input in the code you posted above.

    # August 9, 2012 at 7:26 pm

    Sorry, I’m really new with this and I’m only in High School. I guess I’ll need to go through this step by step.
    So I’ve created my PHP Quiz. It’s working and the answers are getting checked with the grade.php file, and its displaying a correct score. What’s the next step?

    Thanks for helping

    # August 9, 2012 at 7:58 pm

    This is the code for the grade.php page, I don’t know if I’ll need it. BTW I’m using Dreamweaver CS5.5.

    < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">














    TRIVIA #1



    < ?php

    $answer1 = $_POST;
    $answer2 = $_POST;
    $answer3 = $_POST;
    $answer4 = $_POST;
    $answer5 = $_POST;

    $totalCorrect = 0;

    if ($answer1 == "A") { $totalCorrect++; }
    if ($answer2 == "C") { $totalCorrect++; }
    if ($answer3 == "B") { $totalCorrect++; }
    if ($answer4 == "A") { $totalCorrect++; }
    if ($answer5 == "C") { $totalCorrect++; }

    echo "
    $totalCorrect / 5 correct
    ";
    echo "
    You earned $totalCorrect 0 SpongeCash
    ";
    ?>








    # August 11, 2012 at 7:33 am

    So, the PHP you posted here is different from the code you posted in the almost duplicate thread you posted:

    http://css-tricks.com/forums/discussion/18978/how-do-i-get-php-quiz-results-emailed-after-being-graded

    The other thread has code with the following:

    $to = "admin@spongebob-fanclub.com,'Email Address'";
    $subject = "Your Trivia Results";
    $message = "Here are your Trivia Results:";
    $from = "me@example.com";
    $headers = "From: $from";

    // Send email
    mail($to,$subject,$message,$headers);

    I would suggest changing it to:

    $to = "admin@spongebob-fanclub.com";
    $subject = "Your Trivia Results";
    $message = "Here are your Trivia Results:n ";
    $message .= $totalCorrect . " / 5 correct";
    $from = "me@example.com";
    $headers = "From: $from";

    // Send email
    mail($to,$subject,$message,$headers);

    You will need a real server for this to work (it’s unlikely that you have the neccessary binaries available if you are running on your home machine) and your mail server may filter it out as spam, since the mail claims to be from example.com but in actuality isn’t. Let me know if this works for you.

    # August 11, 2012 at 7:31 pm

    Thanks for the suggestion. I got it to send an email to me by using the code below. Now, I need the same message emailed to the user. I have already created an email address field on the quiz page.

    Thanks!

    < ?php

    $mailTo = "admin@spongebob-fanclub.com";
    $msgSubject = "Your Trivia Results";
    $msgBody = "Hi!nn";
    $msgBody .= "On Trivia #1 you got ";
    $msgBody .= $totalCorrect . " out of 5 correct!n ";
    $msgBody .= "You earned ";
    $msgBody .= $totalCorrect . "0 SpongeCash!nn";
    $msgBody .= "Here are your Trivia Results:n";
    $msgBody .= $answer1 . "n";
    $msgBody .= $answer2 . "n";
    $msgBody .= $answer3 . "n";
    $msgBody .= $answer4 . "n";
    $msgBody .= $answer5 . "nn";
    $msgBody .= "Remember, you can earn SpongeCash for each Trivia once a week up to five times!nn";
    $msgBody .= "Thanks for Playing!nn";
    $msgBody .= "The Spongebob Fanclub";
    $xHeaders = "From:";

    mail ($mailTo, $msgSubject, $msgBody, $xHeaders);

    ?>
    # August 14, 2012 at 1:03 am

    Please Help!

    # August 14, 2012 at 10:38 am

    Please do some research!

    What you want to do is literally already done five times in the example you posted above. Of course, you might also want to verify that the user has actually submitted a real email address, but it doesn’t sound as though it is that you are struggling with. If you want someone to write your website for you, maybe you should ask them to do that? If you want help, then it would be nice if it at least looked like you had put a little effort in yourself.

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.

*May or may not contain any actual "CSS" or "Tricks".