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
mortus
post
Post #2





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
Saki
post
Post #3





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
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%)
-----


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

Posty w temacie


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: 14.10.2025 - 20:46