ForumCała strona

Nawigacja

Aktualnie online

Gości online: 6

Użytkowników online: 0

Łącznie użytkowników: 25,399
Najnowszy użytkownik: qweqwe

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

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

khaman
08.04.2025 12:11:31
Happy Ramadan JazOOn Smile

JazOOn
06.04.2025 00:03:11
szczesliwego nowego roku

sferahost
28.02.2025 21:31:55
Tak, "zesrało" się kodowanie. Przyznaję, za dużo rzeczy na raz a do tego jeszcze przeziębienie.

panicze
28.02.2025 20:50:22
Ten serwer co reklamuję się na stronie, to jest dla mnie anty-reklamą Źle

Pieta
28.02.2025 19:07:47
Uuu. Coś się kodowanie strony wysypało Sad

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 03.05.2025 14:03:01
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