インターネットで掲示板を作りたいのですがレンタルではなく、自作するのにhtmlやPerlを覚えたほうがいいと知りました。時間がかかってもいいので、何を用意したらいいですか?また新しくパソコンを購入して準備をするとしたらどうすればいいのでしょう?まったくの素人だと思っていただいて結構です。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

掲示板を作りたいとのことですが、


htmlもわからないと言うことは、ホームページはもっておられないのでしょうか?
Perlの知識がないと掲示板は作れませんが、サーバーをたてなくても掲示板はもてますし、
ほとんど理解していなくても大丈夫です。
改造したり、完全に位置から作りたい場合は理解が必要です。
重要なのはプロバイダが自作CGIを許可しているかどうかです。
もしプロバイダが自作CGIを許可していなければ、
新しいパソコンを買うぐらいのことも考えているのならば、
プロバイダを乗り換えることをおすすめします。

1. プロバイダで個人ホームページの開設サービスをやっているかどうか調べる。
2. やっているなら、「自作CGIが使用可能」かどうか調べる。
   →自作CGIが使用可能ならば掲示板を作れます。

※ここまではもともとクリアしている上での質問かな?

3. 自分のほしい掲示板のスクリプト(プログラム)を手に入れる。
   →インターネット上にはいろんな人が掲示板のスクリプトを公開しています。
    CGIとかPerlとかのキーワードで検索してみてくださいな。
4. 掲示板のスクリプトが置かれているホームページには、掲示板の設置の仕方
  も一緒に詳しく解説してあるはずなので、その通りにする。

  ちなみに、設置のためにやること次のことぐらいです。
    (1)スクリプトの中の一番上の方に書かれてある環境を自分のプロバイダの環境に書き換える。
    (2)プロバイダにftpでスクリプトを送信する。
    (3)パーミッションを変更する。

やりたいことと違う答えを書いてしまったかもしれませんが、
参考にはなるのではないでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。とりあえずもっともっと勉強しなくてはならないことがあるようなので、がんばってみます。

お礼日時:2001/04/06 18:28

新しいパソコンを買った場合も今までのを使ってもやり方は大体同じです



いるもの=>(apache) (perl) (メモ帳) (自分のホームページ)(パソコン)

勉強したやり方を書きます

