![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie. Mam taka funkcje:
[php:1:040d9dfeb2]<?php function login ($page_user, $page_pass) { if ($page_user != "" AND $page_pass != "") { $p_user = $_POST['page_user']; $ask = "SELECT * FROM sms_users WHERE user = '$p_user' "; $do = mysql_query($ask) or die("<P>Error: <b> " . mysql_error() . "n"); $num = mysql_numrows($do); if ($num == "1") { $pole = mysql_fetch_array($do); if ($pole[pass] == $page_pass) { session_register('page_user'); $page_user = $pole[user]; $loged = "in"; session_register('loged'); if ($pole[status] == "A") { $admin = "Y"; session_register('admin'); } $message .= "Zostałe¶ poprawnie zalogowany."; } else { $message .= "Wprowadzone hasło jest niepoprawne."; } } else { $message .= "Niema takiego użytkownika."; } } return; } ?>[/php:1:040d9dfeb2] Zastanawiam sie dlaczego po wywolaniu jej w sposob: [php:1:040d9dfeb2]<?php login($page_user, $page_pass) ?>[/php:1:040d9dfeb2] Funkcja nie chce dzialac. Nie rejestruje zmiennych w sesji. Dlaczego? Z gory dzieki za pomoc. TRACK |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
session_register rejestruje zmienne globalne, wiec:
moze dodac na poczatku [php:1:e516b2bd4e]<?php global $page_user, $loged, $admin; ?>[/php:1:e516b2bd4e] albo odwoluj sie do zmiennych przez $GLOBALS['loged'], itp.. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
No właśnie: używaj tablicy $_SESSION i na początku (najlepiej skryptu) daj session_start().
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dodalem na poczatku (przed wywolaniem funkcji) linijke:
global $page_user, $page_pass, $admin, $status, $loged; i caly czas nie dziala. Dlaczego? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 9.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Witam serdecznie. Mam taka funkcje:
[php:1:7b3f80ec05]<?php global $page_user, $page_pass, $admin, $status, $loged; // zle !! function login ($page_user, $page_pass) { global $page_user, $page_pass, $admin, $status, $loged; // ok if ($page_user != "" AND $page_pass != "") { $p_user = $_POST['page_user']; $ask = "SELECT * FROM sms_users WHERE user = '$p_user' "; $do = mysql_query($ask) or die("<P>Error: <b> " . mysql_error() . "n"); $num = mysql_numrows($do); if ($num == "1") { $pole = mysql_fetch_array($do); if ($pole[pass] == $page_pass) { session_register('page_user'); $page_user = $pole[user]; $loged = "in"; session_register('loged'); if ($pole[status] == "A") { $admin = "Y"; session_register('admin'); } $message .= "Zostałe¶ poprawnie zalogowany."; } else { $message .= "Wprowadzone hasło jest niepoprawne."; } } else { $message .= "Niema takiego użytkownika."; } } return; } ?>[/php:1:7b3f80ec05] Zastanawiam sie dlaczego po wywolaniu jej w sposob: [php:1:7b3f80ec05]<?php login($page_user, $page_pass) ?>[/php:1:7b3f80ec05] Funkcja nie chce dzialac. Nie rejestruje zmiennych w sesji. Dlaczego? Z gory dzieki za pomoc. TRACK |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
No ok.... a gdzie jakas wskazowka?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No ok.... a gdzie jakas wskazowka?
Gościu popatrz w Kod php ! Cytat <?php
global $page_user, $page_pass, $admin, $status, $loged; // zle !! function login ($page_user, $page_pass) { global $page_user, $page_pass, $admin, $status, $loged; // ok if ($page_user != "" AND $page_pass != "") { $p_user = $_POST['page_user']; $ask = "SELECT * FROM sms_users WHERE user = '$p_user' "; |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam. Niedopatrzenie.
Zrobilem tak i niestety problem pozostal. Ciagle nie dziala. Przedstawie problem moze jeszcze raz: funkcja: [php:1:6cea765a27]<?php function login ($page_user, $page_pass) { global $page_user, $page_pass, $admin, $status, $loged; if ($page_user != "" AND $page_pass != "") { $p_user = $_POST['page_user']; $ask = "SELECT * FROM sms_users WHERE user = '$p_user' "; $do = mysql_query($ask) or die("<P>Error: <b> " . mysql_error() . "n"); $num = mysql_numrows($do); if ($num == "1") { $pole = mysql_fetch_array($do); if ($pole[pass] == $page_pass) { $page_user = $pole[user]; session_register('page_user'); $loged = "in"; session_register('loged'); if ($pole[status] == "A") { $admin = "Y"; session_register('admin'); } $message .= "Zostałe¶ poprawnie zalogowany."; } else { $message .= "Wprowadzone hasło jest niepoprawne."; } } else { $message .= "Niema takiego użytkownika."; } } return; } ?>[/php:1:6cea765a27] I oto plik w ktorym funkcja jest uzywana: [php:1:6cea765a27]<?php if($_POST[page_user] != "" && $_POST[page_pass] != "") { echo "Login i hasło zostały podane.<p>"; } login($_POST[page_user], $_POST[page_pass]); if ($_SESSION[admin] == "Y") { $ask = "UPDATE sms_prasa_komentarze SET active = 'Y' WHERE id = '$_SESSION[com]'"; $do = mysql_query($ask) or die("<P>Error: <b> " . mysql_error() . "n"); echo "Komentarz został aktywowany."; echo "<p>"; echo "<img src=pliki/arrow_left.gif bordr=0> <a href=index.php?id=prasa>powrót</a>"; } else { echo "<center>"; echo "Numer komentarza: $_SESSION[com] <br>"; echo "Aktywacji dokonać może tylko administrator. Proszę się zalogować."; echo "<form action=index.php?id=prasa&action=active_com method=post>"; echo "<table border=0 cellpadding=0 cellspacing=0 style='font-size: 11' align=center>"; echo "<tr><td align=center>Login:</td></tr>"; echo "<tr><td align=center><input type=text name=page_user size=12></td></tr>"; echo "<tr><td align=center>Hasło:</td></tr>"; echo "<tr><td align=center><input type=password name=page_pass size=12></td></tr>"; echo "<tr><td align=center><input type=submit value='Loguj' class=input_button></td></tr>"; echo "</table>"; echo "</form>"; echo "</center>"; } ?>[/php:1:6cea765a27] i nie dziala. Wydaje mi sie, ze wszystko jest dobrze, ale moglem cos przeoczyc. Pozdrawiam |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
a session_start() (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
session_start() jest w pliku idex.php do ktorego sa wrzucane wszystkie skrypty itd.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zauwaz, ze zmienne $page_user, $page_pass wystepuja zarowno jako paramert funkcji, jak i globale - a to niedobrze, wiec zmien im nazwy.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzieki. Pomoglo.
Pozdrawiam... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:26 |