Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP i MySql] Szybki start
julia
post 2.07.2003, 08:32:45
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


Witam wszystkich
Przeczytałam uważnie regulamin i przestudiowałam forum, po czym zdecydowałam się umieścić post.
Zdaję sobie sprawę, że zapewne mnie odeślecie do manuala itp. ale nim to zrobicie spróbujcie mi pomóc.
Sprawa dotyczy mojego damskiego honoru, a wszystko zaczęło się od utarczki z moim kolegą z pracy (informatykiem). Nosi nos wyżej chmur i myśli, że pozjadał wszystkie rozumy. Stanęło na tym, że mam tydzień czasu na to by mu udowodnić, że jestem w stanie przyswoić sobie "tajemną wiedzę" jego ukochanej dziedziny. no i dał mi za zadanie napisać w php "skrypt logujący do jego bazy". powiedział mi, że poda mi wszystkie dane jakie będę potrzebowała (chyba chodzi mu o nazwę serwera, bazy i tabeli z hasłami i userami - bo tyle doczytałam na forum a na pewno wiem, że zainstalowane są Windowsy 2000, Apache php i MySql)
Nie proszę Was o napisanie skryptu, chodzi mi o to, byście w prostych, zwięzłych słowach podali mi punkty które muszę spełnić, by napisać krypt i żeby on zadziałał.
O informatyce i programowaniu nie wiem kompletnie nic, w moim zawodzie jest to kompletnie niepotrzebne, więc jeżeli ktoś się zgodzi udzielić mi pomocy, to musi pamiętać o tym, że posługiwanie się skrótami oraz terminologią wyjętą żywcem z manuala może stanowić dla mnie bełkot, tak samo odsyłanie mnie do żródeł anglojęzycznych nie do końca ma sens.

Z góry dziękuję, za ewentualne chęci pomocy w imieniu swoim i zapewne innych, którzy stają przed podobnymi problemami

(nota bene - w jednym z postów czytałam propozycji utworzenia działu dla zupełnie zielonych (lame ?) i uważam, że to świetny pomysł stwożyć coś na kształt żłobka. Osobom, które chcą dołączyć do grona ludzi parających się programowaniem znacznie ułatwiłoby to życie.

Julia

P.S.
Sprawa jest o tyle poważna, że usłyszałam, że jstem tak głupia, że nawet stripteasu nie potrafiłabym zrobić, no i stanął zakład, będzie to stripteas mój albo naszego informatyka !!!
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Project
post 2.07.2003, 08:44:45
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 2.04.2003
Skąd: Poznań

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


he he ale fajnie!
szczerze mowiac to chetnie zobaczyl bym ten twoj stripteas smile.gif
A tak na powaznie to mozesz sprobowac zajrzec na strone hotscripts.com
Tam w dziale php sa juz gotowe skrypty logowania oparte na bazach danych.
moze okazac sie ze wcalnie nie bedziesz musiala pisac tego od nowa tylko lekko zmodyfikowac smile.gif

W razie czego napewno znajdziesz tu zyczliwych ludzi chetnych do pomocy smile.gif (miedzy innymi mnie - mam dzisiaj dzien wolny od pracy)

POZDRAWIAM
Go to the top of the page
+Quote Post
kwiateek
post 2.07.2003, 08:53:40
Post #3





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 13.01.2003
Skąd: 3rd ball of mud behind a big ball of burning gas

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


Dowiedz sie jaka jest struktura tabeli z uzytkownikami ktora bedziesz wykorzystywala przy logowaniu. Chodzi o konkretnie o to czy hasla sa zaszyfrowane czy tez nie.
Ponizej przedstawiam przykladowy plik html.

login.html
Kod
<form ACTION="login.php">

    Login:  <input TYPE="text" name="login"><BR>

    Haslo:  <input TYPE="password" name="haslo"><BR><BR>

    <input TYPE="submit" name="loguj" value="Zaloguj">  

</FORM>

Teraz bedzie tylko trzeba stworzyc plik login.php na podstawie dostarczonych przez Ciebie danych.


--------------------
It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?>
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 09:11:16
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


Dziękuję, za link, znalazłam mnóstwo skryptów, ale chyba nie o to mi chodziło. (Nie mówiąc o tym, że opisy są po angielsku sad.gif )
Ja muszę go napisać sama, analizowanie tamtych nie na wiele mi się w tej chwili przyda, bo jak na razie nie rozumiem o co w nich chodzi. Liczę na to, że za pomocą tego forum zrozumiem i będę potrafiła sama zastosować swoją wiedzę nie tylko posługując się "ctr-c" i "ctrl-v".
Niech nasz informatyk sobie tworzy, kopiując wszystko co mu potrzebne, ale w końcu to żadna wiedza, a jedynie umiejętność smile.gif
Wiem, że marudzę .... sad.gif
Może więc powiem, do czego doszłam sama:

1) muszę mieć plik index.htm
2) w nim odwołanie do pliku nazwa.php
3) w nazwa.php powinien być wpis:
- łączący z mysql i bazą
- tworzący pole do wprowadzenia loginu i hasła
- sprawdzający, czy istnieje w bazie login i czy hasło wprowadzone jest takie samo jak odpowiadające loginowi zawarte w bazie
-rozłączający w przypadku błędnych danych
- wykonujący kolejne zadanie w przypadku prawidłowych danych (w moim przypadku ma otworzyć kolejną stronę html)

