手動で挿入する方法をユーザには、 SMFのフォーラムにPHPを使う

SMFの( 簡単な機械フォーラム) 、 7月にShortLikeAFoxし、 PHPが28日、 2008年に投稿

この具体例1.1.5 SMFのためのものです。 私は他のバージョンで動作することを保証することはできません。

だから、簡単な機械フォーラムソフトウェアを実行し、ユーザーが手動で入力するか? 問題ありません。 私はこの問題を非常に具体いるようだが、知っているアイデアをここにWordpressのフォーラムや他のデータベースなどのソフトウェアパッケージを他の種類の駆動に対応することができます説明している。 前に正確にこれを行う方法になる、簡単な機械を取る方法についてのフォーラムのユーザーの追跡を見てみましょう。 は、 SMFのデータベースには、テーブルと呼ばれていますsmf_members 。 構造smf_membersこのようになります:

競技場 種類 ヌル

債務不履行 エキストラ
ID_MEMBER mediumint ( 8 )符号なし なし PRIの NULLの AUTO_INCREMENTの
memberName はvarchar ( 80 ) なし MUL
dateRegistered INTは( 10 )符号なし なし MUL 0
記事 mediumint ( 8 )符号なし なし MUL 0
ID_GROUP smallint ( 5 )符号なし なし MUL 0
lngfile tinytext なし MUL
lastLogin INTは( 10 )符号なし なし MUL 0
realnameの tinytext なし
instantMessages smallint ( 5 ) なし 0
unreadMessages smallint ( 5 ) なし 0
buddy_list 本文 なし
pm_ignore_list 本文 なし
messageLabels 本文 なし
passwdの はvarchar ( 64 ) なし
メールアドレス tinytext なし
personalText tinytext なし
tinyint ( 4 )符号なし なし 0
誕生日 日付 なし MUL 0001-01-01
websiteTitle tinytext なし
websiteUrl tinytext なし
場所 tinytext なし
ICQの tinytext なし
AIMの はvarchar ( 16 ) なし
イム はvarchar ( 32 ) なし
MSNの tinytext なし
hideEmail tinyint ( 4 ) なし 0
showOnline tinyint ( 4 ) なし 1
timeFormat はvarchar ( 80 ) なし
署名 本文 なし
timeOffset フロート なし 0
アバター tinytext なし
pm_email_notify tinyint ( 4 ) なし 0
karmaBad smallint ( 5 )符号なし なし 0
karmaGood smallint ( 5 )符号なし なし 0
usertitle tinytext なし
notifyAnnouncements tinyint ( 4 ) なし 1
notifyOnce tinyint ( 4 ) なし 1
notifySendBody tinyint ( 4 ) なし 0
notifyTypes tinyint ( 4 ) なし 2
memberIP tinytext なし
memberIP2 tinytext なし
secretQuestion tinytext なし
secretAnswer はvarchar ( 64 ) なし
ID_THEME tinyint ( 4 )符号なし なし 0
is_activated tinyint ( 3 )符号なし なし 1
validation_code はvarchar ( 10 ) なし
ID_MSG_LAST_VISIT INTは( 10 )符号なし なし 0
additionalGroups tinytext なし
smileySet はvarchar ( 48 ) なし
ID_POST_GROUP smallint ( 5 )符号なし なし MUL 0
totalTimeLoggedIn INTは( 10 )符号なし なし 0
passwordSalt はvarchar ( 5 ) なし

フィールドは我々に注意を払う必要があります:

  • memberName -自己解説。
  • dateRegistered -が必要とされていない場合は、日1969年12月31日として表示されます登録が記入されていません。 この日は、時代のタイムスタンプとして保存されます。 頭の中でどのようにタイムスタンプを計算するために知っていないか? 問題ありません。 私はここが見つかりました、無料ジェネレータを使用します
  • realnameの-挿入される必要があります。 memberNameが私にはここを繰り返すことがよく分かりません
  • メールアドレス-セルフ解説。
  • 会員活性化されるので手動でis_activated - 1に設定する必要があります。
  • ID_POST_GROUP -私はうそをつくことはありません。 私は何なのか分かりませんが、常に4に設定しているようだ。 だから... ... 。 私は常に4に設定します。 プログラムには最良の方法はどうしたらいいか?
  • パスワード-パスワードの場合は、新しいユーザーをしたい。 SMFのマニュアルを見て、どうやって入力することなく理解することは不可能です。 適切なコードは、データベース用のSMFのパスワードを暗号化するためにこのようになります:

($memberName).$password) $ passwdの= SHA1をstrtolower ( $ memberName ) 。 $パスワード)

コードの上の行では、 $のパスワードは、ユーザーの実際のパスワードです。

どのようにそれを行うには:

/ /まず、 SMFのデータベースに接続

$ホスト= "ホスト名" ; / /ホスト名
$ユーザ名= "ユーザ名" ; / / MySQLのユーザ名
$ mypassword = "パスワード" ; / / MySQLのパスワードを
$ db_name = "ユーザ名" ; / /データベース名

("cannot connect to server"); "ホスト( " $ mysql_connect 、 " $ユーザ名" 、 " $ mypassword "は)または死ぬ ( "サーバに" )を接続することはできません。
("cannot select DB"); mysql_select_db ( " $ db_name " ) または死ぬ ( " " ) DBを選択することはできません。

$ memberName = "アイアンマン" ;
$ realnameの= "トニースターク" ;
$メールアドレス= " ironMan@ironMan.com " ;
is_activated $ = 1 ;
$ ID_POST_GROUP = 4 ;

$パスワード= " Tony1234 " ;

($memberName).$password); $パスワード= SHA1をstrtolower ( $ memberName ) 。 $パスワード) ;

$ = 1216951200 dateRegistered ; / / 2008年7月25日午前2時

$クエリ= " INSERTのに、 、 ' $ 'メールアドレス、 ' $ ' is_activated 、 ' $ realnameの' ' $ memberName ' ( 、 、メールアドレス、 ID_POST_GROUP 、 realnameのdateRegistered passwdのis_activated ) memberName値( ' $ smf_members ID_POST_GROUP ' 、 ' $パスワード' 、 ' $ dateRegistered ' ) " ;
("SMF Error 101.234 "); $結果= mysql_query ( $クエリ) または死ぬ ( " SMFのエラー101.234 " ) ;

は、すべての設定は完了です!