[x] ปิดหน้าต่างนี้
Powered by Chaonet.com
 



  

การพัฒนาเว็บไซต์
โอนฐานข้อมูลสมาชิก จาก DRUPAL มา Maxsite

เสาร์ ที่ 21 กุมภาพันธ์ พ.ศ.2552


หลายคนคงเคยใช้ ระบบ CMS ในการทำเว็บไซต์ ซึ่ง อาจจะเป็น nuke, joomla, xoop
เมื่อเวลาเปลี่ยนระบบ จากอันหนึ่งไปใช้อีกอัน ก็จะพบกับปัญหา เกี่ยวกับสมาชิก
ซึ่งแต่ละอันก็จะมีโครงสร้างฐานข้อมูลไม่เหมือนกัน  หากมีข้อมูลสมาชิกมาก ก็ไม่อยากยุ่งยาก
ในการเปลี่ยน พอดี ผมได้มีโอกาศเปลี่ยน ก็เลยเขียนสคริ๊ปนี้ขึ้นมา โดยการโอนฐานข้อมูลสมาชิก
ของ DRUPAL มาเป็น MAXSITE ใครต้องการอะไรเพิ่มเติมก็สามารถปรับเปลี่ยนได้ครับ

<?
### Transfer Members from Drupal to Maxsite
// แก้ไขข้อมูลด้านล่างนี้  
$dbHOST="localhost";
$dbUSER="user";
$dbPASS="password";
$Drupal_dbNAME=""; // ฐานข้อมูล Drupal
$Maxsite_dbNAME=""; // ฐานข้อมูล Maxsite
$yourcode = ""; // รหัสนำหน้าหมายเลขสมาชิกของคุณ เช่น ip00001 , abc00005 ต้องเหมือนกับ member/config.inc.php

#################################
$LINK=mysql_connect($dbHOST,$dbUSER,$dbPASS) or die("ไม่สามารถติดต่อฐานข้อมูลได้");
mysql_select_db($Drupal_dbNAME) or die ("ไม่สามารถติดต่อแฟ้มข้อมูลได้");
# เปิดไฟล์ Member
$SQL="Select * from users order by uid";
$result=mysql_query($SQL);
// ต้อง CHMOD ฟล์ usertemp.txt เป็น 777
$fp = fopen("usertemp.txt", "w"); 
while ($row=mysql_fetch_array($result)) {
   $user=trim($row["name"]);
   if (!preg_match ("/^[0-9a-zA-Z_]{3,20}$/",$user))
   {
    echo "<font color="#FF0000">$user</font><br />";
    continue;
   }     
   $password=trim($row["pass"]);
   $email=trim($row["mail"]);
   $signature=trim($row["signature"]);
   $signature=str_replace("|"," ",$signature);
   $signup=trim($row["created"]);
   $access=trim($row["access"]);
   $member_pic=trim($row["picture"]);   
   $New=$user."|".$password."|".$email."|".$signature."|".$signup."|".$access."|".$member_pic."n"; 
   fwrite($fp, $New);  
}
fclose($fp);

mysql_select_db($Maxsite_dbNAME) or die ("ไม่สามารถติดต่อแฟ้มข้อมูลได้");

$sql = "select * from member order by id desc" ;
$result = mysql_query($sql) ;
$num_result  = mysql_num_rows($result) ;
$dbarr = mysql_fetch_row($result) ;
$member_db = $dbarr[0] ; // นำค่า id มาเพิ่มให้กับค่ารหัสสมาชิกครั้งละ1

$tline=file("usertemp.txt");
for ($t=0;$t < sizeof($tline);$t++)
{
 $tmpdata=explode("|",$tline[$t]); 
 $user = trim($tmpdata[0]);
 $password = trim($tmpdata[1]);
 $email = trim($tmpdata[2]);
 $signature = trim($tmpdata[3]);
 $signup = trim($tmpdata[4]);
 $access = trim($tmpdata[5]);
 $member_pic = trim($tmpdata[6]);
 ## ตัดคำว่า sites/default/files/pictures/ ออกจากชื่อภาพ
 if (!empty($member_pic))
 {
  $member_pic=str_replace("sites/default/files/pictures/","",$member_pic);
 }
 ##กรณีมี user อยู่แล้วป้องกันซ้ำ ให้เอา มาร์คออก
 /*
 $SQL2="select * from member where user=''$user'' ";
 $result2 = mysql_query($SQL2);
 if (mysql_num_rows($result2)!=0) {   
   echo "<br><font face=''Arial'' size=''4'' color=''#FF0000''>$user มีอยู่แล้ว</font><br>";
   continue;   
 }
 */
 
//$member_db = mysql_insert_id()+1 ; // นำค่า id มาเพิ่มให้กับค่ารหัสสมาชิกครั้งละ1
$member_db++;
if($member_db>=100)
{
 $member_in = "0$member_db" ;
}
else
{
 if($member_db >=10)
 {
  $member_in = "00$member_db" ;
 }
 else {
  $member_in = "000$member_db" ;
 }
}
$member_id = "$yourcode$member_in" ;
 echo "<br /><font face=''Arial'' size=''3''>".$user."</font><br>"; 
 $addnew="insert into member(member_id,user,password,email,signature,signup,access,member_pic) values (''$member_id'',''$user'',''$password'',''$email'',''$signature'',$signup,$access,''$member_pic'')";
 //echo $addnew;
 mysql_query ($addnew);
}
mysql_close($LINK);
?>
<center><font face="Arial" size="4" color="#0000FF">  Transfer Users Completed</font></center>

tranusers_drupal.zip  ขนาด 1.7 kb.
 ดาวน์โหลดที่นี่
  • คะแนนโหวต 5 /5 ดาว
  • 1
  • 2
  • 3
  • 4
  • 5

คะแนนโหวต : 5 / 5 ดาว (จากจำนวนโหวต 5 โหวต)


เข้าชม : 2184 ดาวน์โหลด 346


การพัฒนาเว็บไซต์ 5 อันดับล่าสุด

      มาเปลี่ยน ระบบสมาชิก ให้ใช้รหัสผ่าน แบบ MD5 กันเถอะ 24 ก.พ. 2552
      โอนฐานข้อมูลสมาชิก จาก DRUPAL มา Maxsite 21 ก.พ. 2552
      ตรวจสอบ username เวลาสมัครสมาชิก โดยไม่ต้อง POPUP 20 ก.พ. 2552
      ระบบลิ้งค์เพื่อนบ้าน สำหรับ Maxsite 29 ธ.ค. 2551


ความคิดเห็นที่ 1
จันทร์ ที่ 29 มิถุนายน พ.ศ.2552 เวลา 21:45:14
อยากได้ joomla -> Maxsite ครับ
โดย : oat    ไอพี : 113.53.176.14



ชื่อ/Email :

เปลี่ยนรหัสชุดใหม่
ใส่รหัสที่ท่านเห็นลงในช่องนี้
ไอคอน : ย่อหน้า จัดซ้าย จัดกลาง จัดขวา ตัวหนา ตัวเอียง เส้นใต้ ตัวยก ตัวห้อย ตัวหนังสือเรืองแสง ตัวหนังสือมีเงา สีแดง สีเขียว สีน้ำเงิน สีส้ม สีชมพู สีเทา
อ้างอิงคำพูด ใส่ code เพิ่มเพลง เพิ่มวีดีโอคลิป เพิ่มรูปภาพ เพิ่มไฟล์ Flash เพิ่มลิงก์ เพิ่มอีเมล์
ความคิดเห็น :
บริษัท สกลนครโอเอแอนด์คอมพิวเตอร์ จำกัด  Page Rank