I tu ma się moja praca zakończyć ( niewiele tego, ale dla mnie to ogromna góra)
Czy to co napisałam to poprawny sposób rozumowania ? Może o czymś zapomniałam ?

PS.
te skrypty, które przejrzałam, to w większości jakieś zaawansowane maszyny, a dla mnie potrzeba tylko faktu zalogowania, bez żadnych zabezpieczeń, i innych wodotrysków. No i muszę to zrobić sama (umieć zrobić, czyli rozumieć to co robię)

Julia
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 09:15:15
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


biggrin.gif
Struktura jest prosta, jedna tabela, dwa pola: login i user, żadnych szyfrów. To miało być zadanie dla "blondynki"

skrypcik html zaraz sobie spróbuję przeanalizować< a potem zapytam< czy dobrze pojęłam
Go to the top of the page
+Quote Post
Project
post 2.07.2003, 09:16:21
Post #6





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 2.04.2003
Skąd: Poznań

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


no to ten plik index.html masz juz napisany (podziekuj kwiatkowi) smile.gif
W pliku nazwa.php musisz:
1) nawiazac polaczenie z baza danych (musisz znac rodzaj bazy danych)
2) Wybrac baze
3) Wykonac zapytanie
4) Odebrac wyniki
5) Zinterpretowac wyniki i wyswietlic cos uzytkownikowi (zalogowany lub blad logowania)

i to na tyle (tak w skrocie)

POZDRAWIAM
Go to the top of the page
+Quote Post
DeyV
post 2.07.2003, 09:35:13
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




A ja powiem tyle: Julio - jak na razie idzie Ci świetnie.
Mało kto, po paru godzinach spędzonych na studiowaniu tegoż forum, bez żadnych podstaw programowania potrafiłby stworzyć choćby fragment scenariusza, któy podałać. Tym bardziej, że jest w pełni poprawny.

Teraz spróbuję pokazać Ci, jak to działa.
Jak już wiesz, tworzysz plik html, który musi zawierać pola do wpisywania danych. Dane te, po naciśnięciu przycisku wyśłij bedą musiały 'pójść' do pliku nazwa.php, i tam coś z nimi musimy zrobić.
Być możę już do tego doszłaś, (jesli tak to sorki winksmiley.jpg ) ale do tego by to działało, potrzebne jest dokładnie to, co napisał kwiatek.
Tylko treraz o co tam chodziło....
<form ACTION="nazwa.php"> - to ujest początek naszego formularza, (choć to wcale nie oznacza, ze początek strony html, nic nie stoi na przeszkodzie, by przed nim dodać jeszcze jakieś napisy itp, ale to już pokaże ci później.
Login: <input TYPE="text" name="login"> pole pierwsze, o nazwie login, (co oznacza, że do pliku php 'pójdzie' zmienna o nazwie 'login'
<BR> - znak przejścia do nowej lini - ma znaczenie tylko dla wyglądu
Haslo: <input TYPE="password" name="haslo"> - podpis i nazwa pola drugiego, o nazwie 'hasło'. Możę już zauważyłaś, że różni się ono odrobinę od pola wyżej, mówię dokładnie o fragmencie type="password" . Oznacza on, ze w trakcie wpisywania jakichkolwiek danych do tego pola, nie bedą one widoczne na stronie, (zobaczymy gwiazdki)
<input TYPE="submit" name="loguj" value="Zaloguj"> - przycisk, który należy nacisnąć, po podaniu danych
</FORM> - koniec naszego formularza, który jednak nie oznacza wcale końca strony


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
members_of_mayda...
post 2.07.2003, 09:44:57
Post #8





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 17.06.2003
Skąd: Niemcy / Siemianowice

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


a może to :

plik add.html ten plik słurzy do dodawania użytkowników do bazy
Kod
<FORM METHOD="post" ACTION="add.php">





<P><STRONG>Login:</STRONG><BR>

<INPUT TYPE="text" NAME="username" SIZE=25 MAXLENGTH=25></p>



<P><STRONG>Hasło:</STRONG><BR>

<INPUT TYPE="text" NAME="password" SIZE=25 MAXLENGTH=25></p>





<P><INPUT TYPE="SUBMIT" NAME="submit" VALUE=" dodaj >> "></P>





</FORM>




plik loguj.html ten plik słurzy do dodawania logowania itp
Kod
<FORM METHOD="post" ACTION="loguj.php">



<P><STRONG>Login:</STRONG><BR>

<INPUT TYPE="text" NAME="username" SIZE=25 MAXLENGTH=25></p>



<P><STRONG>Hasło:</STRONG><BR>

<INPUT TYPE="text" NAME="password" SIZE=25 MAXLENGTH=25></p>





<P><INPUT TYPE="SUBMIT" NAME="submit" VALUE="Login"></P>





</FORM>


plik loguj.php dzieki niemu sie logujemy sprawdzamy błedy itp

[php:1:21fe34e288]

<?

if ((!$username) || (!$password)) {
header("index.html");
exit;
}


$db_name = "nazwa bazy";
$table_name = "nazwa tabeli";

$connection = @mysql_connect("host", "nazwa usera", "haslo")
or die("brak polaczenia.");

$db = mysql_select_db($db_name, $connection)
or die("brak polaczenia.");

$sql = "SELECT * FROM $table_name
WHERE username = "$username" AND password = password("$password")
";

$result = mysql_query($sql)
or die ("brak polaczenia.");

$num = mysql_numrows($result);

if ($num != 0) {

$msg = "<P>Witaj jestes autoryzowany!</p>";

} else {

header("Location: index.html");
exit;
}




echo "$msg";


?>[/php:1:21fe34e288]

plik add.php dodajemy do bazy
[php:1:21fe34e288]<?php


if ((!$username) || (!$password)) {
header("Location: add.html");
exit;
}

$db_name = "nazwa bazy";
$table_name = "bazwa tabeli";

$connection = @mysql_connect("host", "user", "haslo")
or die("brak polaczenia.");

$db = mysql_select_db($db_name, $connection)
or die("brak polaczenia.");

$sql = "INSERT INTO $table_name
(username, password)
VALUES
("$username",password("$password"))
";

$result = mysql_query($sql,$connection)
or die("brak polaczenia.");


<br><br>Uzytkownik dodany.
<P><a href="add.html">dadaj innego</a></p>

</BODY>
</HTML>

?>[/php:1:21fe34e288]

to tyle powinno zadzialac


--------------------
pozdrawiam :)
Go to the top of the page
+Quote Post
uboottd
post 2.07.2003, 09:58:09
Post #9





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


"... a teraz pan uwazaj, bedzie trudne: do metalu"...

Wiec po kolei plik login.php:

Kod
<?php


Kazdy plik jest przekazywany przez serwer www do klienta tak jak jest zapisany w pliku, chyba ze zaznaczymy ze w tym miejscu zaczyna sie kod phpowy (wlasnie takim zapisem) wtedy zostanie uruchomiony interpreter php-a, i dalej do przegladarki bedzie przekazywane dokladnie to co wytworzy nasz skrypt.

Kod
$login = $_GET['login'];

$password = $_GET['password'];


W phpie nazwy wszystkich zmiennych zaczynaja sie od znaku $. Zmienne pochodzace z plikow ktore nas wywolaly (jak ten html od kwiatka) dostajemy w tablicy nazwanej _GET lub _POST w zaleznosci od uzytej metody przekazywania zmiennych, kwiatek jej nie podal wiec domyslnie jest w _GET. Tablica to taki worek z wartosciami, gdzie kazda wartosc ma jeszcze hmmm powiedzmy nazwe. w naszym przypadku interesuja nas wartosc dla login i password, i je przepisujemy sobie dla wygody do naszych zmiennych.

Kod
mysql_connect('nazwa serwera z baza','nazwa uzytkownika','haslo');


Teraz nawiazujemy polaczenie z baza danych przygotowana przez tego informatyka. Wszystko co wyglada mniej wiecej jak jakis wyraz z nawiasem otwierajacym zaraz za nim czyms w srodku i nawiasem zamykajacym jest wywolaniem funkcji, w nawiasach podane sa argumenty tej fukcji rozdzielone przecinkami. Jesli chcemy podac jakis tekst to musimy to zaznaczyc zamykajac go albo w cydzyslowie albo w apostrofach. Oczywiscie zastap podane przeze mnie teksty wlasciwymi ktore ma ci podac ten informatyk.

Kod
mysql_select_db('nazwa bazy');


Na podanym serwerze bazodanym na pewno istnieje wiele roznych baz danych, nam chodzi o pewna szczegolna, wiec tutaj podajemy ja nazwe. Od tej pory wszystkie zapytania beda kierowane wlasnie do niej.

Kod
$res = mysql_query("select login from tabela where login='$login' and password='$password'");


Tu dwie nowe rzeczy:
1. Zwykle funkcja zwraca jakas wartosc, czasem jej pozniej potzrebujemy, czasem nie. W tym przypadku potrzebujemy, wiec to co zwroca nam funckja mysql_query zapisujemy sobie w zmiennej $res
2. argumentem funkcji mysql_query jest zapytanie do bazy danych, ktore powinno nam wyciagnac dane o ktore nam chodzi. Zyjac w swiece mysqla mamy tak: Baza danych (wybrana juz przez nas w poprzednim punkcie) sklada sie z pewnej liczby tabel. Tutaj zalozylem ze ta o ktora nam chodzi nazywa sie 'tabela', jesli jest inaczej to zmien. kazda tabela sklada sie z column ktore maja swoje nazwy i wiersze ktore zawieraja dane w tych kolumnach. Wpisane przeze mnie zapytanie mozna przetlumaczyc mniej wiecej tak:
SELECT login (PODAJ nam zawartosc kolumny o nazwie login) FROM tabela (Z tabeli o nazwie tabela) WHERE login='$login' and password='$password' (Z TYCH WIERSZY dla ktorych zachodzi warunek ze w kolumnie login jest taka sama zawartosc co w zmiennej $login i jednoczesnie w kolumnie password jest taka sama zawartosc jak w zmiennej $password)
Wiec jesli podamy login i password ktore sa w tej tabeli to dostaniemy wiersz w ktorym one sa wpisane, jesli nie to dostaniemy wynik pusty.

Kod
$jest = mysql_num_rows($res);


Tutaj sprawdzamy ile wierszy nam zwrocilo to zapytanie ktore chcwile temu zapodalismy do bazy i:

Kod
if ($jest>0)

  print "Witamy w systemien";

else

  print "Brak dostepun";


instrukcja warunkowa if sprawdzamy czy warunek $jest>0 jest spelniony czy nie. print "tekst" wysyla nam tekst do przegladarki. Wiec jesli zapytanie do bazy zwrocilo nam jakies wiersze (nie interesuje nas w zasadzie jakie, tylko czy w ogole jakies byly) to oznacza ze podana para login/password jest zapisana w tej tabeli wiec wypisujemy powitanie. w przeciwnym przypadku (czyli jak warunek jest nie spelniony) wykonuj sie instrukcja zapisana po slowie else, w naszym przypadku print "brak dostepu"

Kod
?>


Pozostalo nam jeszcze tylko zakonczyc skrypt i juz.

PS. Wzielas pod uwage ze ten Twoj informatyk moze czytac to forum ? smile.gif

PS2. http://pl.php.net - wiekszosc manuala jest juz spolszczona

PS3. member_of_costam: troche przekombinowales winksmiley.jpg
Go to the top of the page
+Quote Post
members_of_mayda...
post 2.07.2003, 10:04:47
Post #10





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 17.06.2003
Skąd: Niemcy / Siemianowice

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


czemu
tak jak byś niewiedział

members of mayday = imreza techno


--------------------
pozdrawiam :)
Go to the top of the page
+Quote Post
DeyV
post 2.07.2003, 10:07:28
Post #11





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




