PHP header
 
ellev 18. sep 2009 15:57:38 Pridružen od:
11. maj 2009
24 objav
6 5 6
#1

Pozdravljeni !



Sedaj ne vem ali se na tem forumu lahko tudi kaksno tako vpršanje postavi , vendar ker potrebujem pomoč se obračam z rahlo težavo na vas.



Kot ste opazili imam tezave z funkcijo header , torej zanima me če poznate rešitev

oz če obstaja kaka proti funkcija ki nadomešča header mi lahko tudi sporočite.



Sedaj pojdimo k moji težavi.



Imam obrazec za login . prijava vse normalno deluje v primeru da uporabnik napiše

nepravilno mu napiše da je napaka in da poskusi ponovno napisati uporabnisko ime

in geslo . V kolikor pa pravilno napieš pa ne spusti čes funkcijo header.



Koda: header('Location: index1.php');



Torej me le zanima kje bi se lahko skrivala napaka preiskusil sem veliko zadev vendar mi nikoli ne deluje funkcija header.



Le v primeru da uporabim le samostojno funkcijo header



Koda:

<?php

header('Location: index1.php');

?>



Le v tem primeru deluje ,ko pa uporabljam v povezavi z php pa mi funkcija ne deluje.



Celotna koda:

$errorMessage = '';

if (isset($POST['txtUserId']) && isset($POST['txtPassword'])) {

// check if the username and password combination is correct

if ($POST['txtUserId'] === 'david' && $POST['txtPassword'] === 'david123') {

// the username and password match,

// set the session

$SESSION['basicisloggedin'] = true;


    // after login we move to the main page
header('Location: index1.php');
exit;
} else {
$errorMessage = 'Napaka, wrong username / password';
}

}

?>



<?php

if ($errorMessage != '') {

?>



Torej kaj bi bilo narobe .No skoraj pozabil da bo clanek popolen.



NAPAKA:

Warning: Cannot modify header information - headers already sent by (output started at /home/lion/domains/elektronski-lev.si/publichtml/zaposleni/prijava.php:11) in /home/lion/domains/elektronski-lev.si/publichtml/zaposleni/prijava.php on line 67



Vrstica 67

header('Location: index1.php');



Torej če kateri ve kaj je narobe v tej sila enostavni php kodi.



Lep pozdrav in hvala za vso pomoč.


všeč(0) ni všeč(0) spam(0)
 
kopriva 18. sep 2009 16:00:53 Pridružen od:
6. nov 2007
1376 objav
2027 207 28
#2

Samo nasvet ... Čeprav je tukaj nekaj brihtnih <?php buč, boš verjetno hitreje dobil odgovor na PHP vprašanja na forumu http://php-si.com/ .



Pa srečno s headerji.


všeč(0) ni všeč(0) spam(0)
“Everything that happens, happens as it should, and if you observe carefully, you will find this to be so.” ― Marcus Aurelius
 
ellev 18. sep 2009 16:13:14 Pridružen od:
11. maj 2009
24 objav
6 5 6
#3

Kopriva hvala za nasvet za objavo na php forumu.



Vendar se za ta forum velikokrat vprašam ali je to mrtu forum ali

pa na forumu delujeta le 2 temi . Srečo imam da ravno o php -ju :)


všeč(0) ni všeč(0) spam(0)
 
Vini 18. sep 2009 16:27:23 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#4

ellev, preberi si dokumentacijo funkcije header(), pa boš dobil odgovor na svoje vprašanje.



Govorim predvsem o naslednjem besedilu:




Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.



všeč(0) ni všeč(0) spam(0)
 
ellev 18. sep 2009 16:35:11 Pridružen od:
11. maj 2009
24 objav
6 5 6
#5

Sem rešil zadevo !



Za vse ce boste naletel na tak primer je potrebno narediti tole.

Na začetek je potrebno napisati tole.

sessionstart(); - ni potrebna ce ne uporabljate seesion

ob
start();



Na koncu pa izpišete :

<?php obendflush(); ?>



In še za vse tiste ki ne veste kaj je bila težava kratka obrazlozitev.

Heder se vedno naloži le enkrat .Nikoli se ne more večkrat če nimate v kodi

zgoraj navedenega. Ko pa v kodo vpišete potrebno se lahko večkrat izvaja funkcija heder in vam omogoča skoke iz enega fajle v druzga.



Vini hvala za to stran.

Sam ta stran je moj drugi dom vendar tega glede heder pa nisem našel.


všeč(1) ni všeč(3) spam(0)
 
Vini 18. sep 2009 16:44:11 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#6

V bistvu si dal fantom povsem napačen nasvet :) Tale tvoj način je obliž za to, če zadeve tako zabluziš, da drugače ne gre. Če bi ločil logiko od prezentacije, se ti take zadeve tako ali tako ne bi dogajale :P


všeč(4) ni všeč(0) spam(0)
 
Toasted Web 18. sep 2009 17:00:34 Pridružen od:
15. nov 2008
380 objav
127 33 6
#7

ellev.... fora je v tem, da ti "spletna stran" ne sme ničesar izpisovati pred fukncijo header()... a šteka? -> header() must be called before any actual output is sent


všeč(1) ni všeč(0) spam(0)
 
Vini 18. sep 2009 17:17:41 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#8

No, pa še razčlenitev tvoje obrazložitve:



"Heder se vedno naloži le enkrat." - Tale izjava nima nobenega smisla. Verjetno si mislil, da lahko header() funkcijo pokličeš le enkrat, če si, se motiš. Funkcijo header() lahko kličeš poljubno mnogokrat, brez bojazni, da bi se ti zgodilo to, kar se je tebi, če le prej nisi outputal vsebine.



"Nikoli se ne more večkrat če nimate v kodi zgoraj navedenega." - Verjetno razloženo že zgoraj, kajne?



"Ko pa v kodo vpišete potrebno se lahko večkrat izvaja funkcija heder in vam omogoča skoke iz enega fajle v druzga." - Kot skoki med fajli si verjetno predstavljaš statemente include ali require, ja? To nima prav nobene veze s funkcijo header(), pred klicem te funkcije lahko poljubno mnogokrat izvedeš include ali require, če le nisi znotraj teh fajlov outputal vsebine.



Ja?


všeč(1) ni všeč(0) spam(0)
 
Kajter 18. sep 2009 17:51:20 Pridružen od:
17. nov 2008
130 objav
14 9 0
#9

Če uporabiš header za avtentikacijo moraš paziti, da nimaš kakšnega presledka v kodi, ker sledi error.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se