[WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!

เริ่มโดย EThaiZone, 05 สิงหาคม 2008, 22:39:50

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

EThaiZone

มาอัพเดตหน่อย กลัวกระทู้หมดอายุ

ปัญหาหลายท่านที่มักตกม้าตายกับเรื่อง Register Global OFF
นี้่แทบเป็นกันหลายคน โดยเฉพาะคนที่ยังใช้ php4

จริงๆ ไม่ได้เกี่ยวที่เวอร์ชั่นของ php ที่มันมาจากเมื่อมีการออก php5
ก็ได้มีการปรับ default เป็น OFF เพื่อความปลอดภัย
เพราะถ้าโดนเปิดไว้ และคนแฮกเขาพอเดาแนว Source code
หรือ Code นั้นเป็น Opensource ก็มีโอกาสที่เขาจะแก้ไขตัวแปรบางตัวได้เลย
แต่โอกาสก็น้อยลง ถ้าเป็นโค้ดเขียนเอง

http://www.thaiseoboard.com/index.php/topic,16811.msg219159.html#msg219159

แต่มันจะต่างตรงไหนกัน เพราะเราก็เดาคำที่คนเขียนมักใช้ได้อย่างไม่ยากกันเลย




วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)

au8ust

ขอถามเรื่องตัวเลขครับ

คือ จะทำ str_replace ตัวเลข ทำใน php ได้ไม่มีปัญหา แต่ไม่รู้ยังไง มันไปอยู่ใน javascript บางส่วน เป็นสคริปต์ yShout น่ะครับ ส่วนของ history ไว้ดูข้อความเก่ามันเป็น php แก้ตามปกติ

$html .= ' <span class="ys-post-timestamp">' . alterNumeric($ts) . '</span> ' . "\n";

แต่ส่วนแสดงผลที่จะเปลี่ยนตัวเลขมันอยู่ใน .js

(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp) + '</span> ' : '') +

กรณีแบบนี้ จะใช้วิธีไหนแก้ตัวเลขครับ? (ex: 1 = ๑)

tinnoi

อ้างถึงจาก: EThaiZone ใน 25 พฤศจิกายน 2008, 18:37:30

วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)

ขอบคุณมาก ๆ เลยครับ โชคดีจริง ๆ เลยผม ที่คลิกเข้ามาอ่าน
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

EThaiZone

อ้างถึงจาก: au8ust ใน 25 พฤศจิกายน 2008, 21:23:21
ขอถามเรื่องตัวเลขครับ

คือ จะทำ str_replace ตัวเลข ทำใน php ได้ไม่มีปัญหา แต่ไม่รู้ยังไง มันไปอยู่ใน javascript บางส่วน เป็นสคริปต์ yShout น่ะครับ ส่วนของ history ไว้ดูข้อความเก่ามันเป็น php แก้ตามปกติ

$html .= ' <span class="ys-post-timestamp">' . alterNumeric($ts) . '</span> ' . "\n";

แต่ส่วนแสดงผลที่จะเปลี่ยนตัวเลขมันอยู่ใน .js

(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp) + '</span> ' : '') +

กรณีแบบนี้ จะใช้วิธีไหนแก้ตัวเลขครับ? (ex: 1 = ๑)

อ่านแล้วผมไม่ค่อยเก็ทคำถามเลยครับ
แต่สรุปว่าจะแทนที่ตัวเลขจากค่าที่มีการทำงานบน javascript นะครับ

ลองอ่านนี้ดูครับ
http://www.w3schools.com/jsref/jsref_replace.asp

เดาจากตัวอย่าง ก็น่าจะเป็นแบบนี้ครับ

อ้างถึง(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp).replace(/1/, "๑") + '</span> ' : '') +

ก็ลองดูนะครับ ผมไม่เคยใช้ yShout ที่ว่าเลย  :P

EThaiZone

อีกตัวอย่าง จากฟังค์ชั่นตัวนี้
http://www.webtoolkit.info/javascript-string-replace.html

จริงๆ ก็คือใช้ split แล้ว join
แต่แน่นอนว่ามันไม่เหมือน str_replace ของ php ตรงมันรองรับ array ไม่ได้ และลำบากที่จะจัดการ
(นึกภาพว่าถ้าแปลงเลข 0 - 9 ก็ต้องยัดสิบครั้ง)

ผมเลยลองทำฟังค์ชั่นใหม่ดู (ไม่น่าจะมีใครทำ)

/**
*
*  Javascript string replace (array version)
*  http://www.ethaizone.com/
*
**/