a teraz dalej - tu już zaczyna sie prawdziwy kod php. to brzmi dumnie, choć wcale nie jest trudniejsze od html. Tylko nie zapomnij, by ostatecznie usunąć komentarze z pliku, bo by się ten informatyk zdziwił smile.gif
[php:1:a8b1c7c41d]<?php //zaczynamy kod php
// ps. wszystko napisane tym kolorkiem to komentarze //

## konfiguracja połącznia z bazą danych
## ! przy wprowadzaniu danych pamiętaj, by pomiedzy " " nie było zbednych spacji ! ##
$user = "nazwa użytkownika"; //pomiędzy " " podajesz nazwę użytkownika bazy danych (musisz otrzmać ją od informatyka
$hasło = "hasło do bazy";
$nazwa_bazy = "nazwa_bazy";
$host = "localhost"; //adres komputera, na którym jest MySQL (najczęściej właśnie localhost

## łączymy sie z MySQL ##
mysql_connect($host,$user,$haslo) or die('brak połaczenia z bazą danych');
## wybieramy bazę danych ##
mysql_select_db($nazwa_bazy) or or die('NIe mogę wybrać bazy danych');

?>[/php:1:a8b1c7c41d]
koledzy nieco mnie wyprzedzili.... Ale nie bedę tego kasował... Może też się przyda


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
uboottd
post 2.07.2003, 10:38:25
Post #12





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Cytat
czemu

