Wątek zablokowany 2014-10-17 08:52 przez dzek69.

Funkcja setcookie działa tylko na localhost

0

Mam taki problem napisałem sobie skrypt do logowania i dodam, że u mnie na localhost poprawnie się loguje natomiast na zdalnym serwerze już nie wyskakuje taki komunikat

Warning: Cannot modify header information - headers already sent by (output started at /home/toml/domains/zadanie1.matysart.pl/public_html/zaloguj.php:2) in /home/toml/domains/zadanie1.matysart.pl/public_html/clasy.php on line 116

dodam też, że na początku kodu jest funkcja ob_start(); a na końcu ob_end_flush(); daje kod źródłowy

ob_start();
require("./clasy.php");
	$user = new uzytkownik;
		if ( $user->zaloguj() == false) {
					
				print ("Nie prawidły login lub hasło");
		}
 else {
				
				$user->utworz_cookie();
	      
	  }
ob_end_flush();

Plik clasy.php

class uzytkownik {


public $login = "";
public $haslo = "";

    public function utworz_cookie() {
      $ustaw = setcookie("user",$this->login, time() + 3600); //Błąd wystepuje w tej linijce
      $ustaw2 = setcookie("haslo",$this->haslo, time() + 3600); //i w teh linijce
				if ($ustaw == false or $ustaw2 == false) return false;
				else return true;
    }

  public function sprawdz_usera() {
    $login = $_COOKIE['user'];
    $haslo = $_COOKIE['haslo'];
    $wybierz_usera = mysql_query("select username,password from users where username = '$login' and password = '$haslo' ");
    $wybierz_usera = mysql_fetch_array($wybierz_usera);
    return $wybierz_usera;
  
  
  }
}
 
1

pokazałeś cały zaloguj.php? tzn jego drugą linią jest require("./clasy.php");?
Sprawdź czy nie masz przypadkiem BOMów w plikach, albo gdzieś jakiejś spacji przed <?php - cokolwiek wyślesz do przeglądarki, nawet poza php, uniemożliwi modyfikację nagłówków.

0

Problem rozwiązany powodem było to, że miałem

<meta content=\"text/html; charset=ISO-8859-2\" http-equiv=\"content-type\">

przed <?php

0

Teraz kolejny problem bardzo dziwny dodałem obsługę biblioteki selectize i jest sobie taki kod

<select id=\"select-state\" name=\"projekt\" class=\"demo-default\" style=\"width:50%\" placeholder=\"Select a state...\">
				<option value=></option>");

I jak go zmodyfikowałem w taki sposób

<select id=\"select-state\" name=\"projekt\" class=\"demo-default\" style=\"width:80%\" placeholder=\"Select a state...\">
				<option value=>jakiś tekst</option>");

To juz zaczyna wypisywać komunikaty o tych sesjach i nie tworzy tej sesji.

0

BOM Ci się dopisał po modyfikacji?

1 użytkowników online, w tym zalogowanych: 0, gości: 1