В змінну середовища встановлену за доп. функції putenv потрапляє не все значення змінної
$keys = array(
1 => array(
'p1' => '1AA1C7D91521353BB82257C71FD',
'p2' => '24B16F7BE6731433CC1F37E3C7D',
…
'SignatureSize' => 160,
'HardwareLocking' => '',
…
),
2 => array(/*ті ж самі назви змінних. Інші значення*/)
)
$pname = $_GET['pname'];
$ExpirationDate = $_GET['exp'];
$RegName = $_GET['email'];
// рядок запиту
$query_string =
"C1={$keys[$pname]['p1']}&C2={$keys[$pname]['p2']}&C3={$keys[$pname]['p3']}&C4={$keys[$pname]['p4']}&C5={$keys[$pname]['p5']}&C6={$keys[$pname]['p6']}&C7={$keys[$pname]['p7']}&";
// іще додаємо до рядку
$query_string .=
"ModeID={$keys[$pname]['ModeID']}&SignatureSize={$keys[$pname]['SignatureSize']}&EncryptionConst={$keys[$pname]['EncryptionConst']}&RegName={$RegName}&HardwareID={$keys[$pname]['HardwareLocking']}&ExpirationDate={$ExpirationDate}";
// виводжу для перевірки рядок і отримую те що потрібно (див. далі)
echo $query_string;
// змінна середовища
putenv("QUERY_STRING=$query_string");
/* перевірка значення змінної в результаті якої отримую тільки оце:
/* exp=300&pname=1&email=test%40mail.com
echo getenv("QUERY_STRING");
Проблема в тому що в змінній середовище опиняються тільки дані отримані з $_GET а не весь рядок.
Оскільки те що мало б опинитися з змінній QUERY_STRING займає багато місця, дам посилання на pastebin.com: pastebin.com/XYXYuXh0
48 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів