Question

Quiz Script

Asked by: AtlGT

Hi,
   Does anybody know where I can get a Coldfusion quiz script that is simeler to a poll?  I wanted the quiz to have more than 2 questions on one page.
I was going to write the quiz script myself, but it was a lot complicated than I thought. I am still working on it though.
Thanks in advance

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2003-07-21 at 11:40:40ID20685289
Tags

quiz

,

coldfusion

Topics

ColdFusion Application Server

,

ColdFusion Studio

Participating Experts
2
Points
50
Comments
18

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Quiz
    I'm looking for asp script or program that will quickly generate a quiz which will calculate the mark and insert it into access DB. Thank you all in advanced.

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: a440guyPosted on 2003-07-21 at 12:25:20ID: 8970157

How many more than two questions?  And why two?

That's my shorthand way of pointing out that you need to specify what you want in a whole lot more detail.  Will the questions be multiple choice or fill-in-the-blanks?  If multiple choice, will they use checkboxes, radio buttons or select and/or multi-select lists?  Do you want the user to be able to move forward and backward through the questionnaire or just forward?  Are they allowed to go back and change the answers to previously answered questions?  Should they be able to skip questions and answer them later?  Should they be able to partially answer the questionnaire, quit, and then come back the next day to finish the questionnaire?  Should they be prevented from answering the questionnaire more than once?

And what about reporting capabilities?  How are you going to score the questionnaire? What reports do you need?

Any questionnaire code "out there" is bound to either be very simple with little or no flexibility, or very specific to a particular need (and possibly complex).  I have written a questionnaire "generator" which gives the user the ability to create several kinds of questions.  I can't post it, but if that is what you need, you might be able to find a commercially available product.

If what you want is simple, such as three questions per page, with each question containing radio buttons that users select, and users able to move freely between questions, then it's not so difficult that we couldn't solve it here.

finally, it would be interesting to know what problems that you ran into when you tried to write this yourself?

 

by: AtlGTPosted on 2003-07-21 at 13:18:06ID: 8970652

a440guy thanks for asking.  It would be nice if you can use your code.  

    *The questions can be one, five, ten or whatever; that depends on the admin.  The admin may have only one question this week, or ten questions next week.  
   
    *The questions will be multiple choice and a radio buttons.  

    *The user should not be able to move backward once they submit, so they are not allowed to go back and change their answers.  

    *Users can skip around and answer questions, but all questions must be answered before submitting.  

    *Quitting and then coming back the next day to finish it the questionnaire is not necessary, but if it can be done it is a good option.

    *Users can not answer one question more than once.  may be a cookie or an IP Address track might help.  (prefer IP Address)

    *Once the user clicks submit, provide the user a result of user's score in percentage, and a result of what other people answered in percentage (This web site is a good example: http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=3&lngWId=9 )

The problem I am running into is once the user submit, I could not get the questions to insert into the database b/c I believe it is my loop doing some kind of wired things.  

 

by: CrazeePosted on 2003-07-21 at 21:13:57ID: 8973269

"*Users can not answer one question more than once.  may be a cookie or an IP Address track might help.  (prefer IP Address)"
don't use IP address, as it won't work for modem users...they get IP dynamicaly once they connect to the provider...

 

by: a440guyPosted on 2003-07-22 at 07:09:22ID: 8976719

AtlGT,

Unfortunately, I couldn't look at the planetsourcecode web site; the server was not responding.  I'll try later.  In the meantime, why don't you continue with your functional  description of the quiz application.  And, I have a few more questions for you:

How many questions should appear on each page? All of them?

The admin will be creating the questions.  Who will be programming them?

How will you identify your users?  Will they be required to log in to the application or the web site?  (Cookie tracking will not prevent a user from answering the questionnaire a second time from a different computer.)

I will leave the reporting of scores up to you, as I don't have enough information to know what to write.

Also, and this is important, please provide a description of the tables and relationships that you want to use.  explain what data is contained in each field and what it is for.

 

by: AtlGTPosted on 2003-07-22 at 09:41:17ID: 8978337

