Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Account Maker
mrtepes
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Witam, powiem szczerze, że nie mam pojęcia na czym polega programowanie w php.
Potrzebuję skrypt php + formularz, który będzie dodawał dane do bazy mysql. Ma to wyglądać mniej więcej tak:
link do tego pliku sql:
http://www.filefront.../db_account.sql
Lokalizacja tego pliku u mnie to: /home/mrtepes/DB__
w tabeli t_account ma wpisywać dane:
W kolumnie accountid ma wpisywać które to konto z kolei jest zakładane (np. pierwszy wysłany formularz wprowadzi 1, drugi 2 itd.)
w kolumnie name ma wpisywać login podany przy rejestracji
w kolumnie pwd haslo w md5
w kolumnie pw2 haslo w normalnej formie.
Może się znajdzie ktoś kto by mi wytłumaczył jak zrobić stronę internetową z takim skryptem? Same pola do wpisania loginu i hasła i nic więcej, tak żeby wszystko fajnie działało i wprowadzało dane do bazy. Jeśli trzeba będzie to mogę podać więcej danych.
Z góry przepraszam jeśli zrobiłem coś wbrew regulaminowi forum.

Ten post edytował mrtepes 24.10.2010, 17:04:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Pozwolisz, że coś Ci powiem.
Gotowca tutaj nikt Ci nie da - my możemy Ci tylko pomóc i nakierować na właściwą drogę.
Niestety do tego musisz mieć jakiekolwiek podstawy.

Polecam lekturę:

http://webhosting.pl/Kurs.PHP..Wstep.do.pr...zyku.skryptowym


Daj znać jak już mniej więcej obczaisz.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
nowofresh
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 8.09.2010

Ostrzeżenie: (20%)
X----


">Albo książkębiggrin.gif


--------------------
Usunięto.
Go to the top of the page
+Quote Post
mrtepes
post
Post #4





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


To może zaczne od początku. Żeby w ogóle to działało to stronę muszę mieć postawioną tam gdzie mam bazę mysql? Czyli, że jak jest ona u mnie na komputerze z ubuntu to strona musi być postawiona też u mnie za pomocą np webserv?
mam na ubuntu php5-mysql czyli, że nie muszę nic więcej ściągać?
Go to the top of the page
+Quote Post
modern-web
post
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Chcesz stronę hostować za pomocą No-IP u siebie na komputerze?
Powiem tak - marne rozwiązanie.
1. Nie warto obciążać sobie systemu.
2. Domyślam się, że Twój komp nie jest online 24/7 więc uptime byłby marny.
3. Mocne komputery stacjonarne klasy PC zżerają około 100W (w stanie spoczynku) - dla porównania serwery tylko 20W.

Polecam abyś wykupił serwer z obsługą bazy danych i php. To na prawdę kosztuje grosze, a przynosi same korzyści.
Skorzystaj z oferty firmy hostingowej ProSerwer.pl. Serwery od 5zł/miesiąc + domena za 24,40zł/rok.
Jak sam widzisz; nie jest to duży wydatek...

Teraz powiedz; w jakim celu ma służyć ten "Account Maker"?

Ten post edytował modern-web 24.10.2010, 18:43:20


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mrtepes
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Na maszynie wirtualnej mam ubuntu i na nim serwer pewnej gry mmo. Aby w nią grać to trzeba mieć konto. Konto tworzy się wprowadzając dane do bazy mysql te co podałem wyżej. Teraz tylko ja mogę tworzyć konta ręcznie wpisując dane do tabeli. Chciałbym żeby ludzie mogli sobie sami je tworzyć przez stronę internetową.
Mam już w pełni skonfigurowany serwer gry, zrobionego klienta i stoję w miejscu bo nie umiem zrobić tego "account makera"

Ten post edytował mrtepes 24.10.2010, 19:12:21
Go to the top of the page
+Quote Post
modern-web
post
Post #7





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


