Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z cookies
Ive
post
Post #1





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


Mam na serverze host.sk stronę i na niej skrypty, które opierają się na cookies. Wszystko działało dobrze do dzisiaj kiedy po próbie zalogowania wyświetla się komunikat:
Kod
Warning: Cannot add header information - headers already sent by (output started at /mnt/host-users/e/v/i/evildb/lay/txt/menu.emu:48) in /mnt/host-users/e/v/i/evildb/lay/txt/login.php on line 19



Warning: Cannot add header information - headers already sent by (output started at /mnt/host-users/e/v/i/evildb/lay/txt/menu.emu:48) in /mnt/host-users/e/v/i/evildb/lay/txt/login.php on line 20

Wiem że to znaczy że nie można wysłać cookies, ale czy nie znacie sposobu na aktywowanie cookies.

Jaśniej wyrażę to tak:
Dwa tygodnie temu wrzuciłem stronę na której wykorzystywałem cookies i wszystko działało aż do dzisiaj (żeby było jasno i wyraźnie napisane ;] )

Proszę o szybką odpowiedź bo zależy mi na czasie.
Go to the top of the page
+Quote Post
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


sprawdz, czy przypadkiem przed wyslaniem ciasteczka nie wyslales cos do przegladarki czyli czy nie pojawil Ci sie kod html wczesniej niz wysylasz ciasteczko
Go to the top of the page
+Quote Post
Al
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.10.2003

Ostrzeżenie: (0%)
-----


Cytat
czy nie pojawil Ci sie kod html wczesniej

To może być nawet zbędna spacja...


--------------------
Nie ma jutra bez komputra.
Go to the top of the page
+Quote Post
Ive
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


dam wam zawartość plików w których jest logowanie:
index.php:
Kod
<html>

<head>

<title>Emulation</title>

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Expires" CONTENT="-1">

<META NAME="DESCRIPTION" CONTENT="Opis strony">

<META NAME="KEYWORDS" CONTENT="slowa, kluczowe">

<link rel="StyleSheet" type="text/css" href="style.css">

</head>

<body bgcolor="#ffffff" background=gfx/bg.jpg  topmargin="25" leftmargin="24" bottommargin="0">

<center>

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="688" HEIGHT="338"><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="112" background=gfx/up_1x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="112" background=gfx/up_1x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="112" background=gfx/up_1x3.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="112" background=gfx/up_1x4.jpg></TD>

</TR><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_2x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_2x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_2x3.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_2x4.jpg></TD>

</TR><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_3x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_3x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_3x3.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="172" HEIGHT="113" background=gfx/up_3x4.jpg></TD>

</TR></TABLE>

<table border=0 cellspacing=0 cellpadding=0 width=688 height=101>

<tr valign=top>

<td width=154 height=50 background=gfx/lgb.jpg></td>

<td width=400 height=50 background=gfx/b.jpg>

<center>

<?