まず(apache)を入れる(http://www.spencer.ne.jp/CommonGatewayInterface/ …
を参考にしてください

次に(http://wakusei.cplaza.ne.jp/twn/wwwcgi.htm
  (http://wakusei.cplaza.ne.jp/twn/wwwbeg.htm
  を参考に勉強してください

最後に(作る)
(apache)でテストする

この回答への補足

回答ありがとうございます。でも、これって自分のパソコンをサーバーにするということでしょうか?もしそうだとしたら、パソコンも最初からサーバーとして構築したほうがいいのでしょうか?おしえて下さい。お願いします。

補足日時:2001/04/05 20:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QHTML(AJAX)-perl -DB(MySQL)-perl -HTML(AJAX)のデータの流れについて。

こんにちわ。
早速ですがよろしくお願いします。

タイトルの通り、画面入力のデータAをperlに投げてAを元にperl側でDBデータ取得(A')、A'を元の入力画面で処理結果として出力する事を考えています。
HTML(AJAX)-perl -DB(MySQL)-perl
↑ここまではできたのですが、最後の
perl -HTML(AJAX)
が出来ず、A'を入力画面に返す方法が分かりません。

ちなみに処理結果(A')をHTML側でYahoo! User Interfaceを使用してテーブル処理する予定です。

お恥ずかしながらプログラミングに関しての知識が乏しくて恐縮なのですが、どうぞよろしくお願い致します。

Aベストアンサー

Yahoo! User Interfaceで何をされるのかわかりませんが,
入力されたものを自動で処理し入力画面に出力させるだけでしたら,

use strict;
use CGI;
use CGI::Ajax;

my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );

print $pjx->build_html( $cgi, \&Show_HTML);

sub perl_func {
my $input = shift;
# DBに接続して,何か処理をする
my $output = "処理結果を代入";
return( $output );
}

sub Show_HTML {
my $html = <<EOHTML;
<HTML>
<BODY>
Enter something:
<input type="text" name="val1" id="val1"
onkeyup="exported_func( ['val1'], ['resultdiv'] );">
<br>
<div id="resultdiv"></div>
</BODY>
</HTML>
EOHTML
return $html;
}

で出てきます。
JavaScriptを自分で一行も書かないけど,Ajaxができてしまうという優れものです。

Yahoo! User Interfaceで何をされるのかわかりませんが,
入力されたものを自動で処理し入力画面に出力させるだけでしたら,

use strict;
use CGI;
use CGI::Ajax;

my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );

print $pjx->build_html( $cgi, \&Show_HTML);

sub perl_func {
my $input = shift;
# DBに接続して,何か処理をする
my $output = "処理結果を代入";
return( $output );
}

sub Show_HTML {
my $h...続きを読む

Qperlで作った掲示板、エラーが出てしまう。

課題でperlの掲示板を作成したのですが、動作せず困っています。間違いを教えてください。

#!C:/Perl/bin/perl

require 'html_data.pl';
require 'cgi-lib.pl';
require 'jcode.pl'

if($ENV{'REQUEST_METHOD'}eq"POST"){


&ReadParse(*answer);


$name=$answer{'name'};
$mail=$answer{'mail'};
$title=$answer{'title'};
$text=$answer{'text'};

$name=~s/,/,/g;
$name=~s/&/&/g;
&name=~s/"/"/g;
$name=~s/<</g;
$name=~s/>/>/g;

$mail=~s/,/,/g;
$mail=~s/&/&/g;
&mail=~s/"/"/g;
$mail=~s/<</g;
$mail=~s/>/>/g;

$title=~s/,/,/g;
$title=~s/&/&/g;
&title=~s/"/"/g;
$title=~s/<</g;
$title=~s/>/>/g;

$text=~s/,/,/g;
$text=~s/&/&/g;
&text=~s/"/"/g;
$text=~s/<</g;
$text=~s/>/>/g;

$data="$name,$mail,$title,$text";

&jcode'convert(*data,'sjis');

if($name ne""&& $title ne""&& $text ne""){

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time());

$mon=$mon+1;

@youbi=('日','月','火','水','木','金','土');

$time="$mon月$mday日$youbi[$wday]曜日$hour時$min分";

$all_data="$time,$data\n";

open(ANSWER,"<answer.dat");

@all=<ANSWER>;

close(ANSWER);

unshift(@all,$all_data);

open(ANSWER,">answer.dat");

flock(ANSWER,2);

print ANSWER @all;

flock(ANSWER,8)

close(ANSWER);

}

}

&form;

open(ANSWER,"<answer.dat");
@all=<ANSWER>;

foreach(@all){

($time,$name,$mail,$title,$text)=split(/,/,$_);

&toukou;

}

close(ANSWER);

&footer;

exit;

課題でperlの掲示板を作成したのですが、動作せず困っています。間違いを教えてください。

#!C:/Perl/bin/perl

require 'html_data.pl';
require 'cgi-lib.pl';
require 'jcode.pl'

if($ENV{'REQUEST_METHOD'}eq"POST"){


&ReadParse(*answer);


$name=$answer{'name'};
$mail=$answer{'mail'};
$title=$answer{'title'};
$text=$answer{'text'};

$name=~s/,/,/g;
$name=~s/&/&/g;
&name=~s/"/"/g;
$name=~s/<</g;
$name=~s/>/>/g;

$mail=~s/,/,/g;
$mail=~s/&/&/g;
&mail=~s...続きを読む

Aベストアンサー

syntax error at *** line 7, near "){"
syntax error at *** line 74, near ")

とりあえず、下記を2行目に以下を入れておくといいでしょう。(参考URL)
use CGI::Carp qw(fatalsToBrowser);

参考URL:http://allabout.co.jp/career/cgiperl/closeup/CU20040209A/

Qperlで掲示板を

perlの本を買ってきてサンプルプログラムでwindows内のサーバーでのcgiは動いたのですが、実際にプロバイダーにアップロードしようとしているのですが、upするファイルはcgi-libと実際に書いたcgiだけでいいのでしょうか。他に何かupする必要があるのでしょうか?なんか、ちょっと怖くて適当にはupできないでいます。

Aベストアンサー

とにかく、掲示板CGI本体が入っているフォルダ全部をアップロードしたら、動くのではないのでしょうか。
恐らくそういう本なので、掲示板用のフォルダをつ作って、その中に必要なファイルをすべてぶち込んでいるはずです。まとめてアップロードして、パーミッションを本通りに設定すれば、上手くいくと思います。
とにかく、一発目で動く保障はないです。だから、安心してアップロードして、失敗して、パーミッションいじったりファイルをアップしたり削除したりして、何とかがんばってください。
失敗を恐れずチャレンジです。

QHTMLとPerl間のページ遷移について。

HTMLとPerl間のページ遷移について。

こんにちわ。
HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。
Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。

現在、クライアントでは、JavaScriptを使ってログインフォームを作っています。そして、フォームの中の値を取得して、POST送信することはできます。次に、サーバにてPerlで受け取ったパラメータをチェックし、ユーザ名とパスワードの認証をとるところまではできています。しかし、その後にどうすべきかがわかりません。locationで、もとのHTMLファイル(index.html)を指定しても、ログインを認証したという情報は保持しておらず、それでは意味がありません。
Perlでログインを認証した後に、認証したという情報を保持したままHTMLページに遷移する事は可能でしょうか。可能であればその方法を教えていただきたく思います。
よろしくお願いします。

HTMLとPerl間のページ遷移について。

こんにちわ。
HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。
Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。

現在、クライア...続きを読む

Aベストアンサー

 Perlが使えるなら、わざわざ制約の大きいjavascriptなど使わなくてすむと思いますが????

perlにて、
if(チェックOK){
 $login_FORM = qq^ログイン中<form
 action="$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}" metod="post">
 <input type="submit" size="10" value="ログアウト" </form>^;}
else{
 $login_FORM = qq^<form
 action="$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}" metod="post">
 <input type="text" size="10" value="" name="userName">ID
 <input type="pasword" size="10" value="" name="pasword">パスワード
 </form>^;
}

print qq^現在のHTMLからjavascriptを除いたものをここに書く。
$login_FORM
続きのHTML^;
**************処理
__END__

この場合、index.cgiが、そのページになる。
 htmlの拡張子がよければ、htmlをCGIとして、サーバーに認識させるか、PATH_INFOで処理すること。
例) htt://hoge.com/userPage/index.html
              ^^^^^^^^^自体をCGIにする

 Perlが使えるなら、わざわざ制約の大きいjavascriptなど使わなくてすむと思いますが????

perlにて、
if(チェックOK){
 $login_FORM = qq^ログイン中<form
 action="$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}" metod="post">
 <input type="submit" size="10" value="ログアウト" </form>^;}
else{
 $login_FORM = qq^<form
 action="$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}" metod="post">
 <input type="text" size="10" value="" name="userName">ID
 <input type="pasword" siz...続きを読む

Qhtml →perlへフォームを渡そうとしてますが

独学でmacでパールを勉強しています。
始めてからまだ1週間すこしくらい。
教科書読みながら、
CGIへフォームを渡す所の段階まで進んできました。

現段階で、htmlからperlへフォームを渡そうとしているのですが、
上手く行きません。

状況としては、htmlのフォームを入力して、登録を押す。

成功であれば→実行結果が表示されるはずなのですが、
現段階ではFinderがその実行htmlの場所を開くだけという形になっています。

下記は実験用に使っているソースです。
ーーーーーーーーーーー

htmlは

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>test</title>
<style type="text/css">
</style>
</head>

<body>
<h1>メンバーズリスト</h1>

<form method="post" action="form.cgi">
<p>
名前:<br/>
<input type="text" name="name"/>
</p>
<p>
性別:
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female">女
</p>
<input type="checkbox" name="megane">メガネを付けてる
</p>
<p>
<select name="kankei">
<option value="yuujin">友人
<option value="kaisya">会社関係
<option value="sonota">その他
</select>
</p>

<p>
住所: <textarea name="jyusyo" rows="5" cols="40" ></textarea>
</p>
<p>
<input type="submit" value="登録"/><input type="reset" value="クリア"/>
</p>
</form>

</body>
</html>


ーーーーーーーーーーーーーーーーー
perlは




#!/usr/bin/perl

require 'cgi-lib.pl';

&ReadParse(*form);

$name = $form{'name'};
$sex = $form{'sex'};
$megane = $form{'megane'};
$kankei= $form{'kankei'};
$jyusyo = $form{'jyusyo'};

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>情報受け取り</TITLE></HEAD>\n";
print " <BODY>\n";

print "<H1>情報受け取り</H1><HR>\n";

print "名前:${name}<BR>\n";
print "性別:${sex}<BR>\n";
print "めがね:${megane}<BR>\n";
print "関係:${kankei}<BR>\n";
print "住所${jyusyo}<BR>\n";

print "</BODY>\n";
print "</HTML>\n";
__END__

です。
ちなみに localhost上で同一ファイルに入れて、
動かしてます。

ご確認の上、ご助言ください、



perlの教科書に書いてあった構文は、
htmlの学習をするために使ってきたものと全く違ったため、
要点だけ残す形で、再度書いたものです。

htmlの文章がおかしいのか、perlがおかしいのか、

頭が変になりそうです。お助けください。

独学でmacでパールを勉強しています。
始めてからまだ1週間すこしくらい。
教科書読みながら、
CGIへフォームを渡す所の段階まで進んできました。

現段階で、htmlからperlへフォームを渡そうとしているのですが、
上手く行きません。

状況としては、htmlのフォームを入力して、登録を押す。

成功であれば→実行結果が表示されるはずなのですが、
現段階ではFinderがその実行htmlの場所を開くだけという形になっています。

下記は実験用に使っているソースです。
ーーーーーーーーーーー

htmlは

<!DOCTYPE ht...続きを読む

Aベストアンサー

アドバイスになりますが。

CGIとHTMLとPerlは分けて勉強してください。

まずは、Perlそのものの使い方を一通り勉強してください。
ついでに、Unix 系OSの基本事項(ディレクトリ構成とか、権限とか)を勉強してください。

Perlで動作するものができれば、それまで単にprintしていたものを、一定の書式になるようにすればCGIとして動作するようになります。httpサーバーで違うディレクトリになっても、変更するべき箇所がすぐにわかるはずです。


> require 'cgi-lib.pl';

いまどき、cgi-lib.plは使わないでしょ。
少くともOSX 10.6にはperl 5.10が付いています。CGI.pmが使えます。


> 教科書通り、
> sudo cp ./Desktop/httpd.conf /private/etc/httpd/
> と打って、パスワードを打つと
> デスクトップに/private/etc/httpd.conf ファイルがデスクトップにコピーされるとの記載があるのですが

本当ですか?
もしそうなら、その教科書は間違いです。
・sudo 管理者権限でコマンドを実行するためのコマンド
なのでいったん置いておくと、
cp ./Desktop/httpd.conf /private/etc/httpd/
ってどんなコマンドになるか、理解していますか?
この「./Desktop」の「.」 ってなんだかわかってますか?

アドバイスになりますが。

CGIとHTMLとPerlは分けて勉強してください。

まずは、Perlそのものの使い方を一通り勉強してください。
ついでに、Unix 系OSの基本事項(ディレクトリ構成とか、権限とか)を勉強してください。

Perlで動作するものができれば、それまで単にprintしていたものを、一定の書式になるようにすればCGIとして動作するようになります。httpサーバーで違うディレクトリになっても、変更するべき箇所がすぐにわかるはずです。


> require 'cgi-lib.pl';

いまどき、cgi-lib.plは使わないでしょ...続きを読む


人気Q&Aランキング

おすすめ情報