Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] header location
Forum PHP.pl > Forum > Przedszkole
peter13135
oto część mojego skryptu (część panelu admina) do dodawnia ipków które miają być zbanowane, protect to moja funkcja która filtruje zmienna przez mysql_real_escape_string i htmlspecialchars

  1. <?php
  2. //delete ip
  3.    if($_GET['delete'])
  4.     {
  5.     $delete=protect($_GET['delete']);
  6.     $sql=mysql_query("DELETE FROM `scl_banlist` WHERE ip='$delete'");    
  7.     header(' location:index.php?go=banlist');    
  8.     }  
  9.     //add ip
  10.    if($_POST['add_ip'])
  11.    {
  12.     $add_ip=trim(protect($_POST['add_ip']));
  13.      $sql=mysql_query("INSERT INTO `scl_banlist` VALUES('".$add_ip."')");
  14.      header(' location:index.php?go=banlist');    
  15.    }
  16.  
  17. //tutaj jest rysowanie tableki z banami
  18. ?>


no i gdy adres ma taką formę
?go=banlist&delete=[tutaj ip]

powinno wykonać się to

  1. <?php
  2. $delete=protect($_GET['delete']);
  3.      $sql=mysql_query("DELETE FROM `scl_banlist` WHERE ip='$delete'");    
  4.      header(' location:index.php?go=banlist');
  5. ?>


no i z tego co zauważyłem to ipek jest usuwany, ale nie przekierowuje do ?go=banlist
Foxx
  1. <?php
  2. // źle:
  3. header(' location:index.php?go=banlist');
  4.  
  5. // dobrze
  6. header('Location:index.php?go=banlist');
  7. ?>
peter13135
nic to nie dało
Foxx
  1. <?php
  2. //delete ip
  3. if($_GET['delete'])
  4. {
  5.  echo 'wchodze do ifa';
  6.  $delete=protect($_GET['delete']);
  7.  echo 'blad w funkcji protect()';
  8.  $sql=mysql_query("DELETE FROM `scl_banlist` WHERE ip='$delete'") or die(mysql_error());    
  9.  echo 'nie ma bledu nigdzie';
  10.  header('Location:index.php?go=banlist');    
  11. }
  12. ?>


Wykonaj sobie to - spróbuj zidentyfikować miejsce, w którym pojawia się błąd.
peter13135
żywcem skopiowałem to co mi dałeś i podmieniłem, i wyświetla mi sie
wchodze do ifablad w funkcji protect()nie ma bledu nigdzie

niewiem czemu to ma służyć, niewiem jak w ten sposób znaleźć błąd
Caus
  1. <?php
  2. header("Location: index.php?go=banlist");
  3. ?>

Nie jestem pewny działania, ale spróbuj tak smile.gif

Ave
Foxx
Cytat
żywcem skopiowałem to co mi dałeś i podmieniłem, i wyświetla mi sie
wchodze do ifablad w funkcji protect()nie ma bledu nigdzie


Po pierwsze - nic nie rozumiem z tego co piszesz worriedsmiley.gif
Po drugie - ta operacja służy temu, żebyś wiedział, gdzie skrypt przerywa pracę. Na moje oko to błąd jest w funkcji protect() ale nikt Ci nie pomoże dopóki nie wkleisz kodu oraz komunikatów, które otrzymujesz.
peter13135
no tak, troche namotałem
więc napisze jeszcze raz
-------
skopiowałem twój kawałek kodu, i zamieniłem ze swoim

odpaliłem skrypt, i jego wynik wyglądał tak

Kod
wchodze do ifablad w funkcji protect()nie ma bledu nigdzie
Foxx
Usuń te wszystkie echo.
Spróbuj tego co proponuje Caus.
Jesteś pewien, że przekierowanie nie następuje?
Wyhaszuj cały kod w ifie i spróbuj:
  1. <?php
  2. header('Location: xxx.php');
  3. ?>
peter13135
o qr... zamurowało mnie, przekierowanie nie następuje!, może to wina mojego xamppa ?

edit://hyh, odpaliłem ten plik bezpośrednio (wcześniej był on includowany) no i przekierowanie działa...

już chyb jestem bliżej błędu
  1. <?php
  2. //include the functions file!
  3. include_once './../functions.php';
  4. //connect with database
  5. connect($db['host'], $db['user'], $db['pass'], $db['name']);
  6. //arrays with users, settings, ranks
  7. give_me_the_arrays_now();
  8. define("IN_SCL", "OK");
  9. /*
  10. //links
  11. include 'admin_list.php';
  12. for($i=0;$i<=count($admin_links);$i++)
  13.   {
  14.   $a=$a.'<a class="link" href="?go='.$admin_links[$i][1].'">'.$admin_links[$i][0].'</a> ';    
  15.   }
  16. $go=$_GET['go'];
  17. if($go)
  18.   {    
  19.     if($go=='exit')
  20.       {
  21.       header('location:./../');
  22.       exit;
  23.       }
  24.   @(include('admin_'.$go.'.php')) OR die('no file');
  25.       
  26.   }
  27.   */
  28.  include 'admin_banlist.php'
  29. ?>



w komentarz dałem część kodu która includuje plik, i zastąpiłem ten kod jednym include tego konkretnego pliku, a wcześniej jeszcze "robi" linki z tablicy, (tablica w pliku admin_list.php)
wygląda ona tak
  1. <?php
  2. $admin_links[0]=array('return to chat', 'exit');
  3. $admin_links[1]=array('configuration', 'configuration');
  4. [...]
  5. ?>


temat do zamknięcia, jakoś sobie już poradziłem ;]
Foxx
Ale napisz o co chodziło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.