Objek PHP QueryString 404 Tidak Ditemukan

Saya seorang pengembang Android yang memiliki sedikit pengetahuan tentang PHP. Saya terjebak dengan masalah mendapatkan 404 Error Object Not Found saat membaca variabel dari string kueri. Saya menambahkan file .htaccess sebagai hasilnya kesalahannya hilang tetapi variabelnya tidak terbaca. Meskipun jika saya membaca URL tanpa string kueri, itu berfungsi dengan baik. Saya tidak dapat memikirkan alasan mengapa hal itu tidak berhasil. Inilah yang saya coba:

berkas PHP:

Nama file: file_getTest.php

function file_get_contents_curl($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}
$baseUrl='http://xyz.com?language=en';
$language = $_GET['language'];
$session = $_GET['sessionID'];
$placeOrigin=$_GET['place_origin'];
$typeOrigin=$_GET['type_origin']; 
$nameOrigin=$_GET['name_origin'];
$homePage =($baseUrl."&sessionID=".$session."&place_origin=".$placeOrigin."&type_origin=".$typeOrigin."&name_origin=".$nameOrigin);

//if "echo file_get_contents($baseUrl)" is executed it works fine

//echo file_get_contents($homePage); //I have tried file_get_contents but no use

echo file_get_contents_curl($homePage);

kode .htaccess:

RewriteEngine on
RewriteRule .* file_getTest.php

Tanpa file .htacess & menggunakan curl() saya mendapatkan kesalahan ini:

URL yang diminta /test/file_getTest.php&sessionID=nilai baca&place_origin=nilai baca&type_origin=nilai baca&name_origin=nilai baca tidak ditemukan di server ini.

Dengan file .htaccess & menggunakan curl() saya mendapatkan kesalahan berikut:

HTTP/1.1 404 Objek Tidak Ditemukan

Tanpa file .htacess & menggunakan file_get_contents() saya mendapatkan kesalahan ini:

URL yang diminta /test/file_getTest.php&sessionID=nilai baca&place_origin=nilai baca&type_origin=nilai baca&name_origin=nilai baca tidak ditemukan di server ini.

Dengan file .htaccess & menggunakan file_get_contents() saya mendapatkan kesalahan berikut:

file_get_contents(

person Khan    schedule 07.02.2013    source sumber
comment
Itulah alasan saya terjebak. Sepertinya saya tidak dapat menemukan kesalahan tetapi terima kasih atas masukan Anda.   -  person Khan    schedule 07.02.2013
comment
Apakah URL berbingkai berfungsi secara independen di browser web? Anda perlu memvalidasi $_GET param tersebut.   -  person SparKot    schedule 07.02.2013
comment
Ya, URL-nya berfungsi dengan baik. Tidak ada salahnya memasukkan parameter dalam string kueri   -  person Khan    schedule 07.02.2013
comment
dapatkah Anda mengakses katakanlah google.com dari PHP? Periksa konfigurasi kemudian.   -  person SparKot    schedule 07.02.2013
comment
Ya berfungsi dengan baik. Saya tidak mempunyai masalah dalam mengakses URL statis. Saya mempunyai masalah dalam hal MENDAPATKAN parameter.   -  person Khan    schedule 07.02.2013


Jawaban (1)


Masalahnya telah teratasi. Ini kelihatannya cukup aneh tetapi yang saya lakukan hanyalah menukar tanda kutip ganda "" di $homepage dengan tanda kutip tunggal di variabel lainnya. Setelah itu, saya mengkodekan semua parameter string kueri & itu berfungsi dengan baik.

jadi kode akhir terlihat seperti ini:

$baseUrl="http://xyz.com?language=en";

$session = $_GET["sessionID"];
$placeOrigin=$_GET["place_origin"];
$typeOrigin=$_GET["type_origin"]; 
$nameOrigin=$_GET["name_origin"];

$placeDestination=$_GET["place_destination"];
$typeDestination=$_GET["type_destination"];
$nameDestination=$_GET["name_destination"];

$sessionE=urlencode($session);
$placeOriginE=urlencode($placeOrigin);
$typeOriginE=urlencode($typeOrigin);
$nameOriginE=urlencode($nameOrigin);

$placeDestinationE=urlencode($placeDestination);
$typeDestinationE=urlencode($typeDestination);
$nameDestinationE=urlencode($nameDestination);

$homepage=$baseUrl.'&sessionID='.$sessionE.'&place_origin='.$placeOriginE.'&type_origin='.$typeOriginE.'&name_origin='.$nameOriginE.'&place_destination='.$placeDestinationE.'&type_destination='.$typeDestinationE.'&name_destination='.$nameDestinationE;
person Khan    schedule 21.02.2013