2013-09-18 2 views
-7

Мне было интересно, если кто-нибудь знает, как создать скрипт, который существенно сохранит процент от того, сколько вы закончили, скажем, тест или что-то еще, и когда вы вернетесь, чтобы продолжить, он приведет вас на страницу, re at. Например, 5 страниц, и вы находитесь на странице 3, чтобы сэкономить 60%, и всякий раз, когда вы нажимаете кнопку «Продолжить», вы попадаете на эту страницу.Продвинутый сценарий сеанса

Когда я говорю «продвинутый», я имею в виду как безопасный, поэтому вы не можете перейти на страницу 5, просто поместив URL-адрес. Например, во главе каждой тестовой страницы я бы поставил это

if (session > 60%) { 
header(Location: page3); 
} 

Вы, ребята, знаете, что я имею в виду?

Я надеялся, что кто-то может просто помочь мне сделать это как-то и сделать так, чтобы он сохранялся под профилем пользователей, и вы можете вызывать процент при использовании переменной. Есть идеи?

+2

FWIW база данных - прекрасное решение, и (для небольших рабочих процессов, которые не должны быть долговечными) сессия тоже будет прекрасной. Вы правы, чтобы заботиться о том, чтобы люди могли нарушить поток, вмешавшись в строку запроса. Вероятно, вам нужно [читать информацию о получении/настройке значений в сеансе] (http://www.php.net/manual/en/intro.session.php), а затем вы будете знать, что делать (или можете спросить правильный вопрос). –

+1

Thankyou @TimMedora по вашей ссылке показал, что я могу сделать. По крайней мере, теперь я понимаю, что мне нужно сделать, но это было бы не так просто. Я попытаюсь прочитать больше на этой странице. Благодаря! –

ответ

1

Вы довольно близко. Во-первых, ознакомьтесь с любыми PHP Session Tutrorial, чтобы узнать о них немного.

Вы можете получить доступ к переменные сессии с $ _SESSION [ «имя_раздела»] (после того, как вы назвали session_start() на вашей странице.

Просто сохранить прогресс, как один из них, например, $_SESSION['progress'] = 60;

и оценить путем тестирования, если сеанс устанавливается (так что вы не получите сообщение об ошибке), а затем оценить его следующим образом:

if (isset($_SESSION['progress'])) 
{ 
    //write your if (or switch) statement here 
} 

Позвольте мне знать, если это имеет смысл, или если у вас есть какие-либо вопросы :)

+0

Теперь просто скажите, что я хотел сохранить его под каждым профилем пользователей. Я должен просто добавить новое значение в базу данных, например, example1, а затем заставить его сохранить $ _SESSION как значение «example1». Как вы думаете, это будет работать вообще? Или будет более простой способ. –

+2

Lol then @RPM [был прав] (http://stackoverflow.com/questions/18883865/advanced-session-script#comment27871505_18883865): используйте базу данных. Сохраните пользователя и его прогресс в базе данных, сохраните пользователя в сеансе, а затем используйте его для извлечения пользователя из базы данных и получения их прогресса. – asifrc

+0

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

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