За последние 24 часа нас посетили 17697 программистов и 1606 роботов. Сейчас ищут 1116 программистов ...

Как удалить переменную?

Тема в разделе "PHP для новичков", создана пользователем Evgen A., 1 дек 2007.

  1. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Вот скрипт, который по моей задумке сбрасывает показания счётчика, когда я нажимаю "reset". Но вместо этого он сбрасывается при каждом обновлении страницы. Как сделать, чтобы он сбрасывался только при нажатии на кнопку?
    Код (Text):
    1. <?php
    2. if (isset($_POST['reset'])) {
    3.     $counterXmlFile = DOMDocument::load('counter.xml');
    4.     $visitorsOld = $counterXmlFile->getElementsByTagName('visitors')->item(0);
    5.     $visitorsNew = $counterXmlFile->createElement('visitors');
    6.     $newtext=$counterXmlFile->createTextNode('0');
    7.     $newtext=$visitorsNew->appendChild($newtext);
    8.     $visitorsOld->parentNode->replaceChild($visitorsNew, $visitorsOld);
    9.     $counterXmlFile->save('counter.xml');
    10.     unset($_POST['reset']);
    11. }
    12. if (file_exists('counter.xml')) {
    13.     $counterXmlFile = DOMDocument::load('counter.xml');
    14.     $visitors = $counterXmlFile->getElementsByTagName('visitors')->item(0)->textContent;
    15. }
    16.  ?>
    17. <form method="post" name="countercontrols">
    18. <b>&nbsp;&nbsp;TOTAL VISITORS:<?php echo $visitors; ?></b>
    19. <input type="submit" value="reset" name="reset"/>
    20. </form>
     
  2. Anonymous

    Anonymous Guest

    Вот где скрипт брали, там и спросите.
     
  3. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Горбунов Олег, В смысле "где скрипт брали"? Это мой скрипт, та его часть, которая в админке. Сам счётчик находится на другой странице. Я посто не могу понять, почему первое условие срабатывает когда я обновляю страницу, но не нажимаю reset.
     
  4. Mavir

    Mavir Guest

    А окошко появляется с вопросом "Отправить повторно данные"?
     
  5. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Точно, появляется, а я по привычке жму "ОК". Как тогда обновить страницу, не отправлять эти данные?
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. if (isset($_POST['reset'])) {
    3.     $counterXmlFile = DOMDocument::load('counter.xml');
    4.     $visitorsOld = $counterXmlFile->getElementsByTagName('visitors')->item(0);
    5.     $visitorsNew = $counterXmlFile->createElement('visitors');
    6.     $newtext=$counterXmlFile->createTextNode('0');
    7.     $newtext=$visitorsNew->appendChild($newtext);
    8.     $visitorsOld->parentNode->replaceChild($visitorsNew, $visitorsOld);
    9.     $counterXmlFile->save('counter.xml');
    10.     //!!!
    11.     header('Location: index.php');
    12.     exit;
    13. }
    14. if (file_exists('counter.xml')) {
    15.     $counterXmlFile = DOMDocument::load('counter.xml');
    16.     $visitors = $counterXmlFile->getElementsByTagName('visitors')->item(0)->textContent;
    17. }
    18.  ?>
    19. <form method="post" name="countercontrols">
    20. <b>  TOTAL VISITORS:<?php echo $visitors; ?></b>
    21. <input type="submit" value="reset" name="reset"/>
    22. </form>
     
  7. Evgen A.

    Evgen A. Активный пользователь

    С нами с:
    20 июл 2007
    Сообщения:
    31
    Симпатии:
    0
    Всем спасибо, заработало.