Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak dodać dane do bazy SQL?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


  1. <?php
  2. /*
  3. Chce zrobić rejestracje, tworzenie nowej bazy dla usera ładnie działa ale dodanie informacji do nie nie działa
  4. */
  5. if (isset($_POST['user']))
  6. {
  7.  
  8. include "baza.php";
  9.  
  10.  
  11. $user = $_POST['user'];
  12. $pass = $_POST['pass'];
  13. $znak = $_POST['znak'];
  14.  
  15. #To ładnie tworzy:
  16. mysql_query('CREATE TABLE '.$user.'(password TEXT, znak TEXT,)') or die ('Taki uzytkownik juz istnieje!');
  17.  
  18.  
  19. #PROBLEM ROZWIĄZANY
  20. mysql_query("INSERT INTO `$user` (`password`, `znak`) VALUES ('$pass', '$znak')");
  21.  
  22. #ale to juz nie działa
  23. #mysql_query('INSERT INTO '.$user.' (password, znak) VALUES ('.$pass.', '.$znak.')');
  24.  
  25. #Ale tu nie dodaje :(
  26. #mysql_query('INSERT INTO '.$user.' password, znak VALUES '.$pass.', '.$znak.'');
  27.  
  28.  
  29. echo 'Konto <b>'.$user.'</b> stworzone pomyslnie!'.$znak.'';
  30.  
  31. mysql_close($mysql_id);
  32.  
  33. }
  34. else
  35. {
  36.  
  37. echo '<form action="a.php" method="POST">
  38. Login: <input type="text" name="user"><br>
  39. Haslo: <input type="text" name="pass"><br>
  40. Znak: <input type="text" name="znak"><br>
  41. <input type="submit" value="zarejestruj"></form>';
  42.  
  43. }
  44. ?>


  1. <?php
  2.  
  3. /*
  4. Teraz nie mogę się zalogować :(
  5. Bardzo proszę o pomoc :)
  6. */
  7.  
  8.  
  9. if (isset($_POST['log_check']) && ($_POST['pass_check']))
  10. {
  11.  
  12. include "baza.php";
  13.  
  14. mysql_query('SELECT*FROM '.$_POST['log_check'].'') or die('Nie ma takiego uzytkownika!');
  15.  
  16.  
  17.  
  18.  
  19.  
  20. $dane = mysql_query('SELECT password FROM '.$_POST['log_check'].'') or die ('Nie poprawne dane!');
  21.  
  22. while($row = mysql_fetch_array($dane)) {
  23. if($dane != $_POST['pass_check']){
  24. print "Niepoprawne haslo!";
  25. }
  26. else
  27. {
  28. $_SESSION['login'] = $_POST['log_check'];
  29. print "Zalogowales sie poprawnie ".$_POST['log_check']."!";
  30. }
  31. }
  32.  
  33. mysql_close($mysql_id);
  34. }
  35. else
  36. {
  37.  
  38. echo '<form action="b.php" method="POST">
  39. Login: <input type="text" name="login_check"><br>
  40. Haslo: <input type="text" name="pass_check"><br>
  41. <input type="submit" value="Login"></form>';
  42.  
  43. }
  44. ?>















Ten post edytował Saki 26.02.2011, 17:08:48


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Linijka 21:
  1. mysql_query("INSERT INTO $user (password, znak) VALUES ('$pass', '$znak')");


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Saki
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Cytat(sadistic_son @ 26.02.2011, 17:08:05 ) *
Linijka 21:
  1. mysql_query("INSERT INTO $user (password, znak) VALUES ('$pass', '$znak')");


Ok dzięki!
A teraz nie działa logowanie.


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
mortus
post
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Przede wszystkim to nie tworzysz tutaj nowej bazy, tylko nową tabelę. Milion użytkowników to u Ciebie milion tabel zawierających tylko hasło i jakiś znak. To nie jest optymalne i w ogóle jest bez sensu. Powinieneś utworzyć jedną tabelę użytkowników i w niej zapisywać nazwę użytkownika, hasło i ów znak. Tabelę możesz stworzyć wcześniej, a skrypt tylko i aż dodaje, edytuje lub usuwa konkretne rekordy.
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




PS: poczytaj przyklejone tematy o bezpieczeństwie, bo Twój skrypt jest dziurawy.

A najlepiej zacznij od przeczytania kursu PHP+MySQL, bo to podstawy podstaw.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Saki
post
Post #6





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Cytat(mortus @ 26.02.2011, 17:10:34 ) *
Przede wszystkim to nie tworzysz tutaj nowej bazy, tylko nową tabelę. Milion użytkowników to u Ciebie milion tabel zawierających tylko hasło i jakiś znak. To nie jest optymalne i w ogóle jest bez sensu. Powinieneś utworzyć jedną tabelę użytkowników i w niej zapisywać nazwę użytkownika, hasło i ów znak. Tabelę możesz stworzyć wcześniej, a skrypt tylko i aż dodaje, edytuje lub usuwa konkretne rekordy.


mysql_query('CREATE TABLE '.$user.'(password TEXT, znak TEXT, date TEXT, freq TEXT, mode TEXT, power TEXT, time_start TEXT, rst_sent TEXT, rst_rcvd TEXT, time_stop TEXT, qso_call TEXT, imie TEXT, city TEXT, code TEXT, qsl_sent TEXT, qsl_rcvd TEXT, komentarz TEXT(200))') or die ('Taki uzytkownik juz istnieje!');

wink.gif

Ten post edytował Saki 26.02.2011, 17:15:41


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #7





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Możesz nam wytłumaczyć po co chcesz tworzyć dla każdego usera osobną tabelę?
Go to the top of the page
+Quote Post
Saki
post
Post #8





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Cytat(Mephistofeles @ 26.02.2011, 17:19:00 ) *
Możesz nam wytłumaczyć po co chcesz tworzyć dla każdego usera osobną tabelę?


Bo chce zrobić QSO LogBook, i inaczej sie nie da, trzeba tworzyć dla każdego tabelkę smile.gif
Ale mój serwerek ma duży dysk więc nie ma problemu z miejscem smile.gif

A możesz mi pomóc przy logowaniu? smile.gif

Ten post edytował Saki 26.02.2011, 17:21:59


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
mortus
post
Post #9





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Cytat(Saki @ 26.02.2011, 17:14:20 ) *
mysql_query('CREATE TABLE '.$user.'(password TEXT, znak TEXT, date TEXT, freq TEXT, mode TEXT, power TEXT, time_start TEXT, rst_sent TEXT, rst_rcvd TEXT, time_stop TEXT, qso_call TEXT, imie TEXT, city TEXT, code TEXT, qsl_sent TEXT, qsl_rcvd TEXT, komentarz TEXT(200))') or die ('Taki uzytkownik juz istnieje!');

wink.gif

Kolego wpisanie czegokolwiek do Twojego formularza stworzy Ci nową tabelę. Więc co z tego, że jeśli użytkownik krysia11 istnieje, to wywala błąd. Bo skoro krysia111 już nie ma własnej tabeli, to błędu nie wywali. Ile może być takich Kryś? Nawet dla żartu może Ci ktoś bazę danych zapchać.

Da się da i na pewno jest to inaczej zrobione.
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: 21.08.2025 - 12:47