GORAGOD.com

freelance, web developer, web designer, hosting, domain name

มีปัญหา Ajax กับ Xampp

ไม่ทราบว่าด่านใดได้ลองทดสอบแล้วทำได้ไหมครับ พอดีผมได้ลองทดสอบเขียนใน Appserv แล้วสามารถรันได้ปกติ แต่พออัพไปเปน Xampp บน Server ไม่สามารถใช้งานได้ครับ ลองทดสอบ Code ที่เป็น Javascript สามารถใช้ได้ครับ
มีทริปอะไรเพิ่มเติมหรือสิ่งที่ต้องคำนึงในการใช้งาน Xampp ไหมครับ

 

22 ก.ค. 2553 6 2,729

ผมก็ใช้ XAMPP อยู่ เวอร์ชั่น ล่าสุดครับ ไม่มีปัญหาอะไร ใช้มานานแล้วด้วย

โดยปกติ ค่า default ของ XAMPP จะรัดกุมกว่าครับ ดังนั้น ทางที่ดี เขียน Ajax ให้ถูกต้อง 100% จะได้ไม่มีปัญหาใดๆกับ Server ครับ

ปล. ค่า default ปกติของ XAMPP ที่ได้มาตอนติดตั้ง โดยไม่ปรับแต่งใดๆ ก็สามารถทำงานได้ปกติแล้วครับ
#1

ขอบคุณสำหรับคำตอบ แต่ผมได้ลองแล้ว
Javascript function ด้านล่างนี้ สามารถส่งค่าไปยัง URL ได้ แต่ ไป echo ค่าใน PHP ไม่มีค่าเลย ซึ่งผมลองใน Appserv สามารถทำได้

   var select_date = document.getElementById("select_date").value;
   
   window.location.href="result_test.php?select_date="+select_date;

*** เมื่อมา echo $select_date ไม่มีค่าติดมา ทั้งที่ตาม URL มาปกติ ใน Appserv ก็ได้ปกติ รบกวนหน่อยครับ

 
#2

555+++

<?php
  // result_test.php
  $select_date = $_GET['select_date'];
 
  echo $select_date;
  print_r($_GET);
?>

มันเป็นแค่ Javascript ธรรมดาครับ....

ปัญหามันอยู่ที่ น่าจะรับค่าแบบเดิมๆ อยู่

Server ทั่วๆไปในปัจจุบัน จะไม่สามารถรับค่า โดยไม่ผ่าน $_GET หรือ $_POST ได้แล้วครับ ดังนั้นการรับค่าต้องรับผ่าน $_GET หรือ $_POST เท่านั้น

ทำไม Appserver ทำได้ ?

เพราะ Appserver รุ่นเก่าๆ (PHP4) จะกำหนด register_globals เป็น on ไว้ ทำให้สามารถรับค่าผ่านตัวแปรตรงๆได้ ซึ่งไม่ค่อยปลอดภัย
#3

ใช่เลยครับ ผมคนนึงที่เคยประสบปัญหาสับเพล่ายังงี้มาแล้ว อิอิ

ส่งค่าไปแสดงแต่ตัวแปรเพียวๆ สุดท้าย นั่งไล่โค้ดใหม่เกือบหมด

เลยจำไว้เป็นบทเรียนเลย อิอิ เขียนแบบระวังสุดๆ
#4

หุหุ ขอบคุณครับ ปกติเขียน แต่ Appserv ตลอดเลย พอมาทำงานที่ใหม่เลยต้องได้เปลี่ยนแล้วขอบคุณครับ

ว่าแต่การเขียนแบบนี้ ทำให้ต้องเขียน Code ขึ้นเยอะเลย ไม่ทราบว่า มี Tip ไหมครับ

#5

วิธีที่ง่ายสุด ก็คือ ปิด register_global ครับ แต่...

ต้องแลกกับความปลอดภัยของ Server ละครับ แฮคเกอร์อาจมาเยือนได้ง่ายๆ

วิธีที่ดีที่สุดคือเขียนให้ถูกต้องครับ ซึ่งควรจะปฏิบัติให้เป็นนิสัย และสิ่งที่เรามักเขียนผิดๆ แต่ยังทำงานได้ ก็มีอีกเยอะครับ รวมถึงการเขียน แบบที่ทำงานได้บาง Server ด้วย โดยเฉพาะการใช้ $_GET $_POST $_SERVER หรือตัวแปรประเภท Global เหล่านี้แหละครับ ซึ่งในบางครั้ง เมื่อเราย้าย Server จะทำให้เราต้องมานั่งไล่โค้ด กันยกชุดเลยทีเดียว

สรุป เขียนโค้ดแบบเคร่งครัด จะไม่ปวดหัวในภายหลังครับ 
#6
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^