ForumCała strona

Nawigacja

Aktualnie online

Gości online: 17

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Column count doesn't match value count at row 1. Co na to poradzić?
babilon
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:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


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

Polecamy hosting SferaHost.pl
IP: localhost  
Spoczywaj w pokoju... wlodekp
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.
 
wlodekp.europa.pl
babilon
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
 
Spoczywaj w pokoju... wlodekp
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ź.
 
wlodekp.europa.pl
babilon
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ć Sad
 
Spoczywaj w pokoju... wlodekp
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
...............
$user_info = serialize(array(
"user_name" => $username,
"user_password" => $password1,
"user_email" => $email,
"user_location" => $location,
"opis_usera" => $opis_usera,
..............
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.
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
 
wlodekp.europa.pl
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl