Zobacz temat
Column count doesn't match value count at row 1. Co na to poradzić?
|
|
babilon |
Dodany dnia 01.11.2007 12:26:41
|
Przedszkolak Postów: 62 Ostrzeżeń: 1 Data rejestracji: 28.10.2007 12:36 |
Hej! Zrobiłem sobie nowe pole do panelu uzytkownika (textbox), edytowalem - edit_profile - profile - register - update_profile_include Wszystko dziala pieknie, ladnie zapisuje sie w bazie danych, ale... Przy próbie rejestracji (z potwierdzeniem mailowym) wywala użytkownikom błąd: Widzialem tu na forum podobne przypadki, ale niestety nie znalazlem rozwiazania. Czy ktos wie co moze byc nie tak? Ja przypuszczam (w sumie to jestem pewny), ze chodzi o register.php . Zarejestrowanym juz wczesniej uzytkownikom wszystko dziala bez problemu... Błędy w code! - Milka Edytowane przez Milka dnia 01.11.2007 14:29:49 |
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 13:16:41
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
IP: localhost | |
wlodekp |
Dodany dnia 01.11.2007 13:01:37
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Rejestracja z potwierdzeniem jak i przesyłanie materiałow przez użytkownika zapisują najpierw dane w tabelach przejściowych w przypadku rejestracji jest to tabela: new_users i za te dane odpowiada kolumna user_info. Dane te są zapisywane jednym ciągiem przedzielonym ; przy użyciu funkcji serialize. Do przepisania danych do tabeli users używamy funkcji odwrotnej unserialize-potwierdzenie rejestracji pzez usera klik link z mejla. Tak więc samo dodanie pola do formularza i bazy nie załatwia sprawy. Należy jeszcze to pole doddać z danymi jeśli zrobisz obowiązkowe bądź puste do user_info. Tej metody użyłem w temacie obowiązkowe pola w profilu przy miejscowości i potwierdzaniu email. Temat wraz z plikiem register.php dostępny na forum. |
|
|
babilon |
Dodany dnia 01.11.2007 15:11:17
|
Przedszkolak Postów: 62 Ostrzeżeń: 1 Data rejestracji: 28.10.2007 12:36 |
Niestety to nie rozwiązuje problemu. W takim razie może zapytam troszkę inaczej. Chcę dodać do profilu textbox (taki jak na "podpis") który będzie widoczny także w profilu użytkownika. Co mam edytować? - edit_profile - profile - register - update_profile_include Coś jeszcze? Jak to wpisać w bazie danych? Edytowane przez babilon dnia 01.11.2007 15:11:34 |
|
|
wlodekp |
Dodany dnia 01.11.2007 16:32:40
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Ja sądzę, że chyba się nie rozumiemy "Twierdzisz, że zapisuje się w bazie danych to stwierdzenie jest równoważne dla mnie, że dodałeś już dodatkowe pole to tabeli users o nazwie np. texbox. I Twój problem polega jedynie na rejestracji z potwierdzeniem, która używa przjściowej tabeli i nie przenoszeniu z przejściowej do users. Żaden inny z wymienionych plików nie używa tej tabeli i skoro twierdzisz, że masz to pole i możesz zapisać w w profilu już zarejestrowanego użytkownika to musi być ono dodane do bazy. I na koniec może mylisz zupełnie pojęcia i używasz extended profile- w takim wypadku to zupełnie inna bajka i w nią nie wchodzę. Twoje objaśnienia są mgliste-nieprecyzyjne i taka jest odpowiedź. |
|
|
babilon |
Dodany dnia 01.11.2007 19:33:38
|
Przedszkolak Postów: 62 Ostrzeżeń: 1 Data rejestracji: 28.10.2007 12:36 |
Nie nie - nie używam extenda, wszystko robię ręcznie. Mam w bazie danych w "fusion_users" pole "opis_usera" jest to: TYP: text Metoda porównywania napisów: Latin2_general_ci Null: not null Robiłem już wcześniej dodatkowe pola i działają one bez zarzutu... Wszystko robię w ten sam sposób i na prawdę już mi ręce opadają bo nie wiem jak ro zrobić |
|
|
wlodekp |
Dodany dnia 01.11.2007 20:12:26
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Już na początku Ci wskazywałem drogę: popatrz na mój plik register.php w temacie: http://www.php-fu...post_35860 plik register.php ............... oczywiście jeśli przy rejestracji chcesz dodać dane w tym polu formularz musi mieć to pole z dokładnie taką nazwą, tych pól możesz sobie dodać ile chcesz, zachować kolejność przy unserialize.$user_info = serialize(array( "user_name" => $username, "user_password" => $password1, "user_email" => $email, "user_location" => $location, "opis_usera" => $opis_usera, .............. Zasada prosta jak zaskoczycz, ostatnio przerobiłem na submit user plik parę zaawansowanych downloads system wszyskie pola do akceptacji admina zasada ta sama. Czerwone moje, co dodałem w temacie link, niebieskie Twoje powinno tak być. Pozostałe elementy przy zapisie do bazy pola znajdziesz chyba, ja tylko wskazuję kierunek. DOPISANE W EDYCJI Jeśli nie chcesz wypełniać tego pola przy rejestracji to wystarczy przy poleceniu: $result = dbquery("INSERT INTO ".$db_prefix."users (user_name,..... opis_usera) VALUES('".$user_info['user_name']."', ............. '')"); wstawić to czerwone pamiętając o zachowaniu kolejności takiej samej przed values i po nim. Edytowane przez wlodekp dnia 01.11.2007 21:13:16 |
|
Przejdź do forum: |