Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> logowanie - include()
invx
post
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


napisaem skrypt do logowania mniej wiecej najwazniejejsza jego czesc wyglada tak:

login.php
[php:1:984db7506e]<?php
if($_GET[mode] == spr)
{
if(!isset($_POST[login]))
{
echo"Nie masz dostępu do tego modułu";
}

else
{
mysql_connect("127.0.0.1", "root", "krasnal") or die ("nie mozna polaczyc sie z baza");
mysql_select_db(rcx) or die ("nie mozna wybrac bazy");

session_start();

if($_POST['submit'])
{
$wyszukaj = mysql_query("SELECT * FROM users WHERE login='$_POST[login]' AND haslo='$_POST[pass]'");
$wynik = mysql_num_rows($wyszukaj);

if(empty($_POST[login]))
{
echo "nie podano loginu<br>";
}

if(empty($_POST[pass]))
{
echo "nie podano hasla<br>";
}


elseif($wynik == 1)
{
$_SESSION['log'] = $login;
}

elseif(isset($_POST[login]) && $_POST[pass])
{
echo "Niepoprawne dane";
}
}

if($_SESSION['log'])
{
/*Wstwaic ID*/ echo "Witaj <b>".$_SESSION['log']."</b> na stronie !<br><a href='form_login.php?mode=a_profil&id=$id'>aktualizuj swuj profil</a><br><a href=login.php?mode=wyloguj>wyloguj</a>";
}
}
}


elseif($_GET[mode] == wyloguj)
{
session_start();
unset($_SESSION['log']);
echo"zostales wylogowany kliknij aby powrucic <a href=login.php>TUTAJ</a>";
}

else
{
echo"
<form action=logowanie/login.php?mode=spr method='POST'>
Login:
<input type='text' name='login'>
Hasło:
<input type='text' name='pass'>
<input type='submit' name='submit' value='Zaloguj'>
</form>
...
?>[/php:1:984db7506e]

plik ten includuje do pliku head.inc.php, nastepnie plik head.inc.php do index.php. i tu pojawia sie problem, a nawet dwa:
1. po includzie, login.php do head.inc.php, a potem do index.php, url'e zmieniaja mi sie jak by byly z poziomu pliku index.php, czy nie da sie tego uniknac?? (ale z tym sobie poradzilem, zmieniajac po prostu url'e )
2. w index.php pojawia mi sie jak powinien formularz do logowania z pliku login.php, i po kliknieciu na ZALOGUJ, chce zeby w razie zaogowania, formularz zmienilo, na info ze zalogowalo, a teraz zamienia mi cala strone... w czym popelniam blad (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
shima
post
Post #2





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

Ostrzeżenie: (0%)
-----


Cytat
8O to sie odnosi do pierwszego problemu czy drugiego, jak bys mogl janiej (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

@1: Jeżeli w index.php masz [php:1:23f1149328]<?php
include('katalog/plik.php')
?>[/php:1:23f1149328], a w plik.php znów dajesz include, to ścieżkę obliczasz z poziomu index.php, więc jeżeli ten drugi plik jest na tym samym poziomie co plik.php, to ścieżka nadal powinna być 'katalog/drugi.php' . Zawsze możesz zdefiniować sieżkę bazową i od niej obliczać ścieżkę do pliku. A nawet nie definiować. Dla informacji wywołaj sobie kod:
[php:1:23f1149328]<?php
print_r ($_SERVER);
?>[/php:1:23f1149328]
@2: To nie do końca rozumiem jak zmienia się strona, ale zastanów się, czy $_SESSION['log'] ma szansę być ustawiona. Może nie mam racji, ale przejrzałem kod pobieżnie. Uporządkuj go trochę, chyba sprawdzanie czy $_GET['mode'] jest równe spr i do tego czy ustawione jest $_POST['login'] to chyba o jedno za dużo. Po za tym sprawdzenie czy jesteś zalogowany nie ppowinno byc uzależnione od wypełnienia formularza.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 08:33