Ariën
18-11-2014 23:19
gewijzigd op 18-11-2014 23:20
Normaal kan je de waarde ophalen aan de hand van een key (?code=1234 "(mag ik van jouw de code?) " ), maar in dit geval heb je al een code, en is er geen key.
Dus je kan de URL explode()'n op ?, maar wat houdt je tegen om gewoon index.php?code=123456789 te gebruiken?
Link gekopieerd
Waarschijnlijk moet je deze hebben:
echo $_SERVER['QUERY_STRING'];
Link gekopieerd
Wat geeft dit?
<?php
print_r($_GET);
?>
Aangezien topicstarter zegt, en ik quote:
Enrico de Bil op 18/11/2014 23:08:53
$_GET
Resultaat: een pagina met de tekst 'Array'
Dus er is wel een array, maar wat er in staat, is onbekend.
Link gekopieerd
Eddy E
19-11-2014 09:05
gewijzigd op 19-11-2014 09:06
Het kan ook puur met $_GET alleen.
http://zunflappie.nl/phphulp/?typejeeigencode
Code van index.php (dat is wel handig: dat het index.php is ;))
<?php
if (isset($_GET)) {
echo 'Dit is $_GET:<br>
<pre>' . print_r($_GET, true) . '</pre>';
reset($_GET);
$code = key($_GET);
} else {
echo 'Er is geen code opgegeven.<br>';
$code = 'niets';
}
echo 'Er staat ' . $code . ' achter het vraagteken.';
?>
Link gekopieerd
<?php
if($_GET) {
foreach($_GET as $key => $value) {
echo 'de code is '. $key;
$code = $key;
}
}
?>
Wat als er naast de code nog meer info mee komt? (index.php?12312314&sessid=123123123123 )
Link gekopieerd
Dit zou een oplossing kunnen zijn
<?php
// Start een sessie
session_start();
// Ophalen van $_GET
$_SERVER['QUERY_STRING'] = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : NULL;
// Controleer $_GET
if (!empty($_SERVER['QUERY_STRING']))
{
// Explode de query
$explode = explode('&', $_SERVER['QUERY_STRING']);
foreach ($explode as $array)
{
$str = explode('=', $array);
$key = isset($str[0]) ? $str[0] : NULL;
$val = isset($str[1]) ? $str[1] : NULL;
if (empty($val)) // Als key geen value bevat zet key als value
{
$get[] = $key;
} else { // Anders key is value
$get[$key] = $val;
}
}
print '<pre>';
print_r($get);
print '</pre>';
}
?>
Link gekopieerd