function str_replace_arr(haystack, needle, replacement) {
for (var i = 0; i < needle.length; i++) {
haystack = haystack.split(needle[i]);
haystack = haystack.join(replacement[i]);
}
return haystack;
}


ตัวอย่างทดลอง (เซฟเป็น html แล้วลองรันดูได้ เพื่อทำความเข้าใจ)

<script>
function str_replace_arr(haystack, needle, replacement) {
for (var i = 0; i < needle.length; i++) {
haystack = haystack.split(needle[i]);
haystack = haystack.join(replacement[i]);
}
return haystack;
}

var tmp = "11/122313/543";

var arr_search = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
var arr_replace = new Array("๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙");

alert(str_replace_arr(tmp, arr_search, arr_replace));
</script>


ถ้าจะเอาไปใช้กับโค้ดคุณ au8ust ก็จะเป็นแบบนี้

อ้างถึง(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + str_replace_arr(time(post.timestamp), arr_search, arr_replace) + '</span> ' : '') +

โดยอย่าลืมว่า
- ก็อบฟังค์ชั่นมันไปวางด้วย
- อย่าลืมค่า arr_search กับ arr_replace ต้องอยู่ในรูป array ที่จำนวนเท่ากัน

:)

siamman

อ้างถึงจาก: EThaiZone ใน 25 พฤศจิกายน 2008, 18:37:30

วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)

ขอบคุณครับ หลังจากนี้จะลดการใช้ global ลงเยอะๆ

thongseed

ได้รอยหยักในสมองเพิ่มขี้นเยอะเลยครับ  ::)
[direct=http://www.rcseed.blogspot.com]RC ของเล่นคนรวย_1[/direct]  [direct=http://www.rcjeed.blogspot.com]RC ของเล่นคนรวย_2[/direct]  [direct=http://www.technoenter.blogspot.com]technoenter อัพเดท[/direct]  [direct=http://www.notebookhot.co.cc]Notebook ใหม่ ๆ จ้า[/direct]

au8ust

อ่า... คุณโจ้ครับ










มันแจ๋วจริง ๆ ครับ


ใช้แบบที่สองของคุณโจ้ ได้ผลดีครับ

ขอบคุณมาก ๆ ครับ :)

ManyMoney

เกรงใจนะครับ แต่อยากทราบว่าทำ web อย่างนี้เขียนยังไงครับ
hxxp://glitter.postjung.com/create.php
เค้าใช้scriptอะไรสำเร็จรูปหรือเขียนเองครับ คือ ถ้าทำ gif ด้วยgd phpก็พอทำได้ แต่ไปต่อไม่ถูก
ที่สงสัยคือ

1. การเลือกรูปแบบ โดยการ click ที่รูป เค้าทำยังไง (ปกติใช้เป็นแต่ <input type=> กะ <select> ) อันนี้เค้าเลือกรูปแบบ font รูปแบบani โดยการclick ได้เลย เข้าใจว่าเป็น javascript แต่อยากทราบหลักการส่งค่าไป actionครับ

2. ทำรูปแบบ animation ยังไง เช่น บางรูปแบบ zoomเข้าออก บางแบบ หมุนซ้ายขวา  บางแบบขึ้นๆลงๆ เอาแบบพวกนี้มารวมกับข้อความที่user key input เข้าไปได้ไง?  gd2 มันrotate กลับไปกลับมา แล้วเก็บค่าแสดงตัวอย่างได้ยังไง

3. ทำให้user สามารถ drag gif text animation ย้ายตำแหน่งได้ด้วย เข้าใจว่าทำผ่าน javascriptแล้วส่งค่าx y ไปphp แต่ไม่รู้ว่าทำยัง แต่ที่ไหน referenceไหมครับ?

อยากทำได้บ้าง แต่ไม่รู้จะถามใคร ใครเซียนๆ php+gd2+javascript ช่วยหน่อยครับ
http://www.thaiseoboard.com/index.php/topic,180250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ

au8ust


EThaiZone

ที่คุณ getkey1พูดมา คงรวมถึงพวก doll maker หรือ avatar maker ด้วยมั้ง

ลองดูนี้ดูครับ
http://dollmakercode.com/

ตัวอย่าง ไปหาดูที่ thainuke.org ได้เลย
หรือโหลดโมดูลมันมาลองเล่นก็ได้

:)

ManyMoney

ขอบคุณนะครับ แต่ว่า

อ้างถึงจาก: au8ust ใน 26 พฤศจิกายน 2008, 16:07:31
@getkey1
เหมือนจะมีคนถามเยอะจนทำเป็น  FAQ ได้เลยนะเนี่ย อิอิ

http://www.thaiseoboard.com/index.php/topic,29611.0.html
http://www.thaiseoboard.com/index.php/topic,40886.0.html
http://www.thaiseoboard.com/index.php/topic,16223.0.html

ส่วนใหญ่มันเป็นการนำ gif ทีละอักษรมาต่อกันไม่ได้ใช้ phpครับ ที่ใช้phpมันก็ไม่ได้ใช้ gd2 แต่เป็นอย่างอื่น และไม่มีdragableด้วยครับ

อ้างถึงจาก: EThaiZone ใน 26 พฤศจิกายน 2008, 23:27:34
ที่คุณ getkey1พูดมา คงรวมถึงพวก doll maker หรือ avatar maker ด้วยมั้ง

ลองดูนี้ดูครับ
http://dollmakercode.com/

ตัวอย่าง ไปหาดูที่ thainuke.org ได้เลย
หรือโหลดโมดูลมันมาลองเล่นก็ได้

:)

อันนี้ใกล้เคียงมากครับ แต่ผมหาที่ downloadไม่เจอ เหมือนมันให้ใช้ js ผ่านเว็ปมันอีกที ไม่ให้source phpอ่ะครับ ผมอยากได้ที่มัน dragได้แล้วsave เป็น gifหรือ jpgไฟล์เดียวได้เลยอ่ะครับ หามาหายแล้วไม่เจอสักที
ขอบคุณ
http://www.thaiseoboard.com/index.php/topic,180250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ

tinnoi

ขอบคุณมากครับ เอาไปทำเกมส์ แต่งตัว แบบ true หรือ sanook ได้เลยนะเนี่ย
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

EThaiZone

ตัว source php คงต้องเขียนเองครับ

แต่แน่ๆ ตัวนี้มันเซฟเป็นรูปเดียวได้ ลองไปเล่นที่ thainuke ดูครับ
ถ้าไม่ติดใจว่า php อยากได้บนเซิร์ฟเรา อันนี้ก็เป็นทางเลือกที่ดีเหมือนกัน

:) (ประหยัดเวลาทำเองไปตั้งเยอะ)

tinnoi

ผมอยากเขียน scripts แบบที่คุณ โจ้ เคยทำ ตรง avatar น่ะครับ ที่สามารถ
ไม่ทราบว่าผมเข้าใจรูปแบบถูกรึเปล่านะครับ

1 ถ้าทำการเรียก รูปภาพบน host ของเรา เช่น img src="pic1.jpg"

2 เราจะต้องทำ ไฟล์ .htaccess ให้ทำการตรวจสอบว่า ใครเรียกไฟล์ pic1.jpg มาให้ไปเรียกไฟล์ genpic.php มาแทน

3 แล้วไฟล์ genpic.php ก็ทำการ random รูปขึ้นมาก่อน

4. พอ random รูปได้แล้วก็ใช้คำสั่ง header ส่งเป็นรูปไป

อย่างนี้ทุกครั้งที่เรียก  pic1.jpg เราก็จะได้รูปภาพ random ไปเรื่อย ๆ อย่างนี้ถูกไหมครับ

พอเข้าใจ concept ครับ แต่ ตรงข้อ 4 น่ะครับ นึกไม่ออกว่าเขียนยังไง
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

ball6847

#335
แบบนี้ไม่ได้หรอคับ  ???

<?php

// รูปภาพทั้งหมด
$images = array(
'jhg.jpg' ,
'asd.jpg' ,
'qwe.jpg' ,
'hfgh.jpg' 
);

// สุ่มคีย์มา 1
$image $images[array_rand($images)];

// เช็คไฟล์
if(file_exists($image)) {
// ไปที่รูป
header("Location: "$image);
} else {
// ไปหน้า 404
header("Location: 404.php");
}


?>



เอ้อ กำ นึกไปนึกมาจะ redirect ทำมัยหว่า

แก้้ๆๆๆๆ

<?php

// รูปภาพทั้งหมด
$images = array(
'jhg.jpg' ,
'asd.jpg' ,
'qwe.jpg' ,
'hfgh.jpg' 
);

// สุ่มคีย์มา 1
$image $images[array_rand($images)];

// เช็คไฟล์
if(file_exists($image)) {
// แสดงรูป
readfile($image);
} else {
// ไปหน้า 404
header("Location: 404.php");
}


?>


We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

tinnoi

ขอบคุณ คุณบอล มากครับ

search ไปเรื่อยเจอโค้ดนี้

<?php
// Change the folder name to your one in the line below
$folder "images"
srandtime() );
if (
$directory = @opendir($folder)) {
while ((
$image readdir($directory)) !== false) {
if ( 
eregi'.(jpg|gif)$'$image ) ) { $images[] = $image; }

closedir($directory);
}
$image $images[rand() % sizeof$images )];
if ( 
eregi'.jpg$'$image ) ) {
header"Content-Type: image/jpeg" );
} else {
header"Content-Type: image/gif" );
}
header"Content-Length: " filesize$folder."/".$image ) );
readfile$folder."/".$image );
?>



ใช้ได้เหมือนกัน สำคัญอยู่ที่คำสั่ง header content-type ใช่ไหมครับ


เอ่อ ผมทำตัว .htaccess ที่ทำการ เปลี่ยนทิศทางเวลา คนเรียกไฟล์ pic1.jpg แล้วให้มันไปเรียกไฟล์ randomimage.php หายไปแล้วอ่ะครับ
รบกวน code เป็น guide ให้ผมทีครับ   :-*
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

ball6847

อ่าาา น่าจะแบบนี้ป่าววา


RewriteRule pic1\.jpg$ randomimage.php [L]
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

tinnoi

ขอบคุณมากครับ thanks ครับ

จะบอกว่า ถามไปค้นไป ไปเจอแบบนี้


RewriteEngine on
RewriteRule .(css|js|gif|jpg)$ http://localhost/gen_image/index.php [R,L]
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

ManyMoney

ขอบคุณนะครับ ผมมีโจทย์ใหม่มาอีกแล้ว

ช่วยหน่อยครับ สมมุตินะครับ

Table ที่ 1
==================================
tb_income

id | user | income | web | baht | product_code
----------------------------------------------------------
1 | frank | adsense | abc.com | 2000 | A
2 | frank | adsense | xyz.com | 5000 | B
3 | frank | amazon | frankastore-21 | 10000 | A
4 | obama | adsense | obama.com | 500000 | C
5 | frank | nipa | aaa.com | 2000 | C
6 | obama | bumq | obama.com | 100 | C
7 | frank | adsense | xxx.com | 50000 | B
8 | frank | amazon | frankshop-21 | 7000 | C
9 | frank | adsense | frank.com | 2000 | D
==================================

Table ที่ 2
==================================
tb_product

product_id | product_type
----------------------------------------------------------
A | Toy
B | Book
C | Electronic
D | Games
==================================

ต้องการให้ Search : frank แล้วแสดงผลเป็น
==================================
----------------------------
adsense
abc.com | 2000 | Toy
xyz.com | 5000 | Book
xxx.com | 50000 | Book
frank.com | 2000 | Games
sum = 59,000
----------------------------
amazon
frankastore-21| 10000 | Toy
frankshop-21| 7000 | Electronic
sum = 17,000
----------------------------
nipa
aaa.com | 2,000 | Games
sum = 2,000
----------------------------
==================================
ต้องเขียนยังไงให้ code ทำงานเร็วที่สุด และ select น้อยครั้งที่สุด  สมมุติว่า tb_income มีเป็นแสนๆid
คือถ้า select adsense ที, amazon ที, nipaที แล้วหาsum แต่ละทีผมก็พอทำได้อยู่ แต่กรณีที่ income มีหลายชนิดกว่าตัวอย่าง เยอะมากๆ แล้วแต่ละ user ก็ไม่ได้มี income เหมือนกันด้วย บางuserอาจไม่มี adsense บาง user อาจไม่มี nipa แล้วincomeก็อาจมีเป็น100เจ้าด้วย จะต้องทำยังไงให้ข้ามการqueryพวกนี้ไป
ผมเข้าใจว่า select ออกมาเก็บใน array แล้วใช้phpคำนวน แสดงผล น่าจะเร็วกว่า แต่ว่างงครับต้องทำไง? ที่ไม่ให้หนักเครื่อง serverมากที่สุด ช่วยหน่อยครับ ไม่ถนัดกับ arrayหลายมิติ (ไม่รู้ว่าเข้าใจถูกไหมว่าออกมาเก็บใน arrayก่อนจะทำให้เร็วกว่า แล้วควรต้องคืนค่าตัวแปรarrayด้วยเปล่า?ทำไงครับ?)
http://www.thaiseoboard.com/index.php/topic,180250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