Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dodawanie danych z forumularza do bazy
Forum PHP.pl > Forum > Przedszkole
afgan227
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
Turson
  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
afgan227
A niech to, faktycznie biggrin.gif wystarczylo zmienić jedną linijkę.
Z
  1. $zapytanie="INSERT INTO users VALUES('$klasa')";

Na
  1. $zapytanie="INSERT INTO users(klasa) VALUES('$klasa')";
nospor
Ale tak czy siak masz blad logiczny..... przeciez klase chcesz przypisac do swiezo dodanego usera. Teraz zas tworzysz nowy rekord na klase. Bez sensu smile.gif

Musisz robic UPDATE a nie INSERT i updatowac danego uzytkownika o klase
afgan227
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?
Turson
Cytat(nospor @ 7.04.2014, 14:52:07 ) *
Musisz robic UPDATE a nie INSERT i updatowac danego uzytkownika o klase

afgan227
O kurde. Zamotałem. Dzięki za pomoc, do zamknięcia ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.