Autor | Zpráva | ||
---|---|---|---|
pito Profil |
#1 · Zasláno: 14. 3. 2009, 13:30:33
Zdravim,
Mam prihlaseni do administrace kde napisu svuj nick a heslo odeslu to,ale potom mi to napise chybu: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1) in /home/www/stolarskeprace.cz/www/admin_zpracuj.php on line 8 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1) in /home/www/stolarskeprace.cz/www/admin_zpracuj.php on line 8 Warning: Cannot modify header information - headers already sent by (output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1) in /home/www/stolarskeprace.cz/www/admin_zpracuj.php on line 25 Script mam tenhle: <?php ob_start(); /* * Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi. * Pokud ano, do sessions o tom ulozime informaci. * Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje */ session_start(); // Budeme pracovat se session, musíme je nastartovat. if(isset($_POST['nick'])){ require 'config.php'; $name = $_POST['nick']; $pass = ($_POST['heslo']); $query = MySQL_Query("SELECT * FROM `admin` WHERE `nick` = '$name' and `heslo` = '$pass'") or die (mysql_error()); // Vybereme uživatele se zadaným jménem a heslem $Vysledek = mysql_fetch_array($query); $Vysledek['nick']; if($Vysledek['nick']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo // Do sessions si uložíme pár informací o přihlášeném $_SESSION['prihlasen'] = 1; $_SESSION['nick'] = $Vysledek['nick']; $_SESSION['id'] = $Vysledek['id']; $_SESSION['Userpohlavi'] = $Vysledek['pohlavi']; $_SESSION['UserMail'] = $Vysledek['mail']; $bl="administrace-ok.php"; header("location: $bl"); // přesměrujeme na index }else{ $bl="chyba=6.php"; header("location: $bl"); // špatně zadané údaje // echo "Zadal jsi špatné údaje"; } mysql_free_result($query); }else{ echo "Zde nic není."; } ob_end_flush(); ?> Radek 8 je: session_start(); radek 25 je: header("location: $bl"); nevim kde muze byt chyba |
||
pito Profil |
#2 · Zasláno: 14. 3. 2009, 13:31:56 · Upravil/a: pito
a v souboru admin.php kde mam formular mam
<?php session_start(); // startujeme session. Všimněte si, že tento kód je úplně nahoře před jakýmkolik výstupem. ?> |
||
Werewolf Profil |
#3 · Zasláno: 14. 3. 2009, 14:35:58 · Upravil/a: Werewolf
pito
Přesuň 8. řádek před ten komentář, celý ten skript přesuň na úplný začátek toho souboru, pokud tam není a pokud je ten soubor v kódování UTF-8, nastav mu, aby byl bez BOM. A místo 25. řádku dej kód: echo("<script>locartion.assign('".$bl."');"); A odstranil jsi všechny problémy, které by to mohly způsobit. |
||
pito Profil |
#4 · Zasláno: 14. 3. 2009, 15:15:05 · Upravil/a: pito
opet chyba.Zmenil jsem to jak jsi rikal.
<?php ob_start(); session_start(); // Budeme pracovat se session, musíme je nastartovat. /* * Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi. * Pokud ano, do sessions o tom ulozime informaci. * Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje */ if(isset($_POST['nick'])){ require 'config.php'; $name = $_POST['nick']; $pass = ($_POST['heslo']); $query = MySQL_Query("SELECT * FROM `admin` WHERE `nick` = '$name' and `heslo` = '$pass'") or die (mysql_error()); // Vybereme uživatele se zadaným jménem a heslem $Vysledek = mysql_fetch_array($query); $Vysledek['nick']; if($Vysledek['nick']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo // Do sessions si uložíme pár informací o přihlášeném $_SESSION['prihlasen'] = 1; $_SESSION['nick'] = $Vysledek['nick']; $_SESSION['id'] = $Vysledek['id']; $_SESSION['Userpohlavi'] = $Vysledek['pohlavi']; $_SESSION['UserMail'] = $Vysledek['mail']; $bl="administrace-ok.php"; echo("<script>locartion.assign('".$bl."');"); }else{ $bl="chyba=6.php"; header("location: $bl"); // špatně zadané údaje // echo "Zadal jsi špatné údaje"; } mysql_free_result($query); }else{ echo "Zde nic není."; } ob_end_flush(); ?> chyba je: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1) in /home/www/stolarskeprace.cz/www/admin_zpracuj.php on line 3 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1) in /home/www/stolarskeprace.cz/www/admin_zpracuj.php on line 3 radek 3: session_start(); // Budeme pracovat se session, musíme je nastartovat. |
||
Mike8748 Profil |
#5 · Zasláno: 14. 3. 2009, 15:31:19
output started at /home/www/stolarskeprace.cz/www/admin_zpracuj.php:1
vystup na radce 1. to na 99.9% znamena jediny, ze pouzivas kodovani UTF, a v souboru jsou znaky BOM, tedy signatura urcujici konkretni kodovani utf. takze si v editoru vypni vkladani signatury BOM, soubory znova uloz/uploaduj a bude po problemu |
||
pito Profil |
#6 · Zasláno: 14. 3. 2009, 15:50:38
nechapu kde to mam vypnout.Delam to v poznamkovym bloku :)
|
||
Mastodont Profil |
#7 · Zasláno: 14. 3. 2009, 15:53:04
No tak tam to nevypneš.. Přeejdi na jiný editor.
|
||
pito Profil |
#8 · Zasláno: 14. 3. 2009, 16:48:53
pouzivam sem tam i pspad ale nevim kde to tam vypnu
|
||
Mike8748 Profil |
#9 · Zasláno: 14. 3. 2009, 16:52:42
pito
nastaveni editoru, tam je zaskrtavatko "Vkladat BOM" nebo neco takovyho |
||
pito Profil |
#10 · Zasláno: 14. 3. 2009, 16:59:28
nastaveni jsem nasel ale neni to tam.A nejde zmenit kodovani misto utf bych mel cp1250
|
||
Mike8748 Profil |
#11 · Zasláno: 14. 3. 2009, 17:03:16 · Upravil/a: Mike8748
pito
no pokud zmenis kodovani souboru tak to by problem "vyresilo" protoze win1250 zadny BOM nema. ovsem nastanou ti dalsi problemy s kodovanim databaze,... Pspad, nastaveni programu, Program, cast 2, checkbox Ident. byty v kodovani UTF8 |
||
Mastodont Profil |
#12 · Zasláno: 14. 3. 2009, 17:04:19
To by musel být opravdu pravěký PSPad, aby tam nešlo změnit kódování.
|
||
pito Profil |
#13 · Zasláno: 14. 3. 2009, 17:56:05
nejak to neresi.Je to porad stejny.
|
||
Časová prodleva: 15 let
|
0