WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   phpbb-fråga: Föra över från gammal databas till phpbb (https://www.wn.se/forum/showthread.php?t=1038882)

Pettolajnen 2009-11-02 12:20

phpbb-fråga: Föra över från gammal databas till phpbb
 
Hej,

Jag undrar hur man importerar från en gammal databas till en phpbb-databas. Jag förstår att ni då måste veta hur den gamla databasen är uppbyggd. Men om vi säger såhär. Jag har suttit och försökt skapa konton direkt från phpmyadmin i phpbb-databasen. Jag kopierar varenda fält från det kontot som jag skapade från gränssnittet phpbb. Ändå så vill inte antalet användare öka. Det står fortfarande att jag bara har två användare ute på sidan fast jag lagt in flera stycken. Det jag undrar är då till exempel vilka fält i phpbb som är viktiga att fylla i rätt för att en användare ska räknas som godkänt och hur dom ska fyllas i korrekt?

tartareandesire 2009-11-02 12:38

Det finns inga fält som rent generellt måste fyllas i "korrekt". Däremot kan du ju inte lägga in text i exempelvis ett integer-fält.

Om det inte läggs till en rad så bör du få ett felmeddelande. Antar att du har ett AI-fält eller andra unika index som du försöker lägga in dubbletter av. Om du inte har väldigt få användare så rekommenderar jag dock att du skriver lite kod istället för att lägga över allting manuellt.

Edit:
Läste lite snabbt och såg inte att det gällde phpbb. Antar att det inte är i phpmyadmin du får problem då? När det gäller just phpbb så vet jag inte exakt hur databasstrukturen ser ut. Det kan mycket väl vara så att du behöver ändra i andra tabeller också när du lägger in nya användare. Det bör gå att exportera från en äldre version till en nyare?

Pettolajnen 2009-11-02 12:54

Jag ska dock inte exportera från en äldre till en nyare. Jag ska exportera från ett egetskapat forum till phpbb. Och jag insåg att varför det bara stod "1 användare" ute på sidan var för att jag i config-tabellen inte hade ändrat fältet som sparar hur många användare som är reggade.

Problem kvarstår dock. De användare jag lagt till går inte att logga in med. Och mitt administratörs-konto som jag bytte id-nummer på går att logga in med, eller det står att jag loggas in, men sedan kommer jag inte in ändå utan är kvar i en utloggad version av forumet. Vad kan detta bero på??

tartareandesire 2009-11-02 13:04

Förmodar att du har fel format på lösenorden? Jag rekommenderar att du skriver lite kod och läser in alla användare i din egen databas och sedan använder den funktion som finns i phpbb:

http://wiki.phpbb.com/Add_users

PerD 2009-11-02 13:08

Hade samma problem och löste det som tartareandesire skriver. Svårigheten med att hålla på och ändra i databasen är att man enkelt missar några rader.

Här finns några färdiga kodrader. Finns mer exempel om man söker på add user, finns också en add user mod på samma forum.
http://www.phpbb.com/community/viewt...f=71&t=1252845

Pettolajnen 2009-11-02 13:32

Ja jag såg dedär sakerna när jag sökte på Google och phpbb's forum. Tyvärr tillkommer då ännu ett problem. Jag vill att alla användare ska få samma id-nummer som dom hade på mitt förra forum. Detta för att jag ska lägga över alla trådar och svar sedan och då måste alla id-nummer fortfarande stämma överens med de som skrivit posterna. För "Add_users"-funktionen genererar väl ett id automatiskt?

En fråga kvarstår när det gäller dendär funktionen. Kan jag ta bort ALLA användare från mitt phpbb-forum nu och sedan föra över alla från mitt gamla forum? Då syftar jag även på mitt administratörskonto, som jag iof ändå inte kan logga in med nu på phpbb-forumet. Men är det bara att sätta rätt group-id så ska det fungera eller? Med Add_user

tartareandesire 2009-11-02 13:41

Det går ju att korrelera gammalt id mot nytt id så försvinner det problemet.

Pettolajnen 2009-11-02 14:00

Vad sjukt, jag testade lägga in ny medlem på följande sätt:

INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (3, 5, 'Admin1', 'admin1', 0, '21232f297a57a5a743894a0e4a801fc3', '[email protected]', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '');

som jag hittade i denna tråd: http://area51.phpbb.com/phpBB/viewto...p?f=71&t=30554

Det fungerade fint. DOCK försvann hela hemsidans design och blev phpbb's standarddesign, även när jag rensat alla cookies och tagit bort dendär användaren från databasen så är det FORTFARANDE standard-designen, från vilken webbläsare jag än går in i dessutom.

Plus att jag sedan försökte skapa en ny användare igen på samma sätt fast sätta id-nummer till 1, eftersom det är det id-nummer jag hade på gamla forumet. Men då uppstod samma problem som tidigare. Alltså, det står att jag loggas in, men jag kommer aldrig in.

PerD 2009-11-02 17:21

Add user scripten använder phpbbs sessionshantering innan användarna läggs in. Kan vara det som felar med att det inte registreras rätt när användare läggs in direkt i databasen och det därmed blir fel med sessionerna vid inloggningen. Testade själv bara på det viset, men behövde inte heller föra över med samma id-nummer som tidigare. Av samma anledning kan det ju krångla om man tar bort användare direkt i databasen då tabeller fortfarande kan innehålla gammal sessions- och användardata.

Pettolajnen 2009-11-02 19:25

Okej, tror jag förstår..Vad tycker du jag borde göra då?

PerD 2009-11-02 23:38

Testa och kör ett script, blir även enklare då att föra över data från ditt gamla forum. Databaskoppling först där du hämtar data från din gamla forumtabell med användarnamn, e-post etc sedan lägger du in detta som nya användare med hjälp av en add user funktion liknande den nedan. Finns fler exempel på forumet men det viktiga är att kopplingen är med i början inte minst för phpbb_hash funktionen.

php kod

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);

$user_row = array(
'username' => $rad['user'],
'user_password' => phpbb_hash($losen),
'user_email' => $rad['email'],
'group_id' => 2,
'user_timezone' => 0,
'user_dst' => 1,
'user_lang' => "sv",
'user_type' => 0,
'user_actkey' => "",
'user_ip' => "",
'user_regdate' => time(),
'user_inactive_reason' => 0,
'user_inactive_time' => 0,
);
user_add($user_row, $cp_data);

Pettolajnen 2009-11-10 12:23

Så, nu ska jag ta tag i detta igen efter att ha haft en hektisk period med annat.

PerD: Tack för ditt svar. Min följdfråga blir: Kan jag bestämma user-id när jag lägger in en användare?

Fråga 2: Finns det en liknande funktion för att lägga in trådar och svar?

Pettolajnen 2009-11-10 15:01

Hur skapar man en while loop med sql-classen i phpbb egentligen? Får helatiden ut bara EN rad:

Kod:

$sql = 'SELECT * FROM members WHERE id!=1 AND id!=134 AND id!=133';
$query = $db->sql_query($sql);
$array = $db->sql_fetchrowset($query);
foreach ($array as $r)
{


PerD 2009-11-11 15:52

Citat:

Ursprungligen postat av Pettolajnen (Inlägg 20330588)
Så, nu ska jag ta tag i detta igen efter att ha haft en hektisk period med annat.

PerD: Tack för ditt svar. Min följdfråga blir: Kan jag bestämma user-id när jag lägger in en användare?

Fråga 2: Finns det en liknande funktion för att lägga in trådar och svar?

Biten med user id borde vara enklast att lösa genom att lägga in nya användarna i samma följd som det var i det gamla forumet om du har en user lista 1,2,3 etc. Bara att kolla på vilket id det börjar med i den nya och sedan från den gamla tabellen börja på samma nummer så blir det samma id automatiskt med auto increment. Sedan behöver du bara korrigera för några stycken medlemmar.

http://wiki.phpbb.com/Submit_post Kod hur man kan lägga till trådar och inlägg.
http://www.phpbb.com/community/viewt...?f=70&t=829325 Postar inlägg och trådar från RSS.


Alla tider är GMT +2. Klockan är nu 12:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson