2015-05-16 2 views
1

Я пытаюсь выполнить онлайн-тестирование. Я нашел два способа проверить выбранные пользователем ответы.Каковы недостатки следующих методов представления данных?

way1

<div class="qContainer" index="0"> 
    Who has socred 100 centuries in Internationa cricker? 
    <ul> 
     <li> <input type="radio" value"Sachin">Sachin</input> 
     <li> <input type="radio" value"Don">Don Bradman</input> 
     <li> <input type="radio" value"Steve">Steve waugh</input> 
     <li> <input type="radio" value"Saeed">Saeed</input> 
    </ul> 
</div> 

В этом методе я храню ответ на вопрос itsef [index=0]. Но пользователь может обмануть это.

way2

отправить фермы данные на сервер через Ajax метод пост.

$.ajax({ 
    url: "testResult.php", 
    type:"POST", 
    data: $("#formID").serialize() 
}); 

С помощью этого метода Url изменяется с выбранным ответом. [i.e ответы отправляются через метод post] И проверьте результат на странице php на данные db и отобразите результат пользователю.

Пожалуйста, дайте мне знать, есть ли другие способы добиться этого лучше, чем эти два. И каковы недостатки этих методов?

+0

Если вы не хотите использовать Ajax, то сделать это нормальный путь –

+0

, если вы что-либо с проверкой со стороны скоринговой системы клиента здание не рекомендуется – slash197

+0

@ slash197 Да Это скоринг система мотивации студентов –

ответ

1

Один подход может выглядеть следующим образом: сформировать соответствующую форму на стороне сервера и не включать ответ в форму, но сохранить отображение question <-> answer внутри сеанса пользователя. Когда форма отправляется обратно на сервер, проверяйте ответы пользователей на правильные ответы, хранящиеся в вашем сеансе, и отправляйте соответствующий ответ пользователю.

Как вы отправляете форму обратно на сервер (с помощью ajax или только способом html), не имеет значения.

+0

Вы имеете в виду, тот же PHP файл для извлечения вопросов и проверки их. –

+0

Является ли это одним и тем же файлом php или нет, не имеет значения. Важно то, что вы не включаете ответы на свои вопросы так или иначе в своем исходном коде, так как любой, кто может просматривать вопросник, может также взглянуть на исходный код. И если вы сохраняете свои сопоставления в сеансе пользователя, у вас могут быть два отдельных файла php, один для создания вопросника и один для его оценки.Но может иметь смысл использовать один и тот же php-файл для генерации и оценки, чтобы иметь возможность показывать некоторую обратную связь с пользователем прямо внутри вашей формы. – tworabbits

+0

Спасибо. Позвольте мне попробовать. plus1 –

1

Это очень легко понять.

way1
Если вы извлекаете и хранение ответа с самими вопросами, то, конечно, если человек с помощью вашего сайта знает, как использовать инспектировать элемент и просмотреть исходный код и другие вещи, как это, то он будет обманывать, конечно, вы ничего не могу с этим поделать.

way2
Использование Ajax является единственным вариантом у вас есть в случае необходимости обеспечения безопасности. После того, как пользователь нажмет на ответ, отправьте вызов ajax и сохраните это значение в базе данных, а затем проверьте на задней панели, если ответ прав или не прав, а затем покажите ему, был ли его ответ правильным или неправильным в ответе ajax. Недостатком этого является то, что будет больше обработки на стороне сервера, но вам нужно более безопасное приложение, тогда вы должны это нести. Вы также можете просмотреть службы кэширования, доступные для уменьшения количества просмотров в вашей базе данных.

Я надеюсь, что это поможет вам.

+0

Можете ли вы предоставить некоторые ссылки или разработать кеширующие серфики –

+0

@GopsAB, это в первую очередь зависит от вашего провайдера хостинга, который кэширует сервис, который он вам предоставляет, и вам нужно будет соответствующим образом закодировать код. Но логика такая, если некоторые данные есть в кеше, тогда вы не будете запрашивать базу данных, иначе вы будете запрашивать. Полезная ссылка для вас: http://stackoverflow.com/questions/4779523/how-to-use-memcache-with-php –

+0

Спасибо. Я посмотрю. plusq –

Смежные вопросы