Bo dales kawal grzyba bez zadnego komentarza winksmiley.jpg

Cytat
tak jak byś niewiedział

members of mayday = imreza techno

YUCK!
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 13:08:36
Post #13





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


Spóźniona odpowiedź, bo musiałam się zająć swoimi zawodowymi obowiązkami.

Dziękuję wam wszystkim smile.gif

Nie spodziewałam się takiego odzewu, a o napisaniu przez Was skryptów, to nawet nie marzyłam. Teraz pozostanie mi tylko przyswoić sobie zasady działania tego co napisaliście, (czyli przełożyć z polskaiego na nasze hihihi) i już będę mogła samodzielnie spłodzić skrypcik.


Cytat
PS. Wzielas pod uwage ze ten Twoj informatyk moze czytac to forum ?  


Niech sobie czyta, w końcu wiedzę trzeba gdzieś zdobywać, no nie questionmark.gif Tym bardziej, że nie mam zamiaru kopiować waszych dzieł, tylko napisać samodzielnie (ze zrozumieniem tego co piszę - bo może się mnie zapytać jakie działanie ma dowolny fragment)

Cytat
... a teraz pan uwazaj, bedzie trudne: do metalu"...

smile.gif świetny kawał, jak go usłyszałam po raz pierwszy, to aż się popłakałam ze śmiechu

