ФорумПрограммированиеPHP для идиотов → Помогите с переадресацией

Помогите с переадресацией

  • ivanihin

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 11:39

    Люди нужна помощь, уже несоклько дней торчу, не знаю что делать.

    Ситуация такая,скрипт должен удалить страницу, страница удаляется, и скрипт должен переадреосвать на ту же страницу, он переадресует но в значение переменной подставляюет караказяблы, вот
    Попытка зайти на сайт без указания id
    Перейдите на главную страницу управления сайтом.
    фыв

    а вот сам код удаления страницы:

    <?php
    include ('bd.php');


    if (isset($_GET['cat'])) {$cat = $_GET['cat'];}
    if (isset($_POST['cat'])) {$cat = $_POST['cat'];}

    $id_cat = $_GET['id_cat'];
    $url = "edit-view-cat.php?cat=".$_GET['cat']."" ;

    $result2 = mysql_query("SELECT * FROM goods WHERE id_cat = '$id_cat'");
    if (!$result2) puterror("?????? ??? ???????? ??????");
    while($row2 = mysql_fetch_array($result2))
    {
    // ?????????? ??????????
    $query2 = "SELECT * FROM goods
    WHERE id_cat=".$row2['id_cat'];
    $pct2 = mysql_query($query2);
    if($pct2)
    {
    if(mysql_num_rows($pct2)>0)
    {
    $photo2 = mysql_fetch_array($pct2);
    unlink($photo2['img']);
    }
    }
    }

    $result = mysql_query("SELECT * FROM images WHERE id_goods = '$id_cat'");
    if (!$result) puterror("?????? ??? ???????? ??????");
    while($row = mysql_fetch_array($result))
    {
    // ?????????? ??????????
    $query = "SELECT * FROM images
    WHERE id=".$row['id'];
    $pct = mysql_query($query);
    if($pct)
    {
    if(mysql_num_rows($pct)>0)
    {
    $photo = mysql_fetch_array($pct);
    unlink($photo['img']);
    }
    }
    }


    $query_photo = "DELETE FROM goods WHERE id_cat='$id_cat'";
    $query_photocat = "DELETE FROM images WHERE id_goods='$id_cat'";
    if(mysql_query($query_photo) && mysql_query($query_photocat))
    {
    /* */
    $result3 = mysql_query("SELECT * FROM categories WHERE cat = '$cat'");

    if (!$result3)
    {
    echo "<p>[email protected] <br> <strong></strong></p>";
    exit(mysql_error());
    }
    if (mysql_num_rows($result3) > 0);
    {
    while($menu = mysql_fetch_array($result3))

    {
    // вот код переадресации, в урл подставляется $url с значением $url = "edit-view-cat.php?cat=".$_GET['cat']."" ;

    echo "<HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
    <META HTTP-EQUIV='Refresh' CONTENT='1; URL=".$url."'>
    </HEAD>";

    }
    }

    ////////////

    }
    ?>
  • ivanihin

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 11:48, спустя 8 минут 48 секунд

    Народ, вот дела, нашел выход, может кому пригодится:
    вместо:
    echo "<HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
    <META HTTP-EQUIV='Refresh' CONTENT='1; URL=".$url."'>
    </HEAD>";
    ставим:
    //перенаправляем на указанный в $url адрес
    header("Location: ".$url."");
    //принудительно завершаем сценарий, поскольку после перенаправления больше делать нечего.
    exit();

    соответсвенно $url
    $url = "edit-view-cat.php?cat=".$_GET['cat']."" ;

    и все работает!

    Кто знает почему : <META HTTP-EQUIV='Refresh' CONTENT='1; URL=".$url."'> подставляет караказяблы в $url, ответьте плииз
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 8 августа 2011 г. 12:07, спустя 19 минут 9 секунд

    выведи $url
    http://phpfaq.ru/debug
    все умрут, а я изумруд
  • ivanihin

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 12:14, спустя 6 минут 32 секунды

    вывел. Переменная с адресом заносится, передресация получается, но только в значение edit-view-cat.php?cat=".$_GET['cat']." cat подставляется вот такая фигня фыв
  • ivanihin

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 12:29, спустя 15 минут 39 секунд

    header("Location: ".$url."");
    //принудительно завершаем сценарий, поскольку после перенаправления больше делать нечего.
    exit();

    такой вариант работает, всем спасибо )
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 13:28, спустя 58 минут 23 секунды

    пипец
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 14:41, спустя 1 час 13 минут 14 секунд

    уже несоклько дней торчу, не знаю что делать.

    ахахах
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 8 августа 2011 г. 14:53, спустя 12 минут 5 секунд

    бедный Ваня(((
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 8 августа 2011 г. 19:30, спустя 4 часа 36 минут 40 секунд

    ваня торчок
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 11 августа 2011 г. 2:14, спустя 2 дня 6 часов 44 минуты

    Используя notepad++ измени кодировку скрипта

Пожалуйста, авторизуйтесь, чтобы написать комментарий!