IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @068
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Vaše dáta sú v oblakoch

Virtuálny desktop lacno, spoľahlivo, bez kompromisov. www.ts.avnet.com

Dal som si poradiť

Mám sa na koho spoľahnúť. A vy? www.partnersgroup.sk

Webhosting - akcia +9 mesiacov

K ročnému predplatnému až 9 mesiacov zadarmo pri prevode hostingu k nám. www.exohosting.sk

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Lacné ubytovanie pri Balatone

Ubytuj sa teraz až s 50% zľavou Akciové zľavy na viac ako 1000 ubytovaní szallasguru.sk

Problem so session

Zaslať odpoveď
AutorSpráva
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Po 19.11.07 18:30Odpovedať s citátomNávrat hore

Robim prihlasenie, a hadze mi to same chyby.. co je za problem ??:

prihlasenie.php:
kód:
<?
$chyba = $_GET['error'];
If($chyba==1) { echo "<b>Meno a heslo nesúhlasí</b>";}
Elseif($chyba==2) { echo "<b>Nevyplnil si meno alebo heslo</b>";}
Elseif($chyba==3) { echo "<b>Ak ste bol dlhšiu dobu neaktivný, systém vás odhlásil</b>";}


?>
<form method="post" action="login.php">
Meno <input name="nick"> <br>
Heslo <input name="heslo" type="password">
<input type="submit" value="Přihlásit">
</form>


login.php:
kód:
<?
include ("config.php");


$nick = $_POST["nick"];
$heslo= $_POST["heslo"];
If(!$nick || ! $heslo) { header("Location prihlasenie.php?error=2"); }

$sql = mysql_query("select * from mhk_nicky where nick = '$nick' and heslo = '$heslo'");
$row = mysql_num_rows($sql); //ověříme počet řákdů, podku je roven 1 pošleme uživatele dále
If($row==1)
  {
    $_SESSION["nick"]= $nick;
    $_SESSION["heslo"] = $heslo;
    header ("Location: index.php?kat=admin&act=zobrazenie");
  }
Else
{
Header("Location prihlasenie.php?error=1");
}
?>


overenie.php - to includujem na stranky, ktore sa daju prezret az po prihlaseni:
kód:
<?

session_start();

include ("config.php");

$nick = $_SESSION["nick"];
$heslo = $_SESSION["heslo"];

if(!$nick || !$heslo)
{
header("Location: prihlasenie.php?error=3");
}
Else
{
$sql = mysql_query("select * from uzovitele where nick = '$nick' and heslo = '$heslo'");
$row = mysql_num_rows($sql);
If($row !=1) { header("Location prihlasenie.php?error=2"); }
}
?>


Co moze byt zle??

Chyby to hadze rozne.. vacsinou:
kód:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at D:\WEB\Natt\mhk-nz\php\index.php:8) in D:\WEB\Natt\mhk-nz\php\overenie.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\WEB\Natt\mhk-nz\php\index.php:8) in D:\WEB\Natt\mhk-nz\php\overenie.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at D:\WEB\Natt\mhk-nz\php\index.php:8) in D:\WEB\Natt\mhk-nz\php\overenie.php on line 12
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
chrono
Skúsený užívateľ
Skúsený užívateľ

Založený: 13.11.2007
Príspevky: 808

PríspevokZaslal: Po 19.11.07 19:48Odpovedať s citátomNávrat hore

Pozri, či nemáš v niektorom zo súborov niečo pred <?php (medzeru, prázdny znak, BOM...). Ak tam niečo také máš, tak to vymaž.

PS: A nepoužívaj <?
Zobraziť informácie o autoroviOdoslať súkromnú správu
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Po 19.11.07 20:18Odpovedať s citátomNávrat hore

preco nemozem pouzivat <? ??

_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
mondzo
Užívateľ
Užívateľ

Založený: 09.02.2007
Príspevky: 248