The reason why I wanted an IP Address is that I made a discussion board and I use an IP address to keep track of the users, so an IP Address is more effective than cookies b/c as you know cookies are easy to delete.  

   * All the questions should appear on one page.
   * when ever the admin wants to create a question, the admin will be asked who many questions he wants ask and based on that on the next page    'x' amount of questions will be created.  The admin also will have a radio box next to each multiple choice to check the correct answer or any other method to identify the correct answer.
   * The users are required to log in (which I have already made).  
   * The database will have 7 tables (I got the table from macromedia exchange a while ago, but I could not find it now)
       table 1 is called  answer.  table will have AnswerID and answer2choice(this is where the correct answer stored)
       table 2 is called choice.  table will have ChoiceID, choice_letter(choice is letters.  Eg. A, B, C...), Choice_text(the question itself) and question2choice
       table 3 is called info.  table will have infoID and alpha
       table 4 is called question.  table will have questionID, question and type(question Title)
       table 5 is called results.  table will have questionID, A, B, C, D, E, F, G, H, I, J and TotalVote  (the reason why I made A, B,..., J is that I could not find a way to create a dynamic multiple choice
       table 6 is called type. table will have TypeID, type(question Title) and online(it is a check box.  if checked,  available online)
       table 7 is called Users.  table will have UserID(this is were i store the IP Address) and QuizID(each quiz has an ID)

       the relationships are: answer has one to one with choice and question
                                             choice has one to many with question
                                             question has one to many with type
                                             type has one to one with results  

Hope what I wrote makes sense

 

by: a440guyPosted on 2003-07-23 at 06:10:35ID: 8985753

Thanks for the info.  I can't spend time on it right now, but I'll study it and get back to you.

 

by: AtlGTPosted on 2003-07-23 at 08:54:21ID: 8987399

All right thanks.  I'll be waiting for your response.  In the meantime, I'll work on mine hopping it will work.

 

by: a440guyPosted on 2003-07-23 at 10:42:06ID: 8988447

Well AtlGT, I took a look at what you wrote, and I would suggest a different database design.  A good design is important to achieve the results you want, and the one you sketched doesn't seem to be normalized.  It seems to me that you have the following entities:

Quiz: a quiz, consisting of several questions,
Question: a question which can belong to several quizzes,
Choice: a possible answer to a question,
Answer: the choice that was selected by a user,
User: the person taking the quiz.

And the relationships are as follows:

A quiz has one or more questions.
A quiz can be "taken" by multiple users.
A question can be in one or more quizzes.
A question has only one correct answer.
A question has one or more choices.
A choice belongs to only one question.
A question has one answer per user, per quiz.

So,
Quiz --> question: many-to-many (you could want one-to-many, but this allows questions to be re-used)
Quiz --> User: many-to-many
Question --> CorrectAnswer: one-to-one
Question --> Choice: one-to-many
Answer --> (User,Quiz,Question): one-to-one, i.e., each (User,Quiz,Question) triple has one answer, and vice-versa.

So, given that, listed below are the tables that I propose.  I have added some fields that you didn't mention, but which I thought might be useful.  Fields that are foreign keys have the same name as the referenced field (which is lways a primary key) for easy identification.  If you aren't sure how to set up the relationships, please ask.  So here are the tables:

QUIZ                
-----------------
QuizID                   (primary key)
QuizTitle
QuizText                (optional text relating to the quiz as a whole)
QuizAuthor            (UserID of the author)
QuizReleaseDate   (the date that the quiz was deemed to be ready for use)
QuizOpenDate       (the date that users can begin taking the quiz)
QuizCloseDate       (the last date that users can take the quiz)


QUESTION
-----------------
QuestionID            (primary key)
QuestionText         (the text of the question)
CorrectAnswer       (the ChoiceSequence of the correct answer)


QUIZ_QUESTION     (tie table to implement the many-to-many relationship)
-----------------
QuizID
QuestionID
QuestionSequence  (ordinal or sequence number to indicate order in which the question appears in that quiz)


CHOICE
-----------------
QuestionID            (the quiestion that the choice belongs to)
ChoiceSequence    ("ChoiceLetter" identifying the choice and indicating the order in which the choice appears)
ChoiceText             (the text of the choice that appears on-screen)


USER
-----------------
UserID                   (primary key)
FirstName
LastName


QUIZ_USER           (anything that is unique to a quiz/user pair goes in here)
-----------------
QuizID
UserID
Score
Date                      (the date the quiz was taken)


ANSWER
-----------------
UserID
QuizID
QuestionID
ChoiceSequence


Reuse of questions enables you to produce different quizzes for different audiences.  That is, you may want one version of a quiz that includes questions 1, 2, 4 and 5, and a different version that contains questions 1, 3, 4, and 5.  If you don't want to allow questions to be re-used, just eliminate the QUIZ_QUESTION table and put the QuizID and QuestionSequence fields from that table into the QUESTION table.

If you have any changes to this database design, please let me know.  Once we settle on the design, we can begin coding.  When I get a chance, I'll post some code that displays the quiz.  

 

by: a440guyPosted on 2003-07-23 at 10:52:20ID: 8988568

I should add:

The primary key of:           is:
------------------------           --------------------------
QUIZ                                 (QuizID)
QUESTION                         (QuestionID)
QUIZ_QUESTION               (QuizID,QuestionID)
CHOICE                             (QuestionID,ChoiceSequence)
USER                                 (UserID)
QUIZ_USER                       (QuizID,UserID)
ANSWER                            (QuizID,UserID,QuestionID)

 

by: AtlGTPosted on 2003-07-24 at 09:43:44ID: 8996743

Thanks that sound great.  I'll change my database and see how it is going to come out.  

 

by: a440guyPosted on 2003-07-29 at 07:43:35ID: 9028394

AtlGT,

How's it going?  I'm sorry I haven't had time to work on this.  But, I will try to do some work soon.  What, if any have you been able to do?  I don't want to repeat any work you've already done.

 

by: a440guyPosted on 2003-07-29 at 11:09:51ID: 9030023

OK, here is a script that demonstrates the basic technique.  It displays the quiz, submits the answers, and calculates a score.  You will have to put some data (questions, choices) into the tables before it will do anything, of course.  Things left for you to do:

Write scripts that enable someone to create quizzes.
Write scripts that enable someone to produce various reports.

Let me know what you think of this.  Does it meet your needs?

<!--- showQuiz.cfm --->

<cfset dsn="QUIZ">

<cfparam name="form.action" default="selectQuiz">
<cfset userid = cgi.remote_addr>
<cfset today = now()>

<cfif form.action eq "selectQuiz">
      <!--- Get quizzes that haven't been answered by this user. --->
      <!--- You can also get this by joining QUIZ to QUIZ_USER instead of ANSWER --->
      <cfquery name="quizzes" datasource="#dsn#">
            select      qz.quizID, qz.quizTitle
            from      quiz qz left outer join answer a on qz.quizID = a.QuizID
            where      a.quizID is null
            and      #CreateODBCDate(today)# >= qz.quizOpenDate
            and      #CreateODBCDate(today)# < qz.quizCloseDate
      </cfquery>
      
      <h1>Quizzes</h1>
      <hr>
      <cfif quizzes.recordcount eq 0>
            <h3>There are no new quizzes</h3>
            <P>
            <cfabort>
      </cfif>
      
      <form name="getQuiz" method="post">
            Please select a quiz from the list below.
            <P>
            <select name="selectedQuiz">
            <cfoutput query="quizzes">
                  <option value="#quizID#">#quizTitle#</option>
            </cfoutput>
            </select>
            <P>
            <input type="submit" name="submit" value="Get Quiz">
            <input type="hidden" name="action" value="showQuiz">
      </form>

<cfelseif form.action eq "showQuiz">
      <cfquery name="quizInfo" datasource="#dsn#">
            select      quizTitle, quizText
            from      quiz
            where      quizID = #form.selectedQuiz#
      </cfquery>
      
      <cfquery name="getQuiz" datasource="#dsn#">
            select      qq.questionSequence, q.questionID, q.questionText, c.choiceSequence, c.choiceText
            from      quiz qz, quiz_question qq, question q, choice c
            where      qz.quizID = qq.quizID
            and            qq.questionID = q.questionID
            and            q.questionID = c.questionID
            order by qq.questionSequence, c.choiceSequence
      </cfquery>
      
      <cfoutput>
      <h1>#quizInfo.quizTitle#</h1>
      <P>
      #quizInfo.quizText#
      </p>
      </cfoutput>
      <hr>
      
      <form name="quiz" method="post">
            <table>
            <cfoutput query="getQuiz" group="questionSequence">
                  <tr>
                        <td width="30"><B>#questionSequence#.</B></td>
                        <td colspan="3"><B>#questionText#</B></td>
                  </tr>
                  <cfoutput>
                  <tr>
                  <td width="30">&nbsp;</td>
                  <td><input type="radio" name="Q_#questionID#" value="#choiceSequence#">
                  <td width="25">#choiceSequence#.</td>
                  <td>#choiceText#</td>
                  </tr>
                  </cfoutput>
            </cfoutput>
            </table>
            <hr>
            
            <cfoutput>
            <input type="submit" value="Submit">
            <input type="hidden" name="action" value="saveQuiz">
            <input type="hidden" name="quizID" value="#selectedQuiz#">
            </cfoutput>
      </form>
      

<cfelseif form.action eq "saveQuiz">
      <!--- get correct answers --->
      <cfquery name="answers" datasource="#dsn#">
            select      q.questionID, q.correctAnswer
            from      quiz_question qq, question q
            where      qq.quizID = #quizID#
            and            qq.questionID = q.questionID
      </cfquery>
      
      <!--- insert answers into database --->
      <cfloop index="f" list="#fieldnames#">
            <cfif reFind("^Q_", f)>
                  <cfset questionID = ListLast(f, "_")>
                  <cfset selection = evaluate(f)>
                  
                  <cfquery  datasource="#dsn#">
                        insert into answer (userID, quizID, questionID, choiceSequence)
                        values ('#userid#', #quizID#, #questionID#, '#selection#')
                  </cfquery>
                  
            </cfif>
      </cfloop>
      
      <!--- calculate user's score --->
      <cfquery name="answersheet" datasource="#dsn#">
            select      count(*) as numCorrect
            from      quiz_question qq, question q, answer a
            where      qq.quizID = #quizID#
            and      qq.questionID = q.questionID
            and      q.questionID = a.questionID
            and      a.quizID = #quizID#
            and      q.correctAnswer = a.choiceSequence
      </cfquery>
      
      <cfset totalQuestions = answers.recordcount>
      <cfset percentCorrect = answersheet.numCorrect / totalQuestions * 100>
      
      <h3>Your answers have been saved</h3>
      <P>
      <cfoutput>
      <h2>Score: #numberformat(percentCorrect)#% (#answersheet.numCorrect# out of #totalQuestions#)</h2>
      </cfoutput>
      
      <cfif percentCorrect eq 100>
            <h1>Congratulations!</h1>
      </cfif>
      
      <!--- store the score in the database so we don't have to calculate it every time --->
      <cfquery name="saveScore" datasource="#dsn#">
            insert into quiz_user (quizID, userID, score, quizdate)
            values (#quizID#, '#userid#', #percentCorrect#, #CreateODBCDateTime(now())#)
      </cfquery>
            
<cfelse>
      <h2>Invalid action</h2>
      
</cfif>

 

by: a440guyPosted on 2003-07-29 at 11:27:32ID: 9030186

Oh, one more thing.  To prevent users from pressing their browser's back button and resubmitting, you could

1.  Put primary keys on the answer and quiz_user tables to that subsequent attempts to submit the page will fail.  This is a brute force method and not elegant.

Better:
2.  Put a check at the very top of the 'action eq "saveQuiz"' section:

<!--- check for existing answers --->
<cfquery name="check" datasource="#dsn#">
      select      qu.score
      from      quiz qz, quiz_user qu
      where      qz.quizID = qu.QuizID
      and      qu.quizID = #form.quizID#
      and      qu.userID = '#userID#'
</cfquery>
      
<cfif check.recordcount neq 0>
      <h2>You cannot submit answers more than once.</h2>
      <cfabort>
</cfif>






 

by: AtlGTPosted on 2003-07-29 at 14:00:06ID: 9031524

  a440guy thanks for your post and also thank you for taking time from you busy schedule to help me out.  
I have done a few things.  I have already created that enable someone to create quizzes, but the only thing I need is a scripts that enable someone to produce various reports.   I could post my quiz here but it is a few pages.  If there is any way zip it send you my code it would be nice so you can look at it.  Let me know.

 

by: a440guyPosted on 2003-07-29 at 14:34:01ID: 9031771

Sounds good.  Did you use the tables that I outlined?  You can upload a zipped file of your code on the Macromedia ColdFusion forum.  Go to http://www.macromedia.com and create an account for yourself.  then go to the ColdFusion forum and select the "CFML General Discussion" (it's at http://webforums.macromedia.com/coldfusion/categories.cfm?catid=3).  Click on "new topic" near the top of the page and use the same Message title as this one ("Quiz Script").  Post your question and at the bottom, there is a place to type the filename to upload.  I go by the same handle on that forum.

 

by: AtlGTPosted on 2003-07-31 at 13:25:13ID: 9043808

I don't think I would comfortable posting all my script in public.  If email is okay, email me with a subject "Quiz Script" at ebbsa@yahoo.com
Thanks

 

by: AtlGTPosted on 2003-10-10 at 13:53:51ID: 9530253

if a440guy is still around please replay to my email please.  Thank you

 

by: a440guyPosted on 2003-10-13 at 10:33:09ID: 9541758

To calculate the precent of users who answered a question correctly, you need the number of users who took the quiz and the number of users who answered the question correctly.  The following example shows how to determine these values to questin #2 in quiz #1:

To get the number of users who took quiz #1:

<cfquery name="numUsers" datasource="#dsn#">
SELECT count(*) as Total
FROM quiz_user
WHERE quizid = 1;
</cfquery>

To get the number of users who answered question #2 correctly, take the total number of records returned by this query:

<cfquery name="correctAnswers" datasource="#dsn#">
SELECT qq.quizid, q.questionid, q.correctAnswer, a.choicesequence, a.userid
FROM quiz_question qq, question q, answer a
WHERE qq.questionid = q.questionid
and q.questionid =  a.questionid
and qq.quizid = a.quizid
and q.questionid = 2
and q.correctanswer = a.choicesequence
ORDER BY q.questionid;
</cfquery>

<cfset percentCorrect = correctAnswers.recordcount / numUsers.Total>

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...