Cytat
A ja powiem tyle: Julio - jak na razie idzie Ci świetnie.  
Mało kto, po paru godzinach spędzonych na studiowaniu tegoż forum, bez żadnych podstaw programowania potrafiłby stworzyć choćby fragment scenariusza, któy podałać. Tym bardziej, że jest w pełni poprawny.


Dziękuję za uznanie, a co do tego forum, to chyba zostanę tu na dłużej, powoli zaczyna mi się podobać zabawa klawiszkami i logiką , a szef powiedział, że jak wykonam zadanie, to zrówna moją pensję z pensją informatyka, (zawsze to parę groszy więcej)

... !!! ... Noooo !!! .... wrzuciło mi ten post pomiędzy inne !!
hihihih ... już wiem dlaczego biggrin.gif :oops:
Go to the top of the page
+Quote Post
scanner
post 2.07.2003, 13:12:51
Post #14





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
Dziękuję za uznanie, a co do tego forum, to chyba zostanę tu na dłużej, powoli zaczyna mi się podobać zabawa klawiszkami i logiką , a szef powiedział, że jak wykonam zadanie, to zrówna moją pensję z pensją informatyka, (zawsze to parę groszy więcej)


Miło będzie zobaczyć kolejna damska twarz w naszym towarzystwie.
A swoją drogą zazdroszczę szefa. gdybym mial takiego, to moze sam bym spokojnie robil to co moj "informatyk", ktory kiedys chcial odemnie (WinNT) skopiowac kernel32.dll na inny komputer (win95), bo jakis blad tam wywalalo...


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
DeyV
post 2.07.2003, 13:27:36
Post #15





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Przy takim nastawieniu widzę, że czeka Was bardzo nieprzyjemne przeżycie...
Oglądanie stripteas'u zszokowanego informatyka... laugh.gif rolleyes.gif biggrin.gif


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 13:29:42
Post #16





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


fajna będzie widownia, siedem bab i dwudziestu dwu chłopa wraz z szefem (a on mu nie popuści gdyby się chciał wycofać )
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 17:40:36
Post #17





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


Cytat
 
[php:1:8a1d2452c6]
<?php
$res = mysql_query("select login from tabela where login='$login' and password='$password'");
?>
[/php:1:8a1d2452c6]

o ile dobrze rozumiem, to: skoro tabela stworzona dla mnie nazywa się "julia" i składa się z dwóch pól - "User" oraz "ID", gdzie ID ma stanowić hasło i jest auto_incerment (autonumeracja rosnąco ?) oznacza to, że powinnam zapisać powyższe w sposób następujący:

[php:1:8a1d2452c6]
<?php
$res = mysql_query("select login from julia where login='$User' and password='$ID'");
?>
[/php:1:8a1d2452c6]

Muszę niestety ćwiczyć "na sucho", bez dostępu do serwera i krorzystam z edytora na tutejszym forum aby sprawdzać składnię, bo notepad nie koloruje tekstu. (szkoda, edytor forum że nie numeruje wierszy : ))
Jeszcze byłoby fajnie wiedzieć jak interpretować kolory, ale do tego powoli dojdę sama
Go to the top of the page
+Quote Post
DeyV
post 2.07.2003, 18:20:10
Post #18





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Niestety, muszę zwrócić uwagę na pewny błąd w założeniu.
Zazwyczaj prosta struktra tabeli użytkowników wyglaa tak:
id | nazwa | hasło
dzięki temu każdy użytkownik może mieć dowlnie hasło - nadawanie hasła metodą autoincrement chyba nie byłoby zbyt rozsądne, bo na ile było by bezpieczne hasło 3, albo 4?

