pawelzdanio
30.03.2007, 17:58:21
Witam!
Pisałem już wcześniej w innym temacie a propos tego problemu, ale nikt chyba nie odczytal, wiec zalozylem nowy temat. Logi i hasło działa poprawnie natomiast nie mogę zrobić przekierowania funkcja header ;/ Będę ogromnie wdzięczny "wujkowi Dobra Rada":)
<?php
include('hasla.php');
$logins=$_GET["login"];
$haslos=$_GET["haslo"];
//Weryfikacja loginu i hasla
for ($i=0;$i<3;$i++)
{
if (($_GET[login]==$login[$i][0])&&($_GET[haslo]==$haslo[$i][1]))
{
$validation= 1;
}
}
if ($validation==1)
{
header("Location: index.php"); echo "Login i haslo poprawne!"; }
elseif (($_GET[login]==NULL)&&($_GET[haslo]==NULL))
{
}
else
{
echo "Login lub/i haslo niepoprawne!"; }
?>
webdice
30.03.2007, 18:07:01
A ja nie mogę włączyć komputer przyciskiem POWER, jak mi pomożesz to powiem Ci co jest nie tak w Twoim skrypcie, a tak na poważnie to napisz dokładnie co Ci nie działa.
P.S. Po co po exit dajesz echo?
pawelzdanio
30.03.2007, 18:12:02
Tak wiem echo jest niepotrzebne zupelnie..masz racje, ale po zalogowaniu nie przekierowuje mnie strone index.php tylko wywala mi blad:
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Logowanie\restricted.php:6)
acztery
30.03.2007, 18:16:50
wstaw na poczatku skryptu on_start();
webdice
30.03.2007, 18:17:52
Było na tym forum już wiele razy, a zamiast zakładać drugi temat i tracić czas mogłeś wklepać to do google i miałbyś już dawno odpowiedź, naucz się sam rozwiązywać problemy a nie pytać o takie pierdoły na forum.
pawelzdanio
30.03.2007, 18:21:12
nie lapie gdzie dokladnie mam go wstawic ;/
Cytat(webdicepl @ 30.03.2007, 19:17:52 )

Było na tym forum już wiele razy, a zamiast zakładać drugi temat i tracić czas mogłeś wklepać to do google i miałbyś już dawno odpowiedź, naucz się sam rozwiązywać problemy a nie pytać o takie pierdoły na forum.
wiem, ze byly bo przegladalem, ale tamte rozwiazania nie przyniosly u mnie zadnego rezultatu
acztery
30.03.2007, 18:22:59
<?php
include('hasla.php');
?>
pawelzdanio
30.03.2007, 18:24:41
wlasnie tam wstawilem ale wyskakuje mi blad:
Fatal error: Call to undefined function on_start() in C:\wamp\www\Logowanie\restricted.php
acztery
30.03.2007, 18:27:14
ob_start pomylilo mi sie
pawelzdanio
30.03.2007, 18:28:47
znow ten sam blad:
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Logowanie\restricted.php:6)
acztery
30.03.2007, 18:30:49
ta funkcja musi zostac wywolana 1 poczytaj..
webdice
30.03.2007, 18:31:08
Bo wstawiasz to pewnie w includowanym pliku, a wcześniej wysyłasz jakąś treść do przeglądarki.
pawelzdanio
30.03.2007, 18:38:44
nie wstawiam tego w includowanym pliku, nie dziala mi niestety ciagle ob_start i ob_end_flush() ;/ Dobra no nic poradze sobie moze z tym jakos inaczej. Pobieram hasla z bazy a pozniej pobieram od uzytkownika przez labele..
devnul
30.03.2007, 18:48:40
może być tak że używasz kodowania znaków utf i dodawany jest nagłówek BOM na początku skryptu co za tym idzie jest on wysyłany przed wykonaniem się czegokolwiek i przez to możesz mieć problem.
acztery
30.03.2007, 18:54:30
devnul mylisz się tzn ze ci co stosują utf-8 nie moga korzystac z ob_start() nowa wizja programowania. to pewnie ci nie dziala bo w złym miejscu to wtawiasz.
pisze ci ze masz blad w 6 lini jak ona wyglada?
pawelzdanio
30.03.2007, 18:58:46
Przesylam caly kod:
<html>
<head>
<title>Strona logowania</title>
</head>
<?php
//laduje loginy i hasla z bazy danych
include('admin.php');
if (!$connection)
{
}
if (!$db_select)
{
}
$query= "SELECT Login, Haslo From passwords";
if(!$result)
{
}
$i=0;
{
$login[$i][0]=$result_row[0];
$haslo[$i][1]=$result_row[1];
$i++;
}
?>
<body>
<center>
</br>
<form action="
<?php echo($_SERVER['PHP_SELF']); ?>" methods"POST">
<label>login :
<input type="text" name="login" />
</label>
<br>
<label>
haslo:
<input type="password" name="haslo" />
</label>
</br></br>
<input type="submit" value="loguj" />
</form>
<?php
//include('hasla.php');
$logins=$_GET["login"];
$haslos=$_GET["haslo"];
//Weryfikacja loginu i hasla
for ($i=0;$i<3;$i++)
{
if (($_GET[login]==$login[$i][0])&&($_GET[haslo]==$haslo[$i][1]))
{
$validation= 1;
}
}
if ($validation==1)
{
header("Location: index.php"); }
elseif (($_GET[login]==NULL)&&($_GET[haslo]==NULL))
{
}
else
{
echo "Login lub/i haslo niepoprawne!"; }
?>
</center>
</body>
</html>
devnul
30.03.2007, 19:09:36
wstaw to przed html
czyli
<?php
?><html>...
bo to wlasnie on jest tym wysłanym contentem który bolał parser
pawelzdanio
30.03.2007, 19:15:22
Ermes
1.04.2007, 20:14:40
Proste:
Rada dla wszystkich:
Jeśli ktoś korzysta z funkcji
header(); to musi ją koniecznie wstawić przed jakimkolwiek html'em jaki ma na stronie czyli jakiś kod php w którym uzylismy header(); musi być koniecznie na początku bo inaczej nie zadziała
kwiateusz
1.04.2007, 20:20:42
ew. istnieje coś takiego jak
ob_start" title="Zobacz w manualu PHP" target="_manual zeby header działałw całej rozciągłości skryptu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.