Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]header
Forum PHP.pl > Forum > Przedszkole
Mike122
Witam posiadam pewien problem w php i nie mogę sobie z nim poradzić. Proszę mnie nie odsyłać do
manuala bo czytałem już http://pl.php.net/header i nic robie tak jak tam jest pokazane choć próbowałem też innych metod.
Błąd:
Warning: Cannot modify header information - headers already sent by (output started at /httpd/mycms/logowanie.php:1) in /httpd/mycms/logowanie.php on line 2
Kod wygląda następująco:
  1. <?php
  2. header("Location: index.php");
  3. ini_set( 'session.use_cookies', 1 );
  4. include ("syscms/function.inc.php");
  5. //MySQL
  6. $db_hots = "*******";
  7. $db_root = "*******";
  8. $db_pass = "*******";
  9. $db_name = "*******";
  10. db_connect ($db_hots, $db_root, $db_pass, $db_name);
  11.  
  12. if( !empty( $_POST['login'] ) && $_POST['haslo'] )
  13. {
  14. //us
  15. $query = mysql_query("SELECT * FROM users WHERE ksywa = '{$_POST['login']}'");
  16.  if (mysql_num_rows($query) < 1) {
  17. print "Brak loginu ".$_POST['login']." w bazie";
  18.  }else{
  19.  $querypass = mysql_query("SELECT * FROM users WHERE ksywa = '{$_POST['login']}' and pass = '{$_POST['haslo']}'");
  20. if (mysql_num_rows($querypass) < 1) {
  21. print "Nie poprawne hasło";
  22. }else{
  23. $rekord = mysql_fetch_assoc ($querypass);
  24. $_SESSION['user'] = $rekord['ksywa'];
  25. $_SESSION['status'] = $rekord['statususer'];
  26. print "<a href="".$_POST['from']."">Zostałeś zalogowany.</a>n";
  27. }
  28.  }
  29.  
  30. }
  31. elseif( $_GET['def'] == 'logout' )
  32. {
  33. session_destroy(); // zniszczenie sesji = wylogowanie
  34. print "<a href="".$_SERVER['HTTP_REFERER']."">Zostałeś wylogowany.</a>n";
  35. }
  36. else
  37. {
  38. print "<a href="".$_SERVER['HTTP_REFERER']."">Zostałeś wylogowany.</a>n";
  39. }
  40. ?>

Próbowałem też:
  1. <?php
  2. header("Location: index.php");
  3. ?>

  1. <?php
  2. header("Location: index.php");
  3. ?>

Proszę o pomoc.
Cysiaczek
Sprawdź, czy nie wysłałeś jakiegoś znaku (np. spacji) przed wywołaniem header. Niektóre edytory dodają w kodowaniu UTF na początku kilka znaczków, których czasami nie widać.

Pozdrawiam.
Mike122
~Cysiaczek też tak myślałem ale nie to raczej nie ten problem.dry.gif

Próbowałem już różnych sposobów ale nic nie działa. Nie wiem dlaczego sad.gif
barthezpl
Na początku daj
  1. <?php
  2. ....
  3. ?>


i dopiero załącz includy i reszte
Mike122
też tak robiłem dry.gif Ale nic to nie dało smile.gif
cadavre
A co to za exit; na początku? Exit powoduje zatrzymanie działania skryptu i wyświetlenie strony (w tym również wysłanie headerów). Daj zatem ob_start na samutki początek i spróbuj wywalić tego exit'a.

Tak:
  1. <?php
  2. header("Location: index.php");
  3. ?>
BTW dlaczego Ty wysyłasz headera z redirectem? worriedsmiley.gif
Mike122
Niestety też nie działa dry.gif . A exit; dałem bo tak pisało w manualu i później zrobiłem tak jak piszesz. Ale ja to zrobiłem inaczej napisałem wszytko od początku i działa normalnie. Dzięki za HELP smile.gif
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.