Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie danych z forumularza do bazy
afgan227
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


Witam
Mam taki problem, że tworzę bazę :
  1. CREATE TABLE IF NOT EXISTS users (
  2. id int(11) NOT NULL AUTO_INCREMENT,
  3. login varchar(32) NOT NULL,
  4. pass varchar(32) NOT NULL,
  5. email varchar(255) NOT NULL,
  6. klasa varchar(32) NOT NULL,
  7.  
  8. PRIMARY KEY (id)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


Podczas procesu rejestracji użytkownika zbierane są informacje o - loginie, haśle, emailu. Dalej mamy parę warunków, które sprawdzają czy istnieje taki user itp... I jeżeli jest ok to przechodzimy dalej i wyświetla nam się na nowej stronie wybór klasy.

Plik dodaj.php
  1. <?php
  2. require 'config.php';
  3.  
  4.  
  5. $klasa=$_POST['klasa'];
  6. $zapytanie="INSERT INTO users VALUES('$klasa')";
  7. mysql_query($zapytanie);
  8.  
  9. require 'header.php';
  10. require 'klasa.php';
  11. require 'footer.php';
  12. ?>

Wybór klasy z określonej listy:
  1. <form action="dodaj.php" method="post">
  2. <select name="klasa" >
  3. <option>klasa1</option>
  4. <option>klasa2</option>
  5. <option>klasa3</option>
  6. <option>klasa4</option>
  7. </select>
  8. <input type="submit" value="Wybieram!">
  9. </form>;


Potem przechodzimy na dalsza czesc strony. (klasa.php)

Proces rejestracji działa super bez zarzutów, wszystko jest ok aż do momentu kiedy mamy wybrać klasę. Błędu nie wyrzuca, przechodzi dalej. Ale w phpMyAdmin widzę, że nie uzupelnia tabeli o wybraną wartość. Co może być tego przyczyną? Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. mysql_query($zapytanie) or die(mysql_error());

podejrzewam, że ilośc dodawanych danych nie odpowiada ilości kolumn. Ba, jestem pewny patrząc po kodzie tworzenia tabeli. W skrócie: musisz podać do jakiej kolumny ma wpisać $klasa
Go to the top of the page
+Quote Post
afgan227
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


A niech to, faktycznie (IMG:style_emoticons/default/biggrin.gif) wystarczylo zmienić jedną linijkę.
Z
  1. $zapytanie="INSERT INTO users VALUES('$klasa')";

Na
  1. $zapytanie="INSERT INTO users(klasa) VALUES('$klasa')";
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Ale tak czy siak masz blad logiczny..... przeciez klase chcesz przypisac do swiezo dodanego usera. Teraz zas tworzysz nowy rekord na klase. Bez sensu (IMG:style_emoticons/default/smile.gif)

Musisz robic UPDATE a nie INSERT i updatowac danego uzytkownika o klase
Go to the top of the page
+Quote Post
afgan227
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


Fakt , masz rację. Pojawił się jednak mały problem. Klasę dodaje wkońcu do tabelki, z tym że do następnego użytkownika.

tak jak na screenie :

screen

Co tym razem przeoczyłem?

Ten post edytował afgan227 7.04.2014, 19:05:15
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(nospor @ 7.04.2014, 14:52:07 ) *
Musisz robic UPDATE a nie INSERT i updatowac danego uzytkownika o klase

Go to the top of the page
+Quote Post
afgan227
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


O kurde. Zamotałem. Dzięki za pomoc, do zamknięcia ;]
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: 24.12.2025 - 05:40