PríspevokZaslal: Po 19.11.07 22:05Odpovedať s citátomNávrat hore

login.php:

<?
include ("config.php");


$nick = $_POST["nick"];
$heslo= $_POST["heslo"];
If(!$nick || ! $heslo) { header("Location prihlasenie.php?error=2"); exit();}

$sql = mysql_query("select * from mhk_nicky where nick = '$nick' and heslo = '$heslo'");
$row = mysql_num_rows($sql); //ověříme počet řákdů, podku je roven 1 pošleme uživatele dále
If($row==1)
{
session_start();
$_SESSION["nick"]= $nick;
$_SESSION["heslo"] = $heslo;
header ("Location: index.php?kat=admin&act=zobrazenie");
exit();
}
Else
{
Header("Location prihlasenie.php?error=1");
exit();
}
?>

overenie.php - to includujem na stranky, ktore sa daju prezret az po prihlaseni:
<?
// tu si skontroluj ci nemas nahodou medzeru, nejaky biely znak
session_start();

include ("config.php");

$nick = $_SESSION["nick"];
$heslo = $_SESSION["heslo"];

if(!$nick || !$heslo)
{
header("Location: prihlasenie.php?error=3");
exit();
}
Else
{
$sql = mysql_query("select * from uzovitele where nick = '$nick' and heslo = '$heslo'");
$row = mysql_num_rows($sql);
If($row !=1) { header("Location prihlasenie.php?error=2"); exit(); }
}
?>

<? je skrateny zapis <?php po spravnosti by si mal zacinat php kod s <?php , aby to bolo jasne, ze to je php... zalezi to vsak na Tebe, mozes kludnes pouzivat <?, ale odporucal by som <?php, ako spominal chrono

ked redirectujes cez header() mal by si za header este dopisat aj exit(); aby si si bol isty, ze uz dalsi kod sa nevykona -> v ramci spravneho kodovania
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Ut 20.11.07 18:31Odpovedať s citátomNávrat hore

oks, budem pouzivat <?php
_________________________
opravil som vsetko,ale stale to nejde.. moze byt server nejako nepodporuje session ??

kód:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at D:\WEB\Natt\mhk-nz\php\index.php:8) in D:\WEB\Natt\mhk-nz\php\overenie.php on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\WEB\Natt\mhk-nz\php\index.php:8) in D:\WEB\Natt\mhk-nz\php\overenie.php on line 2


co znamena ta chyba??

EDIT:
teraz som cital:
http://www.owebu.cz/777-732-session_start():-Cannot-send-session-cookie---head
a tam som sa docital ze moze byt problem kodovanie: UTF-8
a dokonca aj to, ze ten subor includujem inde. no to som nevedel, to nemozem dat hocikde to session_start?? tak idem to dat na zaciatok...
kam presne by to bolo najvhodnejsie??
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
kmsa
Užívateľ
Užívateľ

Založený: 26.07.2006
Príspevky: 1383
Bydlisko: Slovakia-Košice

PríspevokZaslal: Ut 20.11.07 19:01Odpovedať s citátomNávrat hore

ak si dobre pamatam tak nesmies mat ziaden vystup pred odosielanim header alebo cookies

<? ako bolo spomenute je skratena forma, na vacsine serveroch je off ale ja osobne podporujem skratene formi aj ked teraz sa znasim odnaucit

_________________
CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých
Zobraziť informácie o autoroviOdoslať súkromnú správuICQSkype
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Ut 20.11.07 19:28Odpovedať s citátomNávrat hore

a kam to mam dat? stale mi to hadze chyby..
inac to menenie header location som musel dat prec...
dal som tam javascript..

ako to mam spravit, aby to slo??