Co do edytorków - polecam Edit + http://www.editplus.com/download.html , jest wersja trial, bardzo miły programik, i świetnie koloruje.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
julia
post 2.07.2003, 19:47:27
Post #19





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.07.2003

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


Cytat
Zazwyczaj prosta struktra tabeli użytkowników wyglaa tak:  
id | nazwa | hasło  
dzięki temu każdy użytkownik może mieć dowlnie hasło - nadawanie hasła metodą autoincrement chyba nie byłoby zbyt rozsądne, bo na ile było by bezpieczne hasło 3, albo 4?


Cóż, myślę, że nie chciało się informatykowi wstukiwać kolejnego pola, a ponieważ to tylko dla zakładu, więc względy bezpieczeństwa nie mają znaczenia.

Tymczasem dorwałam się do serwera, skorzystałam z okazji aby sprawdzić Wasze podpowiedzi, rezultat dość dziwny. Otóz, kiedy skrypt logowania wygląda tak:

[php:1:1a99d2a4ae]<?php
$user = $_GET["Login"];
$ID = $_GET["Haslo"];
$connection = mysql_connect("localhost", "admin", "");
$db = mysql_select_db("localbase", $connection);
$szukane = mysql_query("select * from julia where user='$user'and ID='$ID'");
$wynik = mysql_num_rows($szukane);
if ($wynik>0)

print "Zalogowanyn";
else
print "Loguj ponownien";
?>[/php:1:1a99d2a4ae]
to niezależnie od tego czy wpiszę dane istniejące w bazie, czy nie, logowanie jest odrzucone
jeżeli zmodyfikuję linię:
[php:1:1a99d2a4ae]<?php
$szukane = mysql_query("select * from julia where user='$user'");
?>[/php:1:1a99d2a4ae]
to nie ma znaczenia co wpiszę, i czy w ogóle coś wpiszę tak czy tak jestem zalogowana. Pomieszałam coś questionmark.gif
Idę grzebać w manualu (chyba od mysql'a)
Go to the top of the page
+Quote Post
uboottd
post 2.07.2003, 20:36:35
Post #20





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Moze troszeczke. Nikt ci nie powiedzial ze wielkosc liter w nazwach zmiennych gra role, tak wiec $user = $_GET['login'] i $user = $_GET['Login'] to nie jest to samo. Uzyj w dokladnie takiej pisowni jaka uzylas w pliku z formularzem.

Na podstawie objawow mam nastepujace przypuszczenie: w bazie jest wiersz w ktorym jest jakies ID i pusty ciag jako nazwa uzytkownika. Mozesz dla sprawdzenia wlozyc na chwile takie dwie linijki:

Kod
$row = mysql_fetch_array($szukane);

print_r($row);

zaraz po
Kod
$szukane = mysql_query("select * from julia where user='$user' and ID='$ID'");


pierwsza linijka pobierze pierwszy z brzegu wiersz zworocony przez zapytanie, natomiast funkcja uzyta w drugiej linijce sluzy do wypisywania wszytkich informacji o zmiennej podanej jako argument. W tym przypadku powinna ci napisac ze jest to tablica i poda jej zawartosc na stronce ktora tworzysz - oczywiscie jak juz zobaczysz o co chodzi po prostu usun te linijki. Wynik moze miec postac np:
Kod
Array ( [user] => test [ID] => 65 )

i to juz powinno ci wyjasnic co za kwiatki masz w bazie.

PS. Musze przyznac ze ambicji Ci nie brakuje winksmiley.jpg

PS2. Scenka bedzie musiala byc niezla: zszokowany zaambarasowany informatyk rozbierajacy sie na stole (bo chyba scene mu przygotujecie ?) a na widowni siedem piszczacych bab, 22 zawiedzionych chlopa i szef z szerokim usmiechem na twarzy popedzajacy delikwenta winksmiley.jpg Tylko moze powstrzymajcie przed wtykaniem mu banknotow za gumke bo na to nie zasluzyl winksmiley.jpg
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 22:58