if((isset($login)) && (isset($haslo))) {

    

    $plik = file("txt/users.txt");

    $licz = count($plik);

    for($i=0; $i<=$licz; $i++) {

  $xhaslo = md5($haslo);

  $user = explode("|XxX/|", $plik[$i]);

  if(($login==$user[0]) && ($xhaslo==$user[1])) {



     print("Login: $login<br>Multimedia: Aktiwejt;]<br>Komentarze: Aktiwejt;]<br>"); // wiadomość jeśli user jest zalogowany

    

  }



    }



} else {



    print("<form action="index.php?x=login" method=post>

    Login: <input type=text name=login>&nbsp;&nbsp;

    Hasło: <input type=text name=haslo>&nbsp;&nbsp;

    <input type=submit value=OK><BR>

    Nie masz konta?! <a href="index.php?x=add">Zarejestruj się!</a>

    </form>"); //tutaj forma wyświetlam



}



?></center>

</td>

<td width=134 height=50 background=gfx/pgb.jpg></td>

</tr><tr valign=top>

<td width=154 height=51 background=gfx/ldb.jpg></td>

<td width=400 height=51 background=gfx/db.jpg></td>

<td width=134 height=51 background=gfx/pdb.jpg></td>

</tr><tr valign=top>

<td width=154 height=64 background=gfx/lpm.jpg></td>

<td width=400 height=64 background=gfx/spm.jpg></td>

<td width=134 height=64 background=gfx/ppm.jpg></td>

</tr></table>

<table border=0 cellspacing=0 cellpadding=0 width=688 background=gfx/bg1.jpg>

<tr valign=top><td width=35></td>

<td width=209>

<? require("txt/menu.emu"); ?>

</td>

<td width=7></td>

<td width=410>

<?



if($x==""){

    

    $x = "news/pokaz";

    

}

if(file_exists("txt/$x.php")) {



    include("txt/$x.php");

    

} else {

    

    print("Brak strony do wyświetlenia");



}



?>

</td>

<td width=27></td>

</tr></table>

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="688" HEIGHT="144"><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_1x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="230" HEIGHT="48" background=gfx/down_1x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_1x3.jpg></TD>

</TR><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_2x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="230" HEIGHT="48" background=gfx/down_2x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_2x3.jpg></TD>

</TR><TR>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_3x1.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="230" HEIGHT="48" background=gfx/down_3x2.jpg></TD>

<TD ROWSPAN="1" COLSPAN="1" WIDTH="229" HEIGHT="48" background=gfx/down_3x3.jpg></TD>

</TR></TABLE>

</center>

</body>

</html>

login.php (w adresie jest to odniesione index.php?x=login):
Kod
<?



if(($login=="") && ($haslo=="")) {

    

    print("Niepodałeś loginu lub/i hasła!");

    exit();

    

}



if((isset($login)) && (isset($haslo))) {

    

    $licz = count(file("txt/users.txt"));

    $plik = file("txt/users.txt");

    for($i=0; $i<=$licz; $i++) {

  $xhaslo = md5($haslo);

  $user = explode("|XxX/|", $plik[$i]);

  if(($login==$user[0]) && ($xhaslo==$user[1])) {

    

     setcookie("haslo", $haslo, time()+3600);

     setcookie("login", $login, time()+3600);

     $loged = TRUE;

    

  }

  

    }

    

}

if ($loged) {

    

    print("Zalogowałeś się!");  

    

} else {

    

    print("Złe haslo/login");

    

}



?>

to wszystko
mam nadzieje że znajdziecie gdzie zrobiłem błąd (jeśli owy zrobiłem) i mi pomożecie
zastosowanie mozecie znaleźć na stronie www.emunation.glt.pl
Go to the top of the page
+Quote Post
adwol
post
Post #5





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Kod
Warning: Cannot add header information - headers already sent by (output started at /mnt/host-users/e/v/i/evildb/lay/txt/menu.emu:48) in /mnt/host-users/e/v/i/evildb/lay/txt/login.php on line 19



Warning: Cannot add header information - headers already sent by (output started at /mnt/host-users/e/v/i/evildb/lay/txt/menu.emu:48) in /mnt/host-users/e/v/i/evildb/lay/txt/login.php on line 20

Zajrzyj do pliku /mnt/host-users/e/v/i/evildb/lay/txt/menu.emu i zobacz co robisz w linii 48. Tam zostało po raz pierwszy coś posłane na wyjście.

Zobacz czy takie coś z index.php:
Cytat
Kod
<? require("txt/menu.emu"); ?>

jest w odpowiednim miejscu.
Go to the top of the page
+Quote Post
Al
post
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.10.2003

Ostrzeżenie: (0%)
-----


Cytat
Wiem że to znaczy że nie można wysłać cookies, ale czy nie znacie sposobu na aktywowanie cookies.

Jaśniej wyrażę to tak:
Dwa tygodnie temu wrzuciłem stronę na której wykorzystywałem cookies i wszystko działało (...)

W kodzie masz:
Cytat
[php:1:98126edc74]<?php
setcookie("haslo", $haslo, time()+3600);setcookie("login", $login, time()+3600);
?>[/php:1:98126edc74]

Spróbuj dodać parametr domena do cookie. Co prawda w razie braku domeny wartością domyślną jest nazwa hosta serwera, który generuje cookie, ale się kiedyś na tym naciąłem i wolę wpisywać ręcznie.


--------------------
Nie ma jutra bez komputra.
Go to the top of the page
+Quote Post
Ive
post
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


a domena to będzie 'localhost' czy 'http://host.sk' ? bo w życiu nie stosowałem tego parametru
Go to the top of the page
+Quote Post
kwiateek
post
Post #8





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 13.01.2003
Skąd: 3rd ball of mud behind a big ball of burning gas

Ostrzeżenie: (0%)
-----


Cytat
Spróbuj dodać parametr domena do cookie. Co prawda w razie braku domeny wartością domyślną jest nazwa hosta serwera, który generuje cookie, ale się kiedyś na tym naciąłem i wolę wpisywać ręcznie.

Domena nie ma nic wspólnego z rozwiązaniem poruszaonego problemu.

Rozwiązaniem problemu jest usunięcie require('login.php'); ze środka indexu (nie możesz się odwoływać do loginu tak jak do normalnych stron index.php?x=login).
Zrób osobny warunek dla logowania na poczatku index.php. Np:
[php:1:067893e951]<?php
if($_GET['x'] == 'login') {
require('login.php');
}
?>[/php:1:067893e951]

Temat nadaje się na forum początkujący. Na przyszłość proszę korzystać z wyszukiwaki i uważnie czytać manuala.

Pozdrawiam.


--------------------
It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?>
Go to the top of the page
+Quote Post
Ive
post
Post #9





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


Cytat
Rozwiązaniem problemu jest usunięcie require('login.php'); ze środka indexu (nie możesz się odwoływać do loginu tak jak do normalnych stron index.php?x=login).
Zrób osobny warunek dla logowania na poczatku index.php. Np:
[php:1:b4e317e781]<?php
if($_GET['x'] == 'login') {
require('login.php');
}
?>[/php:1:b4e317e781]

dzięki kwiatek biggrin.gif zrobilem nie tak jak ty mi poradziełś ale to ty mnie zainspirowałeś smile.gif nie zrobiłęm tego w zmiennej index.php?x=login tylko bezpośrednio przeszedł do pliku login.php biggrin.gif Dzięki kwaiteek jeszcze raz ;]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:40