(a ako spravit odhlasenie? session destroy?

_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
programator
Užívateľ
Užívateľ

Založený: 02.09.2005
Príspevky: 156

PríspevokZaslal: Ut 20.11.07 21:19Odpovedať s citátomNávrat hore

Blackshadow napísal:
a kam to mam dat? stale mi to hadze chyby..
inac to menenie header location som musel dat prec...
dal som tam javascript..

ako to mam spravit, aby to slo??

(a ako spravit odhlasenie? session destroy?
Jednoducho session_start(); daj uplne na zaciatok scriptu, pred HTML vystup - vyhnes sa tak neprijemnym komplikaciam...
Odhlasenie mozes urobit pomocou funkcie session_destroy();
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Ut 20.11.07 21:26Odpovedať s citátomNávrat hore

kód:
<body>
<?php
session_start();
?>
    <!-- Obrazky -->
    <div id="logo">
      Model Hobby klub Nove Zamky
    </div>
    <div id="menu">
    </div>
    <div id="lavybok">
    </div>
    <div id="pravybok">
    </div>
    <!-- Tlacitka -->
    <div id="tlacitka">
      <? include('menu.php'); ?>
    </div>
    <!-- Obsah -->
    <h1>Novinky</h1>
   
    <div id="obsahText">
      <? include('presmerovanie.php'); ?>   
    </div>
</body>


takto moze byt??
lebo takto mi to nejde...

pri prihlaseni ma to presmeruje na chybu 3

cast kodu, kde mi overuje prihlasenie:
kód:
$sql = mysql_query("select * from mhk_nicky where nick = '$nick' and heslo = '$heslo'");
$row = mysql_num_rows($sql);
If($row==1)
{
$_SESSION["nick"]= $nick;
$_SESSION["heslo"] = $heslo;
echo "
    <script>
    window.location.replace(\"index.php?kat=admin&act=zobrazenie\");
    </script>";
exit();
}


Co presne znamena toto??
kód:
if(!$nick || !$heslo)

koli tomu ma to asi hadze prec
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Ut 20.11.07 21:40Odpovedať s citátomNávrat hore

Uz to ide.. vsetko vlastne ide, cele prihlasenie, ale aj tak mi hadze chybu v pozadi:


Warning: session_start(): Cannot send session cookie - headers already sent by (output started at D:\WEB\Natt\mhk-nz\php\index.php:10) in D:\WEB\Natt\mhk-nz\php\index.php on line 15

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\WEB\Natt\mhk-nz\php\index.php:10) in

_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
programator
Užívateľ
Užívateľ

Založený: 02.09.2005
Príspevky: 156

PríspevokZaslal: Ut 20.11.07 22:41Odpovedať s citátomNávrat hore

session_start(); musi byt pred vystupom HTML, t.j. v tvojom pripade aj pred tagom <body> (vystupom sa myslia vsetky HTML tagy)
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: Ut 20.11.07 22:50Odpovedať s citátomNávrat hore

aj pred body?? a aj pred cim este?? head moze byt predtym??

_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: Ut 20.11.07 22:57Odpovedať s citátomNávrat hore

ktoremu slovu, co ti napisal programator nechapes? musi to byt pred vsetkymi html tagmi, cize aj pred head...proste to vloz na uplne prvy riadok v subore a je to...

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
mondzo
Užívateľ
Užívateľ

Založený: 09.02.2007
Príspevky: 248

PríspevokZaslal: St 21.11.07 12:13Odpovedať s citátomNávrat hore

no servus, tak poriesil si tie session? vypisuje ti to stale tu istu chybu? spravil si vsetko co tu bolo spomenute vyssie? ak mas stale problem tak tu hodim nazorny kod prihlasovacieho skriptu, spolu aj s odhlasenim...
CEST
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Blackshadow
Užívateľ
Užívateľ

Založený: 09.09.2007
Príspevky: 3159
Bydlisko: Nové Zámky

PríspevokZaslal: St 21.11.07 16:07Odpovedať s citátomNávrat hore

noo.. ja som nevedel co sa bere ako HTML VYSTUP... dal som to na uuuplny zaciatok a ide to !
dakujem za rady.. uz to ide jak ma

_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd