I open test1.php
in my browser, which should call test2.php
with the GET variable id
in the url which in turn should append the id and time to a local text file called test1.txt
But it doesn't work.
If I call test2.php
directly with the GET var it works just fine - http://www.example.com/test2.php?id=123456
- but it doesn't work when I load test1.php
in my browser.
test1.php
curl_setopt_array(
$ch, array(
CURLOPT_URL => 'http://www.example.com/test2.php?id=123456',
CURLOPT_RETURNTRANSFER => 0
));
curl_exec($ch);
test2.php
if(!isset($_GET['id'])) {
die();
}
$ID = (int)$_GET['id'];
$myfile = fopen("test1.txt", "a") or die();
$txt = $ID . " - " .time() . "
";
fwrite($myfile, $txt);
fclose($myfile);
Is there a security measure in php to prevent this kind of action or am I just missing something really obvious here?
You need to initialize $ch
:
$ch = curl_init();
url_setopt_array(
$ch, array(
CURLOPT_URL => 'http://www.example.com/test2.php?id=123456',
CURLOPT_RETURNTRANSFER => 0
));
curl_exec($ch);
If I am not wrong, you are supposed to call test2.php, but in the code I see that you are calling the same file.
curl_setopt_array(
$ch, array(
CURLOPT_URL => 'http://www.example.com/test2.php?id=123456',
CURLOPT_RETURNTRANSFER => 0
));
Should work.