1. Niech zgadnę... Ta gra to nijaka Tibia, tak?
2. Podam Ci przykładowe zapytanie do bazy danych... poczytaj o zapytaniach SELECT, DELETE i INSERT na tej stronie, którą poprzednio Ci wysłałem i zmień kod do swoich potrzeb. Powinieneś sobie poradzić...

  1. $nowy_uzytkownik = mysql_query("INSERT INTO `uzytkownicy` (`id`,`username`, `password`, `email`, `ip`, `date`)
  2. VALUES('','$username','$password','$email','$ip','$date')");


Powyższym skryptem możesz dodać do bazy danych nowego użytkownika... Oczywiście musisz powprowadzać zmienne $username, $password itp... Wszystko to metodą $_GET.
Jeszcze pokombinuj żeby ktoś nie dodał 2 razy takiego samego użytkownika (nie ważne czy hasło jest to samo, czy też nie... nazwa użytkownika nie może się przecież powtarzać, prawda?)

Pozdrawiam.


P.S.
Poczytaj o PHP... Gotowca Ci nie zrobię, a bez jakiejkolwiek wiedzy nie skończysz tego w tydzień...
Normalnie zajęłoby to Tobie 10-20min smile.gif


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mrtepes
post
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Nie, nie chodzi o tibię biggrin.gif Zająłem się czymś bardziej ambitnym ;p
nowy_uzytkownik to jest nazwa pliku sql?
uzytkownicy to nazwa tabeli?
id, username, password, email, ip, date to są nazwy kolumn?
$username, $password....to są zmienne które będą trafiać do tabeli?

I jeszcze jedno, istnieje skrypt który będzie hasło podane przez kogoś zamieniać na md5 i w takiej postaci wpisywać do tabeli?

Zauważyłem też ze wystarczy aby do tabeli skrypt wpisywał:
login podany przy rejestracji
hasło podane przy rejestracji ale w md5 czyli 128 bitowy skrót
i nic więcej

A co do tych nazw kont to baza mysql nie pozwala na wprowadzenie takiej samej nazwy użytkownika bo wyskakuje błąd.

Ten post edytował mrtepes 24.10.2010, 20:36:14
Go to the top of the page
+Quote Post
modern-web
post
Post #9





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Połowy z tego co Ci napisałem nie rozumiesz. Przeczytaj proszę choć kilka stron z tego kursu PHP bo nikt nie będzie chciał z Tobą współpracować.

$nowy_użytkownik to nie nazwa pliku tylko zmienna, która jest zapytaniem do bazy danych. Po co? Po to żebyś mógł pózniej wyświetlić wyniki tego zapytania.
Kolejna sprawa. Do bazy wprowadzić można nieskonczona ilośc takich samych danych. Jedyne co nie może się powtarzać to id. Jeżeli pojawiloby się 2 użytkowników o tym samym username skrypt wyświetlania/logowania wywalilby błąd. Po to wykonuje się w pierwszej kolejności przeszukiwanie bazy w poszukiwaniu identycznego username, a dopiero po tym jak nie znajdzie może wykonać kolejne zapytania - INSERT.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mrtepes
post
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


  1. <?php
  2. mysql_connect([moje ip [, nazwa uzytkownika [, hasło]]]);
  3. INSERT INTO t_account (name, pwd) VALUES ($name, $pwd);
  4. $_GET['$name'];
  5. $_GET['$pwd'];
  6. mysql_close($sql_conn);
  7. ?>


To takie coś ma być?

Ten post edytował mrtepes 25.10.2010, 15:04:18
Go to the top of the page
+Quote Post
CuteOne
post
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


nie... lepiej poczytaj parę artykułów jak pisać skrypt rejestracji
Go to the top of the page
+Quote Post
modern-web
post
Post #12





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Cytat(mrtepes @ 25.10.2010, 15:57:40 ) *
  1. <?php
  2. mysql_connect([moje ip [, nazwa uzytkownika [, hasło]]]);
  3. INSERT INTO t_account (name, pwd) VALUES ($name, $pwd);
  4. $_GET['$name'];
  5. $_GET['$pwd'];
  6. mysql_close($sql_conn);
  7. ?>


To takie coś ma być?


Słuchaj... my Ci tego nie napiszemy.
Powyżej kolega już Ci napisał, że skrypt jest zły.
Teraz otwórz jakikolwiek kurs php / manuala / książkę i zacznij szukać błędu.

Teraz kilka uwag;
1. zmień tok rozumowania;
2. wczoraj wieczorem napisałem Ci "pseudokod"... Jest to tylko fragment ale na jego podstawie możesz ogarnąć resztę tego tematu;
3. naucz się podstaw albo odmówię dalszej pomocy (bez urazy ale pracuje się z Tobą jak z kretynem, który nie potrafi racjonalnie myśleć).

Pozdrawiam.



Edit:
Uznałem, że dam Ci jeszcze jedną szansę i podpowiem.
Poniżej masz kilka fragmentów kodu...
Błagam Cię; Pomyśl tym razem zanim zapytasz o cokolwiek.


  1. <form method="post">
  2.  
  3. <? echo ''.$komunikaty.'';?>
  4.  
  5. nazwa użytkownika:
  6. <input name="user" type="text" id="username" size="30" />
  7.  
  8. preferowane haslo:
  9. <input name="pass" type="password" id="password" value="" size="30" />
  10.  
  11. adres e-mail:
  12. <input name="email" type="text" id="email" size="30" />
  13.  
  14. <input type="submit" id="rejestruj" value="zarejestruj sie" name="rejestruj" />
  15.  
  16. </form>



  1. <?php
  2. include_once"konfiguracja_polaczenia_z_baza.php";
  3. if(isset($_POST['rejestruj'])){
  4. $username = $_POST['username'];
  5. $password = $_POST['password'];
  6. $email = $_POST['email'];
  7.  
  8. ...
  9.  
  10. ?>



Pierwszy kod to formularz HTML... Drugi to fragment skryptu (ten akurat odbiera dane z formularza i tworzy z nich zmienne).

Ten post edytował modern-web 25.10.2010, 15:24:32


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mrtepes
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Zrobiłem takie coś pod sql ten co na górze jest. Nie mam dostępu do ubuntu więc nie wiem czy to będzie działać. Możecie mi pomóc znaleźć błędy albo coś pozmieniać jeśli jest źle?

Siadłem dzisiaj i znalazłem błędy. Teraz to wszystko wygląda tak. Mam tylko jedno pytanie. Ip mam podać te gdzie jest baza ale nie do końca jestem pewny czy dobrze zrozumiałem który login i hasło podać. Na linuxie baze danych odpalam przez navicat. Jest tam takie coś jak "User"Mogę tam dodawać nowych userów, zmieniać im co mogą robić a co nie. Ja mam login i hasło wpisać właśnie tego usera z navicata czy to coś innego jest?
Drugie pytanie: po co się podaje adres ip skoro baza i skrypt php są na tym samym komputerze?

[sql][/sql]

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Rejestracja</title>
  5. </head>
  6.  
  7. <table width="100%" border="1">
  8. <tr>
  9. <td colspan="2">Rejestracja</td>
  10. </tr>
  11. <tr>
  12. <td>Login</td>
  13. <td>
  14. <form><input type="text" id="name" name="name" /> </td>
  15. </tr>
  16. <tr>
  17. <td>Hasło</td>
  18. <td><input type="password" id="pwd" name="pwd" /></td>
  19. </tr>
  20. <tr>
  21. <td>Powtórz Hasło</td>
  22. <td><input type="password" id="repeadpwd" name="repeadpwd" /></td>
  23. </tr>
  24. <tr>
  25. <td colspan="2">
  26. <input type="submit" name="Submit" id="registerButton" value="Zarejestruj" /></form>
  27. </td>
  28. </tr>
  29. </body>
  30. </html>


  1. <?php
  2. function lacz_bd()
  3. {
  4. $db = new mysqli('ip', 'login', 'haslo', 'db_account');
  5. if (! $db)
  6. return false;
  7. $db->autocommit(TRUE);
  8. return $db;
  9. }
  10.  
  11. if(!empty($_GET['activ'])){
  12. $name = addslashes($_GET['activ']);
  13. $db = lacz_bd();
  14. $zapytanie = "update t_account set act='1' where name='$name'";
  15. $wynik = $db->query($zapytanie);
  16. echo 'OK';
  17. }
  18.  
  19. $name = addslashes($_POST['name']);
  20. $pwd = addslashes($_POST['pwd']);
  21.  
  22. if(!empty($name)&&!empty($pwd)){
  23. $db = lacz_bd();
  24.  
  25. $zapytanie = "select name from t_account WHERE name='$name'";
  26. $wynik = $db->query($zapytanie);
  27. $ile_znalezionych = $wynik->num_rows;
  28. if($ile_znalezionych>0){ echo '2';
  29. exit();
  30. }
  31. $zapytanie = "insert t_account (accountid,name,pwd,) values ('', '$name', md5('$pwd'),)";
  32. $wynik = $db->query($zapytanie);
  33. if($wynik){
  34. $stopka = '<br /><br />-----------------------------------------------<br /><br />';
  35. $topic = 'Aktywacja konta';
  36. $tresc = 'Dane do logowania:Login: '.$name.' Haslo: '.$pwd.';
  37.  
  38. }else{ echo 'error';}
  39. }
  40.  
  41. ?>


Ten post edytował mrtepes 26.10.2010, 15:30:53
Go to the top of the page
+Quote Post
Alson
post
Post #14





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 10.03.2010
Skąd: Gniezno

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


Odnośnie IP przy podłączeniu do bazy to nie musisz podawać swojego IP widzianego w sieci jeśli skrypt jest wykonywany na tym samym komputerze/serwerze, wtedy wystarczy wpisać
Kod
localhost
albo
Kod
127.0.0.1
. Kodu komentować nie będę bo nie lubię oceniać czyjejś pracy biggrin.gif
Go to the top of the page
+Quote Post
mrtepes
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Czyli, że formularz i skrypt php nie muszą być razem z bazą? Mogę sobie Je wysłać na jakiś hosting a bazę zostawić na komputerze u mnie?
W linii 39 wywala błąd
Parse error: syntax error, unexpected T_STRING in /var/www/virtual/toserver.cba.pl/index.php on line 39

Ten post edytował mrtepes 26.10.2010, 15:34:04
Go to the top of the page
+Quote Post
modern-web
post
Post #16





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Pliki mogą znajdować się na hostingu, a baza MySQL u Ciebie... lub na odwrót. Mogą też być na jednej stacji...
Tylko pamiętaj, że wyłączony komputer = wyłączona baza MySQL.
Strona nie będzie poprawnie funkcjonować jeśli zabraknie bazy (o ile podstrona wymaga połączenia z MySQL).

Jednak ja sugeruję umieszczenie wszystkiego na jednym serwerze. Skróci to czas wykonywania zapytań, a dane przesyłane między serwerem a bazą danych (na tym samym serwerze) będą bezpieczniejsze.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
mrtepes
post
Post #17





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.10.2010

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


Akurat na tym mi zależało żeby baza była u mnie bo gra do prawidłowego działania potrzebuje tej bazy u siebie. Jedyny problem to taki, że ten skrypt nie działa jak go wrzuciłem na serwer winksmiley.jpg Ogólnie to mi się już chyba odechciało stawiać ten serwer gry przez ten skrypt php smile.gif Wcześniej jak wywalało błąd to przynajmniej wiedziałem, że coś jest nie tak z tym skryptem ale teraz przestało wywalać błąd a nic nie zmieniałem ;d Po prostu nic się nie dzieje po naciśnięciu przycisku rejestruj ;d

Ten post edytował mrtepes 26.10.2010, 19:30:52
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 17:09