Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
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')");
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.
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.
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!');

(IMG:style_emoticons/default/wink.gif)

Ten post edytował Saki 26.02.2011, 17:15:41
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ę (IMG:style_emoticons/default/smile.gif)
Ale mój serwerek ma duży dysk więc nie ma problemu z miejscem (IMG:style_emoticons/default/smile.gif)

A możesz mi pomóc przy logowaniu? (IMG:style_emoticons/default/smile.gif)

Ten post edytował Saki 26.02.2011, 17:21:59
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!');

(IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 23:47