Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 24.02.2004 Ostrzeżenie: (0%)
|
Robie zwykly formularz logowania na stronie.nastepnie po zalogowaniu pojawia sie kolejny formularz.Ale formularz lgoowania wciaz jest.Jak zrobic aby po zalogowaniu sie juz nie pokazywal.CHce aby to bylo w 1 pliku.
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 30.06.2003 Skąd: Chełm Ostrzeżenie: (0%)
|
Po zalogowaniu dajesz userowi zmienną sesyjną
[php:1:a817c4dc3b]<?php $_SESSION['logged']='1'; ?>[/php:1:a817c4dc3b] później sprawdzasz: [php:1:a817c4dc3b]<?php if($_SESSION['logged']=='1'){ echo 'user zalogowany'; }else{ //tu dajesz formularz logowania }; ?>[/php:1:a817c4dc3b] |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 24.02.2004 Ostrzeżenie: (0%)
|
no tak tylko ze ja to logowanie nie mam na sesjach. if($login=="login" && $haslo=="haslo")
{ // wyswietl formularz } tylko ze nad tym 2 formularzem widnieje formularz logowania i jakz robic by go usunac... |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%)
|
No to robisz najprostszy warunek, czyli:
[php:1:c5f18f35b2]<?php if($login!='login' || $haslo!='haslo') { // pierwszy formularz } elseif ($login=='login' && $haslo=='haslo') { // drugi formularz } ?>[/php:1:c5f18f35b2] To oczywiście najprostszy szkielet |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 24.02.2004 Ostrzeżenie: (0%)
|
wezmy przyklad 1 formularz to formularz dzikei ktoremu sie loguje.Gdy sie zaloguje ma sie wyswietlic formularz dodawania newsa.Tak mam.Tylko ze nad formularzem dodawania newsa widnieje formularz logowania(juz po zalogowaniu) i chce zrobic zeby po zalogowaniu ten formularz znikal (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%)
|
Sprawdziłeś wogóle co Ci napisałem (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Tu masz przykład [php:1:f36eadd63e]<?php if($_POST[login]!='ble' || $_POST[haslo]!='bla') { echo ' <form method="post" action="'.$_SERVER[PHP_SELF].'"> Login: <input type="text" name="login"/><br/> Hasło: <input type="text" name="haslo"/><br/> <input type="submit" value="zaloguj"/> </form>'; } elseif ($_POST[login]=='ble' && $_POST[haslo]=='bla') { echo 'inny formularz'; } ?>[/php:1:f36eadd63e] Jezeli podajesz dobre dane to znika formularz pierwszy a pojawia się drugi. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 24.02.2004 Ostrzeżenie: (0%)
|
tylko jak zrobic zeby dzialalo to + wyskakiwal txt gdy puste pole/pola i text gdy bledne haslo lub login
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%)
|
Cytat Sprawdziłeś wogóle co Ci napisałem (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Tu masz przykład [php:1:624f9859d5]<?php if($_POST[login]!='ble' || $_POST[haslo]!='bla') { echo ' <form method="post" action="'.$_SERVER[PHP_SELF].'"> Login: <input type="text" name="login"/><br/> Hasło: <input type="text" name="haslo"/><br/> <input type="submit" value="zaloguj"/> </form>'; } elseif ($_POST[login]=='ble' && $_POST[haslo]=='bla') { echo 'inny formularz'; } ?>[/php:1:624f9859d5] Jezeli podajesz dobre dane to znika formularz pierwszy a pojawia się drugi. ila razy trzeba powtarzac: $_POST[login] - NIE $_POST['login'] - TAK [php:1:624f9859d5]<?php if (!$_POST['login']) { echo ' <form method="post" action="'.$_SERVER[PHP_SELF].'"> Login: <input type="text" name="login"/><br/> Hasło: <input type="text" name="haslo"/><br/> <input type="submit" value="zaloguj"/> </form>'; } else { if (($_POST['login'] == "login") && ($_POST['haslo'] == "haslo")) { echo 'inny formularz'; } else { echo "zly login lub haslo"; } } ?>[/php:1:624f9859d5] |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%)
|
Oto jeden ze sposobów:
[php:1:b7110d65e9]<?php function form1() { echo ' <form method="post" action="'.$_SERVER[PHP_SELF].'"> Login: <input type="text" name="login"/><br/> Hasło: <input type="text" name="haslo"/><br/> <input type="submit" name="Submit" value="zaloguj"/> </form>'; } if($_POST['Submit'] && ($_POST['login']!='ble' || $_POST['haslo']!='bla')) { // Tutaj wpisujesz serie warunkow sprawdzajacych poprawnosc pól np. if(empty($_POST['login'])) echo 'Nie wypelniles pola login<br/>'; if(!empty($_POST['login']) && $_POST['login']!='login') { echo 'Podany login jest niepoprawny<br/>'; } // etc // na koncu wyswietlasz formularz form1(); } elseif(!$_POST['Submit']) { /* ten warunek jest spelniony na samym poczatku gdy nie zostal wyslany zaden formularz*/ form1(); } elseif ($_POST['login']=='ble' && $_POST['haslo']=='bla') { echo 'inny formularz'; } ?>[/php:1:b7110d65e9] To tylko przykłady 'tak na szybko'. Wszystko juz zalezy od Twojej wyobrazni. Jezeli polapanie w warunkach sprawdzajacych sprawia Ci klopot to... rozrysuj to sobie -> z pewnością pomoże (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%)
|
@Dawid - naucz sie uzywac tablic asocjacyjnych:
Cytat Co wolno, a czego nie w tablicach?
Dlaczego zapis $foo[bar] jest niepoprawny? W starych skryptach można spotkać taką składnię: $foo[bar] = 'coś'; echo $foo[bar]; // itd. Ten zapis jest niepoprawny, ale działa. Dlaczego zatem jest niepoprawny? Powód jest to, co opisano w rozdziale składnia, że pomiędzy nawiasami kwadratowymi ('[' i ']') musi znajdować się wyrażenie. Oznacza to, że można używać czegoś takiego: echo $arr[ foo(true) ]; Jest to przykład użycia wartości zwracanej przez funkcję jako indeksu tablicy. php zna też stałe, więc można spotkać zastosowanie E_*. $opis_błędu[E_ERROR] = "Wystąpił poważny błąd"; $opis_błędu[E_WARNING] = "php wysłało ostrzeżenie"; $opis_błędu[E_NOTICE] = "To jest tylko nieformalna uwaga"; Proszę pamiętać, że E_ERROR jest także ważnym identyfikatorem, tak jak bar w pierwszym przykładzie. Ale ostatni przykład znaczy to samo co: $opis_błędu[1] = "Wystąpił poważny błąd"; $opis_błędu[2] = "php wysłało ostrzeżenie"; $opis_błędu[8] = "To jest tylko nieformalna uwaga"; ponieważ E_ERROR znaczy to samo co 1, itd. W takiem razie, jak to możliwe, że $foo[bar] działa? To działa, ponieważ bar, zgodnie z jego zapisem powinien być stałą. Jednakże w tym przypadku nie instnieje stała o nazwie bar. php teraz zakłada, że masz na myśli bar literalnie, czyli jako łańucuch "bar", tylko że zapomniałeś napisać cudzysłowów. Więc dlaczego tak jest źle? Kiedyś w przyszłości grupa php może chcieć dodać jeszcze jedną stałą lub słowo kluczowe i wtedy będziesz miał kłopot. Dla przykładu, obecnie już nie można używać słów empty i default, gdyż są to specjalne słowa kluczowe. Poza tym, jeśli dotąd argumenty nie przekonują cię: ta składnia jest po prostu odrzucona i kiedyś może przestać działać. |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%)
|
@ Borec: No tak, wczesniej nie przykladalem do tego uwagi chociaz zawsze w moich projektach tablice zapisywalem dobrze.
Odpowiadając na posta robiłem to zbyt szybko i nawet nie brałem tego pod uwagę. Tak więc przepraszam osoby które mogłem przez to wprowadzić w błąd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 02:29 |