Я начинающий кодер, решил тут написать небольшой скрипт по заточению оружия как в линейке2, работает нормально, только при обновлении страницы заточение происходит так же как и при нажатии кнопки что не желательно...как исправить? данные хранятся в текстовом документе ench.txt....вот код:
<?php
$enchfile = 'ench.txt';
$sila = file_get_contents($enchfile);
$enchant = rand(1, 100);
if($_POST['enchant']){
if ($enchant>25){
$sila=$sila+1; file_put_contents($enchfile, $sila); echo 'Заточилось! Оружие стало +'.$sila. "<br />";
}
else { $sila = 0; file_put_contents($enchfile, $sila); echo 'Поламалось! Оружие стало +'.$sila. "<br />"; }
}
?>
<form action="" method="post">
<input type="submit" value="Точнуть" name="enchant">
</form>
Спустя 15 минут, 44 секунды (29.03.2011 - 22:18) PiratXXX написал(а):
zikworld
ридерект
header
а вообще google, там дофига инфы
ридерект
header
а вообще google, там дофига инфы
Спустя 5 минут, 49 секунд (29.03.2011 - 22:23) zikworld написал(а):
что за редирект?
ну я искал там толку 0
правда находил там подобное но тоже ссылку давали на гугл, да и вообще щас что не ищи в гугле находишь только слова "гугл тебе в помощь"))
ну я искал там толку 0
правда находил там подобное но тоже ссылку давали на гугл, да и вообще щас что не ищи в гугле находишь только слова "гугл тебе в помощь"))
Спустя 2 минуты, 58 секунд (29.03.2011 - 22:26) PiratXXX написал(а):
Спустя 24 минуты, 6 секунд (29.03.2011 - 22:50) Winston написал(а):
<?php
$enchfile = 'ench.txt';
$sila = file_get_contents($enchfile);
$enchant = rand(1, 100);
if($_POST['enchant']){
if ($enchant>25){
$sila=$sila+1; file_put_contents($enchfile, $sila);
header('Location:' . $_SERVER['PHP_SELF']);
}
else {
$sila = 0; file_put_contents($enchfile, $sila);
header('Location:' . $_SERVER['PHP_SELF']);
}
}
И пользуйтесь тегами [PHP] !
Спустя 30 минут, 22 секунды (29.03.2011 - 23:21) inpost написал(а):
zikworld
редирект через header("Location: url");
Но данный способ не спасёт тебя, если кто-то захочет вручную обновлять данную страницу, поэтому данные о неуспешном усилении стоит записывать в файл тоже.
редирект через header("Location: url");
Но данный способ не спасёт тебя, если кто-то захочет вручную обновлять данную страницу, поэтому данные о неуспешном усилении стоит записывать в файл тоже.
Спустя 6 минут, 50 секунд (29.03.2011 - 23:28) Winston написал(а):
inpost
Цитата (inpost @ 29.03.2011 - 22:21) |
Но данный способ не спасёт тебя |
Почему ?
Цитата (inpost @ 29.03.2011 - 22:21) |
если кто-то захочет вручную обновлять данную страницу |
Что-то я не въехал в это.
Цитата (inpost @ 29.03.2011 - 22:21) |
данные о неуспешном усилении стоит записывать в файл тоже. |
Зачем? Лишь размер будет расти.
Спустя 8 минут, 31 секунда (29.03.2011 - 23:36) inpost написал(а):
PHPprogramer
Отключи через мозиллу автоматический редирект. Тогда он не произойдет, и ты можешь очень просто нажать F5 и POST данные снова будут переданы.
Отключи через мозиллу автоматический редирект. Тогда он не произойдет, и ты можешь очень просто нажать F5 и POST данные снова будут переданы.
Спустя 12 минут, 15 секунд (29.03.2011 - 23:48) Winston написал(а):
Цитата (inpost @ 29.03.2011 - 22:36) |
Отключи через мозиллу автоматический редирект. |
Отключил. Все нормально после обработки формы редиректится успешно.
Спустя 19 минут, 27 секунд (30.03.2011 - 00:08) inpost написал(а):
PHPprogramer
Ты что отключил хоть? Там редиректа не будет, а откроется надпись, что у Вас отключен браузером автоматический редирект, и будет кнопка: "нажмите сюда для редиректа". Если интересно, могу скинуть скрин-шот. Или поищи в гугле как это отключается.
Ты что отключил хоть? Там редиректа не будет, а откроется надпись, что у Вас отключен браузером автоматический редирект, и будет кнопка: "нажмите сюда для редиректа". Если интересно, могу скинуть скрин-шот. Или поищи в гугле как это отключается.
Спустя 7 часов, 15 минут, 35 секунд (30.03.2011 - 07:23) PiratXXX написал(а):
inpost
Цитата |
Отключи через мозиллу автоматический редирект. Тогда он не произойдет, и ты можешь очень просто нажать F5 и POST данные снова будут переданы. |
блин сильно много возможностей для пользователя!)
можно еще через сессию попробовать, но опять же отключение куков.
zikworld
и того лучший вариант запись как удачи(оружее заточилось) так и не удачи(пистоль сломался)))!
Спустя 4 часа, 47 минут, 41 секунда (30.03.2011 - 12:11) inpost написал(а):
PiratXXX
Сессия пропадает, кукисы не резиновые, а предметов может быть очень много, тоже не выход. Пока я вижу единственный вариант самый верный только "и того лучший вариант запись как удачи(оружее заточилось) так и не удачи(пистоль сломался или ничего не произошло)))!".
Вот такая беда, а раньше так верил этим редиректам =) Даже оплата с платежки должна была быть в безопасности, а на деле оказалось по другому, пришлось переписывать скрипт. Хотя меня ещё не взломали, но страшно оставлять, когда знаю, что там можно взломать самого себя =)
Сессия пропадает, кукисы не резиновые, а предметов может быть очень много, тоже не выход. Пока я вижу единственный вариант самый верный только "и того лучший вариант запись как удачи(оружее заточилось) так и не удачи(пистоль сломался или ничего не произошло)))!".
Вот такая беда, а раньше так верил этим редиректам =) Даже оплата с платежки должна была быть в безопасности, а на деле оказалось по другому, пришлось переписывать скрипт. Хотя меня ещё не взломали, но страшно оставлять, когда знаю, что там можно взломать самого себя =)