За последние 24 часа нас посетили 18533 программиста и 1670 роботов. Сейчас ищут 888 программистов ...

Переадресация

Тема в разделе "PHP для новичков", создана пользователем BezMizinca, 21 фев 2015.

  1. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    Почему при переадресации не открывается нужная страница? Вместо неё открывается пустая страница.
    Код (Text):
    1. if (isset($_POST['choice']) && !empty($_POST['variant'])) {
    2.     header('Location: index.php?page=fight');
    3.     exit();
    4. }
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не знаю
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А где посмотреть пример?
     
  4. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    http://bezmizinca.tioo.ru/
     
  5. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    у меня открылась страница=)
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Всё должно работать.
    Показывай весь файл полностью, используй для этого теги форума [code=php][/code]
     
  7. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    Код (PHP):
    1. <?php
    2. header('Content-Rype: text/html; charset=utf-8');
    3.  
    4. if (isset($_POST['choice']) && !empty($_POST['variant'])) {
    5.     header('Location: index.php?page=fight');
    6.     exit();
    7. }
    8.  
    9. if(isset($_GET['page'])){
    10.     $_GET['page'];
    11. } else {
    12.     $_GET['page'] = 'choice';
    13. }
    14.  
    15. $char = array(
    16.     'putin' => '<p>Vladimir Putin</p><img src="image/putin.jpeg" alt="Putin">',
    17.     'obama' => '<p>Barack Obama</p><img src="image/obama.jpg" alt="Obama">'
    18. );
    19.  
    20. if(!isset ($_SESSION['client'])){
    21.     $_SESSION['client'] = 10;
    22.     $_SESSION['server'] = 10;
    23. }
    24.  
    25. function choice1 ($post, $put, $oba) {
    26.     if ($post == 'putin') {
    27.         return $put;
    28.     } else {
    29.         return $oba;
    30. }}
    31.  
    32. function choice2 ($cho1, $put, $oba) {
    33.     if ($cho1 == 'putin') {
    34.         return $oba;
    35.     } else {
    36.         return $put;
    37.     }
    38. }
    39.  
    40. if (!empty($_POST['kick']) && !empty($_POST['blow'])) {
    41.     if(@$_POST['blow'] == rand(1,3)){
    42.         $_SESSION['client'] = $_SESSION['client'] - rand(1,4); 
    43.     } elseif(@$_POST['blow'] !== rand(1,3)) {
    44.         $_SESSION['server'] = $_SESSION['server'] - rand(1,4);
    45.     }
    46. } elseif (empty($_POST['blow']) && !isset($_GET['action'])){
    47.         echo '<p style="color:red; font-size: 20px; text-align: center; ">Make a choice!</p>';
    48. } else{
    49. }
    50.     
    51. if ($_SESSION['client'] <= 0) {
    52.     header('Location: index.php?page=game2over&action=lose');
    53.     session_unset();
    54.     session_destroy();
    55.     exit();
    56. } elseif ($_SESSION['server'] <= 0){
    57.     header('Location: index.php?page=game1over&action=win');
    58.     session_unset();
    59.     session_destroy();
    60.     exit();
    61. }
    62. ?>
    63.  
    64. <!DOCTYPE HTML PUBLIC "-//W3C//DTD//HTML 4.01 Transitional//EN "http://www.w3.org/TR/html4/loose.dtd">
    65.  
    66. <html>
    67.     <head>
    68.         <meta http-equiv="Content-Type" content="text/html" charset="utf-8">
    69.         <title>Vladimir Putin VS Barack Obama</title>
    70.         <meta name="description" content="Описание страницы">
    71.         <meta name="keywords" content="Ключевые слова">
    72.         <link href="index.css" rel="stylesheet" type="text/css">
    73.     </head>
    74.     <body>
    75.         <div>
    76. <?php @include $_GET['page'].'.php';?>
    77.         </div>
    78.     </body>
    79. </html>
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Всё работает.
     
  9. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    А может быть тут проблема?
    Код (PHP):
    1. <div class="f-l">
    2.     <!--<p>Vladimir Putin</p>
    3.     <img src="image/putin.jpeg" alt="Putin">-->
    4. <?php 
    5.     echo choice1($_POST['variant'], $char['putin'], $char['obama'])
    6.     echo '<p style="color:red; font-size: 20px;">'.$_SESSION['client'].' HP</p>';
    7. ?>
    8.     <form method="post" action="">
    9.         <p>Kick in:</p>
    10.         <p>The head <input type="radio" name="blow" value="1"></p>
    11.         <p>The stomach <input type="radio" name="blow" value="2"></p>
    12.         <p>The leg <input type="radio" name="blow" value="3"></p>
    13.         <p><input type="submit" name="kick" value="Kick"></p>
    14.     </form>
    15. </div>
    16. <div class="f-r">
    17.     <!--<p>Barack Obama</p>
    18.     <img src="image/obama.jpg" alt="Obama">-->
    19. <?php 
    20.     echo choice2(choice1(), $char['putin'], $char['obama'])
    21.     echo '<p style="color:red; font-size: 20px;">'.$_SESSION['server'].' HP</p>';
    22. ?>
    23. </div>
    24. <div class="clear"></div>
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Попробуй на локальном сервере
     
  11. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Собачку убери, включи отображение ошибок. Вот как найти ошибку http://phpfaq.ru/debug
     
  13. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    спасибо!

    Добавлено спустя 33 минуты 2 секунды:
    denis01, а можеш подсказать в чем ошибка? А то я не могу понять где... вроде все знаки стоять...
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я тоже не знаю, я давал ссылку на debug перепроверь всё, или перепиши, но проверяй каждый шаг.
     
  15. BezMizinca

    BezMizinca Новичок

    С нами с:
    14 янв 2015
    Сообщения:
    42
    Симпатии:
    0
    Спасибо, статья помогла. Но возникла ошибка которую не могу решить в этой строчке
    Код (PHP):
    1. echo '<p style="color:red; font-size: 20px;">'.$_SESSION['client'].' HP</p>';
    . Все точки стоят, точка с запятой стоит, может быть проблема в
    Код (Text):
    1. $_SESSION['client']
    ?
    Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in Z:\home\test1.ru\www\fight.php on line 6
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    проблема не в этой строке а ДО нее. ну кагдажблялюдинаучацачитатьта
     
  17. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    похоже тут надо кавычки экранировать слешами
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    нет. внимательнее текст сообщения и приведенную строку кода читаем. что там? неожиданный токен ЭХО в строке. в приведенной строке только одна конструкция эхо. и она идет в самом начале строки. следовательно проблема в строках идущих ранее.

    Добавлено спустя 25 секунд:
    тем более экранируют обратными слешами если уж на то пошло.