A-AA+then

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

1,560

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

 

6 ความคิดเห็น

ผมก็ใช้ 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
^