Stel je hebt een website en je werkt met includes. De URL is nu bijvoorbeeld: www.jesite.nl/?page=overzicht

Als ik nu een bevestigingscode wil laten uitvoeren dan is het

?page=overzicht&code=dslkfjsdfl bijvoorbeeld.

Het probleem waar ik tegenaan loop in 1 deel van het script is dat er twee keer gebruik wordt gemaakt van ?

<?
($vResult) {
if(mysql_num_rows($vResult) > 0) {
echo '<select name="vestiging">';
while($vRij = mysql_fetch_assoc($vResult)) {
echo '<option value="'.$vRij['id'].'" '.($vRij['id'] == $vRij['klantVest'] ? 'selected' : '').'>'.$vRij['vestiging'].'</option>';

?>


Zoals je ziet na $vRij['klantVest'] staat er een vraagteken. Dat moet een & worden, want anders pakt hij hem niet. En als ik dat doe dan krijg ik een error dat er een overbodige : staat.

Hoe kan ik dit stukje zo aanpassen dat die & er wel kan staan in plaats van de ?
Volgens mij heb je de haken verkeerd staan. Dit zou moeten werken:

<?
($vResult) {
        if(mysql_num_rows($vResult) > 0) {
            echo '<select name="vestiging">';
            while($vRij = mysql_fetch_assoc($vResult)) {
                echo '<option value="'.$vRij['id'].'" '.(($vRij['id'] == $vRij['klantVest']) ? 'selected' : '').'>'.$vRij['vestiging'].'</option>';

?>
Nee, de code klopt wel maar die is gebaseerd op een systeem waar pagina's niet geïnclude worden. Nu gebruik ik het in mijn site met includes en geeft hij een fout omdat hij: "?page=overzicht?code=dslkfjsdfl" er dan van maakt en het moet "?page=overzicht&code=dslkfjsdfl" worden. En dat doe ik door dat vraagteken te vervangen. Alleen dat lukt niet.
Je haalt nu 2 dingen door elkaar: dat ? staat er voor een korte -if/else statement, niet om in de url te plakken (anders zou hij ook wel in een string staan). Het ligt dus aan een ander stuk code dan dat stuk wat je gepost hebt.

Kijk hier voor de functie van die ?:

Edit:
Probeer te zoeken naar het relevante stuk code en post dat even, dan kunnen we je verder helpen ;)
Ok, dat heb ik even over het hoofd gezien. Erg stom van me. Ik dacht echt dat daar de fout zat. Hierbij de volledige code van dat deel. Het probleem is wel duidelijk neem ik aan? Wie kan hierin zien hoe ik kan wijzigen dat hij niet

overzicht.php?vestiging=1

Doet maar

?page=overzicht&vestiging=1


<? if(isset($_GET['vestiging'])) {
$sQuery = "SELECT * FROM vestigingen WHERE id = ".(int)$_GET['vestiging'];
$sResult = mysql_query($sQuery);

if($sResult) {
if(mysql_num_rows($sResult) > 0) {
$uQuery = "UPDATE klanten SET vestiging_id = ".(int)$_GET['vestiging']." WHERE id = ".(int)$_SESSION['klant_id'];
$uResult = mysql_query($uQuery);

if($uResult) {
echo 'Uw vestiging is gewijzigd.';
} else {
if(DEBUG) {
echo mysql_error().' in query: '.$uQuery;
} else {
echo 'Uw vestiging kon niet worden gewijzigd, probeer het nogmaals.';
}
}
} else {
echo 'Uw opgegeven vestiging bestaat niet. Kies een vestiging uit de onderstaande mogelijkheden.';
}
} else {
if(DEBUG) {
echo mysql_error().' in query: '.$sQuery;
} else {
echo 'Uw opgegeven vestiging kon niet worden bijgewerkt, probeer het nogmaals.';
}
}
echo '<br /><br />';
}

echo '<div><form method="get" action=""><b>Wilt u uw vestiging wijzigen?</b><br />Kies hieronder uw bedrijf en een bijbehorende vestiging.<br />'.PHP_EOL;
echo '<table border="0"><tr>';
$bsQuery = "SELECT DISTINCT bedrijfsnaam, (SELECT bedrijfsnaam FROM vestigingen WHERE id = (SELECT vestiging_id FROM klanten WHERE id = ".(int)$_SESSION['klant_id'].")) AS klantBedr FROM vestigingen ORDER BY bedrijfsnaam ASC";
$bsResult = mysql_query($bsQuery);

if($bsResult) {
if(mysql_num_rows($bsResult) > 0) {
while($bsRij = mysql_fetch_assoc($bsResult)) {
$bedrijf = $bsRij['klantBedr'];
}
} else {
echo 'Er zijn geen bedrijven gevonden.';
}
} else {
if(DEBUG) {
echo mysql_error().' in query: '.$bsQuery;
} else {
echo 'Er zijn geen bedrijven gevonden.';
}
}
echo '</td><td><b>Vestiging:</b></td><td id="vest">';
$vQuery = "SELECT id, vestiging, (SELECT vestiging_id FROM klanten WHERE id = ".(int)$_SESSION['klant_id'].") AS klantVest FROM vestigingen WHERE bedrijfsnaam = '".$bedrijf."' ORDER BY vestiging ASC";
$vResult = mysql_query($vQuery);

if($vResult) {
if(mysql_num_rows($vResult) > 0) {
echo '<select name="vestiging">';
while($vRij = mysql_fetch_assoc($vResult)) {
echo '<option value="'.$vRij['id'].'" '.($vRij['id'] == $vRij['klantVest'] ? 'selected' : '').'>'.$vRij['vestiging'].'</option>';
}
echo '</select>';
} else {
echo 'Van dit bedrijf zijn geen vestigingen bekend. Selecteer een ander bedrijf.';
}
} else {
if(DEBUG) {
echo mysql_error().' in query: '.$vQuery;
} else {
echo 'Er zijn geen vestigingen gevonden.';
}
}
echo '</td><td><input type="submit" value="Wijzig" /></td></tr></table></form></div>'.PHP_EOL;

?>

Reageren