newbie CGI

Nguyễn Xuân Sơn
(NguyenXuanSon)

New Member
chao moi nguoi,
minh nghich ngom CGI nhung khong thiet lap duoc tren account cua labo, co phai chang ho khong cho xu dung CGI (to cha tim duoc CGI-BIn nhu huong dan tren cac trang web ve cai dat CGI). Lam the nao de co the thiet lap duoc CGI nhi, du khong la admin?
Thuc ra minh dinh viet mot trang web co CGI vi muc dich sau: cac bai bao khoa hoc thi chi lay duoc tu cac may tinh co IP cua truong minh thoi. Minh dinh viet mot trang web dat o account minh o truong, trang web nay se co mot muc de paste link vao (minh tim tu may o nha), roi an mot cai summit button tren trang web de no lay cai bai bao do ( ma minh da dua link) roi send bang mail lai cho minh (lay bai bao thi minh dinh dung mot cai y nghi tho thien bang wget trong linux).
Minh co the noi bang xwindow tu nha de lay bao, nhung toc do rat cham, nen moi bay ra tro nay, nhung cha hieu di den dau.
co ai co kinh nghiem khong a?
Xuan Son
 
Nếu admin ko cho phép sử dụng CGI thì anh chẳng có cách nèo enable nó cả.

Nhưng nếu root cho phép CGI, anh cứ copy thẳng nó vào thư mục httpdocs rùi chạy xem seo.
 
Còn em đọc mãi mà chẳng hỉu ý anh là rì cả. Mà em chẳng hỉu ý anh rì cả, nếu như anh thích bài nèo, khi ở trường anh cứ việc copy nó vào account của anh, thư mục httpdocs á, xong rùi về nhà download nó có phải dễ dàng hơn bao nhiu ko??
 
Nguyễn Xuân Sơn đã viết:
Thuc ra minh dinh viet mot trang web co CGI vi muc dich sau: cac bai bao khoa hoc thi chi lay duoc tu cac may tinh co IP cua truong minh thoi. Minh dinh viet mot trang web dat o account minh o truong, trang web nay se co mot muc de paste link vao (minh tim tu may o nha), roi an mot cai summit button tren trang web de no lay cai bai bao do ( ma minh da dua link) roi send bang mail lai cho minh (lay bai bao thi minh dinh dung mot cai y nghi tho thien bang wget trong linux).

Anh chả biết gì về CGI, thử bằng php xem được không, đại loại load cái http_get_url.php để làm lib, và dùng nó thế này (tất nhiên là sửa đi 1 tý cho nó phù hợp):

==========

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
include 'http_get_url.php';
if (!isSet($myurl)) {
$myurl="www.yahoo.com";
}
$ret = http_get_url($myurl, 80, "/", "",
basic_auth_hdr("", ""), $page, $header, $resp_line);
echo $page;
?>
</body>
</html>

=====================

Thử xem có được không. Vừa học lỏm được 1 ít php xong.

/Thanh
 
cảm ơn anh Thành, dang xem xét, ý em quanh đi quẩn lại cũng chỉ để làm cái việc này. Nếu mà lấy được rồi gửi mail về một địa chỉ fixe thì hay quá. Khổ cái chả biết gì PhP cả.
============
Vừa copy cái code html cua anh va chay thu ma cha thay hien ra gi ca. Với một cả kém cỏi như em thì không gì hay bằng một cái gì cụ thể hơn , sờ được, ngửi được, "cắn" được. Em có thể dễ dàng thêm button và text window để paster link nhưng làm tiếp thế nào nhỉ?
http://www.lpthe.jussieu.fr/~xuanson/Paper.html
Ý em là sau khi paste cái link vào thì ấn summit, nó sẽ lấy bào hộ em (SERVER side!) rồi send back to me.

Còn để minh chứng là perl khong chay thì sep thử xem, hoặc em đậu phụ hoặc là admin cứng quá.
http://www.lpthe.jussieu.fr/~xuanson/plhello.htm
Đội ơn sếp mười ngày :)
XS
 
Chỉnh sửa lần cuối:
Nguyễn Xuân Sơn đã viết:
cảm ơn anh Thành, dang xem xét, ý em quanh đi quẩn lại cũng chỉ để làm cái việc này. Nếu mà lấy được rồi gửi mail về một địa chỉ fixe thì hay quá. Khổ cái chả biết gì PhP cả.
============
Vừa copy cái code html cua anh va chay thu ma cha thay hien ra gi ca. Với một cả kém cỏi như em thì không gì hay bằng một cái gì cụ thể hơn , sờ được, ngửi được, "cắn" được. Em có thể dễ dàng thêm button và text window để paster link nhưng làm tiếp thế nào nhỉ?
http://www.lpthe.jussieu.fr/~xuanson/Paper.html
Còn để minh chứng là perl khong chay thì sep thử xem
http://www.lpthe.jussieu.fr/~xuanson/plhello.htm
Đội ơn sếp mười ngày :)
XS
Cái của anh Thanh em chưa có thời gian debug, đợi tí nữa cài lại máy rùi xem thử xem tại seo nó ko hiện ra.

Tạm thời, nếu code của anh Thanh chạy được thì thay cái echo $page = cí nì để nó tự động gửi mail cho anh bài viết:
Mã:
$header =  "MIME-Version: 1.0\r\n"
$header .= "Content-Type: multipart/mixed; boundary=\"abcdefghijklmnopqrstuvwxyz\"\r\n"
$header .= "Content-Transfer-Encoding: 7bit";

$msg = "--abcdefghijklmnopqrstuvwxyz\n"
$msg .= "Content-Type: text/plain\n"
$msg .= "Content-Transfer-Encoding: 7bit\n\n"
$msg .= "Xem file gui kem\n\n"

$msg .= "--abcdefghijklmnopqrstuvwxyz\n"
$msg .= "Content-Type: text/html\n"
$msg .= "Content-Transfer-Encoding: base64\n"
$msg .= "Content-Disposition: attachment\n\n"

$msg .= chunk_split(base64_encode($page));
$msg .= "\n--abcdefghijklmnopqrstuvwxyz--";

mail("dia_chi_email_cua_anh", "URL",  $msg, $header);
 
Nói trước là đoạn code trên em vừa viết xong, chưa test tiếc rì cả, có thể sẽ chạy, có thể ko. Anh cứ dùng, nếu ko được thì post lên để em xem lại.
 
Nguyễn Xuân Sơn đã viết:
Vừa copy cái code html cua anh va chay thu ma cha thay hien ra gi ca...

Bình thường lúc anh gõ 1 cái gì đó có code PhP ở trong thì hay đặt tên file là *.php rồi để lên webserver, không biết nếu để đuôi *.htm hoặc *.html có ảnh hưởng gì không vì chưa thử.

Sơn làm 1 file test.php chỉ có nội dung thế này:

<?php
echo "Thu xem cai cua no PhP co cai tren may khong";
?>

Rồi đặt lên server xem nó hiện ra gì để biết server nó có support PhP ko, nếu có thì Submit button, Send mail,... mình mới làm tiếp cho đỡ tốn thời gian :)

/Thanh
 
Chờ mãi mới thấy thằng Thanh phán được 1 câu đúng, không biết web server có support php hay không mà đã đi gà người khác php code :)
 
Ngô Nguyễn Duy đã viết:
Chờ mãi mới thấy thằng Thanh phán được 1 câu đúng, không biết web server có support php hay không mà đã đi gà người khác php code :)

Nguyên tắc của tao đơn giản thế này: Nếu nhiệm vụ là sút bóng vào gôn thì đầu tiên cứ nhắm mắt sút bừa 1 phát, nếu thấy bóng ở gôn rồi thì thôi, nếu không mới bỏ công ra nghiên cứu bóng tròn hay méo, chân cong hay thẳng,... rồi mới đến kết luận là chịu ko sút được vì không có bóng hoặc không có gôn

Cái code để load URL và code để test có PhP hay ko đều ngắn tý, và bằng nhau về thời gian gõ :)
 
Chỉnh sửa lần cuối:
Bùi Hải Thanh đã viết:
Nguyễn Xuân Sơn đã viết:
Vừa copy cái code html cua anh va chay thu ma cha thay hien ra gi ca...

Bình thường lúc anh gõ 1 cái gì đó có code PhP ở trong thì hay đặt tên file là *.php rồi để lên webserver, không biết nếu để đuôi *.htm hoặc *.html có ảnh hưởng gì không vì chưa thử.

Sơn làm 1 file test.php chỉ có nội dung thế này:

<?php
echo "Thu xem cai cua no PhP co cai tren may khong";
?>

Rồi đặt lên server xem nó hiện ra gì để biết server nó có support PhP ko, nếu có thì Submit button, Send mail,... mình mới làm tiếp cho đỡ tốn thời gian :)

/Thanh
A?nh hu+o+?ng qua' ddi a^'y chu+'. Thay extension = html hay htm ---> file ko cha.y.
 
Bùi Hải Thanh đã viết:
Ngô Nguyễn Duy đã viết:
Chờ mãi mới thấy thằng Thanh phán được 1 câu đúng, không biết web server có support php hay không mà đã đi gà người khác php code :)

Nguyên tắc của tao đơn giản thế này: Nếu nhiệm vụ là sút bóng vào gôn thì đầu tiên cứ nhắm mắt sút bừa 1 phát, nếu thấy bóng ở gôn rồi thì thôi, nếu không mới bỏ công ra nghiên cứu bóng tròn hay méo, chân cong hay thẳng,... rồi mới đến kết luận là chịu ko sút được vì không có bóng hoặc không có gôn

Cái code để load URL và code để test có PhP hay ko đều ngắn tý, và bằng nhau về thời gian gõ :)

He` he`, tha^'y anh Thanh da.o na`y chi.u kho' ngo^`i nghie^n cu+'u, em ddang co' mo^.t so^' bug ca^`n pha?i fix, hay em post le^n ro^`i anh THanh test cho em ca'i nhi?
 
Nguyễn Xuân Sơn đã viết:

Hello,

Anh copy cái đoạn của Hiếu và Sơn vào thành cái này, save nó thành 1 cái gì đó *.php và save cái file lib kia vào cùng directory là load được html page, còn làm sao load pdf thì anh cũng chưa biết, Sơn chịu khó tự nghiên cứu tiếp :) Đại loại là thay cái content-type và chỉnh sửa cái gì đó ở cái lib kia.

/Thanh

Mã:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
       <title>Title here!</title>
</head>
<body>
<?php
include 'http_get_url.php';
if ((isSet($myurl)) && !empty($myurl)) {
$ret = http_get_url("www.yahoo.com", 80, "/", "",
basic_auth_hdr("", ""), $page, $header, $resp_line);
$header =  "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"abcdefghijklmnopqrstuvwxyz\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit";

$msg = "--abcdefghijklmnopqrstuvwxyz\n";
$msg .= "Content-Type: text/plain\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= "Xem file gui kem\n\n";

$msg .= "--abcdefghijklmnopqrstuvwxyz\n";
$msg .= "Content-Type: text/html\n";
$msg .= "Content-Transfer-Encoding: base64\n";
$msg .= "Content-Disposition: attachment\n\n";

$msg .= chunk_split(base64_encode($page));
$msg .= "\n--abcdefghijklmnopqrstuvwxyz--";

//echo $page;
mail("[email protected]", "URL",  $msg, $header);
}

?>

<!-- <form method="GET">
	<p>WHERE YOU CAN GET YOUR PAPER!</p>
	<p><input type="text" name="myurl" size="160"><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>

</form>
<p><a href="http://www.bius.jussieu.fr/web/local/restrict.html">SEARCH ARTICLE</a></p>
<p>&nbsp;</p>
<hr> -->

</body>
</html>
 
Chỉnh sửa lần cuối:
Doa.n codec cu?a anh Thanh, cha.y la`n ne`o no' cu~ng chi? download yahoo thui, he.he.. Va? la.i doa.n code cu?a anh co' ve? nhu+ ko co' ri` sai nhu+ng tro^ng ho+i qua'i di.

Ca'i <form method="GET"> du`ng de? gu?i du~ lie.u de'n PHP script da~ obsolete tu` la^u ru`i. Pha?i la` <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">. Ca'i doa.n isset($myurl) vo'i ca? !empty($myurl) se~ pha?i tha`nh isset($_POST['myurl']) && !empty($_POST['myurl']). Co`n ca'i www.yahoo.com se~ pha?i do?i tha`nh $_POST['myurl'].

Ne^'u muo^'n gu?i file PDF thi` trong doa.n ma~ cu?a em chi? ca`n thay ca'i text/html tha`nh application/pdf la` d.c (Vo'i die`u kie.n doa.n ma~ trong http_get_url.php cu~ng pha?i tra? la.i du~ lie.u 1 ca'ch chi'nh xa'c).
 
A` ma` seo anh la.i comment ca'i doa.n code cho form?? La`m the^' seo no' hie.n ra ri` d.c.
 
Hiếu thử xem có làm giúp hộ anh được không: cu thể vào,
Bước 1: làm sao mà truyền được link pasted in the text form
http://www.lpthe.jussieu.fr/~xuanson/Paper.html
cho PHP, va từ đó, PHP gọi một chướng trình nào đó retrieve file theo link đo (server side) rồi send mail cho anh ([email protected] chẳng hạn). Môi trường LINUX, có các command sau để láy file:
wget URL ( sẽ save file xuống local account) và lệnh sendmail....
XS
 
Chao cac bác,
nhan tien hoi ve CGI xin moi nguoi hay cho mot bai tong quan ve cac ngon ngu script duoc khong a. Minh thay loan xi lo len cac loai script: Perl, PhP, Python, Ruby, Java script, VB script...(bo chinh neu minh nham lan). CHo minh hoi tai sao co nhieu the co chu, voi ca cac uu nhuoc diem cua chung, cai nao de dung nhat, cai nao se duoc phat trien trong tuong lai.
Cam on nhieu truoc. Cũng nhờ các bác mà tôi đang hý hoãy PHP, công nhận có vẻ tiến bộ nhanh hơn so với Perl thật ( thấy được cục ngô cục khoai ngay, mát lòng mát dạ các bác ạ :)
XS
 
Back
Bên trên