![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
witam
zrobiłem sobie wkońcu rejestracje użytkowników. Sam bez pomocy internetu itd. i oto co mi wyszło[php:1:8e22e61f8b]<?php mysql_connect('localhost','root','krasnal'); mysql_select_db('test'); $user=$HTTP_POST_VARS['user']; $haslo=$HTTP_POST_VARS['haslo']; $mail=$HTTP_POST_VARS['mail']; $miasto=$HTTP_POST_VARS['miasto']; $sql="SELECT * FROM user;"; $wynik=mysql_query($sql)or die('blad'); while($row = mysql_fetch_row($wynik)){ $user1=$row[1]; $haslo1=$row[2]; $mail1=$row[4]; } if ($user==$user1 ){ echo "podany nick , istnieje w naszej bazie danych!"; }elseif($mail==$mail1){ echo "Podany mail istnieje w bazie danych"; }elseif(!($user||$haslo||$mail)){ echo "Wypełnij wszystkie pola"; }else{ $sql1= "INSERT INTO user ( `id` , `user` , `haslo` , `level`,`mail`,`miasto`,`data_przylaczenia` ) VALUES ( '', '$user', MD5( '".$haslo."' ),'0','$mail','$miasto',now() );"; $wynik1=mysql_query($sql1)or die(mysql_error()); echo ":-)"; } ?>[/php:1:8e22e61f8b] Wszystko działe, ale powiedzcie co ewentualnie jest zle lub co dodać?? dzięki z góry -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 120 Pomógł: 0 Dołączył: 29.11.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
co jest zle? jak dziala to znaczy ze wszystko jest dobrze...
co dodac? to juz zalezy od inwencji tworczej autora ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
no chciałem sie dowiedzieć jak to wygląda w swietle takich profesjonalnych systemów rejestracjii
![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 120 Pomógł: 0 Dołączył: 29.11.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
jesli o to ci chodzi
![]() to dodaj jeszcze ostatnio zalogowal sie: pokombinuj z aktywacja konta przez mail co wiecej... to juz zalezy od potrzeb serwisu na ktorym to chcesz wykorzystac... jezeli na kilku roznych to ma byc uzywane to skonstruuj to tak zeby latwo mozna bylo edytowac skrypt (dodawajac lub usuwajac nie potrzebne informacje np. miasto) |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Przeniesione z: Hydepark.
Linie 5-8: - Lepiej $_POST[] - Linijka jest zbędna - przecież możesz się bezpośrfednio tablicami superglobalnymi posługiwać. Linia 10: niepotrzebue wybierasz wszystko z bazy: [sql:1:a150fb6072]SELECT COUNT(*) FROM user WHERE user=$_POST['user'][/sql:1:a150fb6072]I sprawdzasz, czy wynik jest równy 0 - jeśli tak, znaczy, że nie ma takiego loginu w bazie. Linie20 - 26: Warunki nie mają prawa prawidłowo działać, jako, że dotyczą ostatniego pobranego z bazy rekordu. Polecam login i hasło potraktowac przez trim() na samym początku. Zapobiegnie to stworzeniu konta " " z hasłem " ". Pozatym skrypt jest napisany dość brzydko - jeśli chodzi o sam sposób kodowania. Polecam uwadze: isset(), empty(); Cytat (dodawajac lub usuwajac nie potrzebne informacje np. miasto) Podczas rejestracji niezbędne dane to: Login, hasło, email, data rejestracji, stan konta (aktywne, nieaktywne, ban) i data aktywacji. Reszta danych powinna byc w module Profil a nie Rejestracja.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Tak jak mówiłem robiłem to z głowy
![]() co do lini 20-26 to rozumiem ze ma być [php:1:7d2b81d241]<?php if ($user=0) if($mail=0) ?>[/php:1:7d2b81d241] ![]() czy moze moge to potraktować tak: [php:1:7d2b81d241]<?php if($user>0)//taki uzytkownik juz istnieje(mysql_num_row??) ?>[/php:1:7d2b81d241] A do zrobienia profilu jeszcze trosszke skill musi mi podrosnąć, narazie myśle jak zrobić galerie zdjęć i powiązać właśnie usera z danym zdjęciem/ami ![]() ![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat co do lini 20-26
[php:1:83cb173d2a]<?php
to rozumiem ze ma być [php:1:83cb173d2a]<?php if ($user=0) if($mail=0) ?>[/php:1:83cb173d2a] ![]() czy moze moge to potraktować tak: [php:1:83cb173d2a]<?php if($user>0)//taki uzytkownik juz istnieje(mysql_num_row??) ?>[/php:1:83cb173d2a] $strSQL = "SELECT COUNT(*) FROM users WHERE user='".$_POST['user']."'"; $resSQLResult = mysql_query($strSQL); $intFound = intval(mysql_result($resSQLResult, 0)); if($intFound > 0) die(' Podany login juz istnieje'); ?>[/php:1:83cb173d2a] -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [php:1:e49c634ed1]<?php
$user=$HTTP_POST_VARS['user']; $haslo=$HTTP_POST_VARS['haslo']; $mail=$HTTP_POST_VARS['mail']; $miasto=$HTTP_POST_VARS['miasto']; ?>[/php:1:e49c634ed1] Brak walidacji danych z zewnatrz. Cytat [php:1:e49c634ed1]<?php
$sql="SELECT * FROM user;"; ?>[/php:1:e49c634ed1] Bledne zapytanie. Pobierasz za duzo nie potrzebnych danych. Dalej kod powinien byc odpowiednio zmieniony pod to jak zmienisz SQLa. Cytat [php:1:e49c634ed1]<?php
... }elseif(!($user||$haslo||$mail)){ ... ?>[/php:1:e49c634ed1] zamiast || daj && Jeszcze trzeba nad tym popracowac, bo poza tym, ze dziala musi byc bezpieczne ![]() Edit: za dlugo pisalem, wiec sorry jak cos sie powtorrzylo w tym co pisal scanner ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
OK, pojde za waszymi wskazówkami (Scanner,Seth)
a zeby nie rozpoczynać tematu nastepnego to napisze tutaj mam sobie galerie, w bazie mam: Kod ID_OBRAZKA
ADRES//url obrazka :) DATA DODANIA OPIS KATEGORIA USER i teraz np chce wyswietlic wszystkie obrazki które w rekordzie KATEGORIA maja "architektóra" więc na mój prosty umysł będzie to tak : index.php[/] [php:1:57e13f60c8]<?php //najpierw wyciagam potrzebne dane z bazy //potem daje sobie odnośnik który wygląda tak echo "<A HREF=SHOW.php?nr=".$kategoria.">".$kategoria."</a>"; //$kategoria to odpowiedni $row[x] wyciagniety z bazy ?>[/php:1:57e13f60c8] Teraz na stronie show.php chce jak juz pisałem wysswietlić wszystkie zdjęcia z kategori "architektóra" [b]SHOW.php [php:1:57e13f60c8]<?php mysql_connect();//tu wiadomo mysql_select_db();//tu tez $sql="SELECT * FROM galria WHERE ID_KAT='".$_GET['nr']."' "; $wynik=mysql_query($sql); while($ROW = mysql_fetch_array($wynik)){ $id=$ROW[0]; $adres=$ROW[1]; $kategoria=$ROW[2]; ......... } echo "< a href=/katalog_z_obrazkami/".$adres.".jpg>obrazek</a>"; ?>[/php:1:57e13f60c8] Czy wyświetli mi wszystko z działu "architektóra", jeśli zrobie to tak jak wyzej?? Jeśli nie to juz nie wiem ![]() -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Posty offtopiczne zostały usunięte.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:31 |