За последние 24 часа нас посетили 20945 программистов и 1622 робота. Сейчас ищут 1563 программиста ...

проблема с URL

Тема в разделе "PHP и базы данных", создана пользователем Pegas31, 21 янв 2010.

  1. Pegas31

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

    С нами с:
    17 янв 2010
    Сообщения:
    14
    Симпатии:
    0
    Здравствуйте! Проблема состоит в том, что при нажатии на кнопку ответить в форме, в url появляются переменные формы и таким образом я попадаю как бы на другую страницу, а мне нужно остаться на той же с полученными данными.
    вот результат: был - http://www.localhost/Znayka/zagadki.php?str=1
    стал - http://www.localhost/Znayka/zagadki.php ... 2%E8%F2%FC

    Вот фрагмент кода:
    PHP:
    1.  
    2. // ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ
    3. $result = mysql_query("SELECT * from $table ORDER by id asc limit $str, $chislo");
    4. // ИНАЧЕ ВЫВОДИМ ОШИБКУ
    5. if (!$result) {
    6. echo $text_error;
    7. }
    8.  
    9. while ($row = mysql_fetch_array($result)) {
    10. echo '<br><br><br>'.substr($row['vopros'],0,100).'<a href="zagadki.php?nomer='.$row['id'].'"></a></p>';
    11. $otvet = $row['otvet'];
    12. echo 'Разгадка - '.$otvet;
    13. }
    14.  
    15. // Проверяем нужны ли стрелки назад
    16. $str = $_GET['str'];
    17. if ($str != 1)
    18. $backstr = '<a href='.$PHP_SELF.'?str='. ($str - 1) .'>
    19. <img src="Imgs/nazad.png" width="119" height="58"></a> ';
    20.  
    21. // Проверяем нужны ли стрелки вперед
    22. if ($str != $num_rows)
    23. $nextstr = ' <a href='.$PHP_SELF.'?str='. ($str + 1) .'>
    24. <img src="Imgs/vpered.png" width="119" height="58"></a>';
    25.  
    26. $url_now =  'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];;
    27. echo '<br>Вот URL - ' .$url_now;
    28.  
    29. echo '  <form action="">
    30.         <input name="otvetit" type="text" id="otvetit" maxlength="20" />
    31.         <input type="submit" name="vvod" id="vvod" value="Ответить" />
    32.         </form>';
    33.  
    34. // Вывод меню
    35. echo ' ' .$backstr. ' '.$nextstr;
    36.  
    37. $otvetit = $_GET['otvetit'];
    38.  
    39. echo $otvetit. ' '.$otvet;
    40.      
    41. if ($otvetit == $otvet)
    42. {
    43. echo '<br> Молодец - это правильный ответ!'. $otvetit .' ';
    44.  
    45. /*echo  '<script type="text/javascript">
    46.         window.location = "http://www.localhost/Znayka/zagadki.php?str=1"
    47.         </script>';
    48. */     
    49. header('Location: header ("Location: $url");');
    50. }
    51. else
    52. {
    53. echo '<br> Не верно, попробуй ещё... '. $otvetit .' ';
    54.  
    55. }
    56. }
    57.  
     
  2. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    HTML:
    1. <form method="post" action="">
    только сразу предупреждаю. скрипт после этого изменения перестанет работать.

    Необходимо еще будет вместо $_GET использовать $_POST
     
  3. Pegas31

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

    С нами с:
    17 янв 2010
    Сообщения:
    14
    Симпатии:
    0
    Спасибо огромное заменил
    это $otvetit = $_GET['otvetit'];
    на $otvetit = $_POST['otvetit'];
    и всё теперь работает.