Ik zit met een vreemd probleem. Ik heb de onderstaande pagina, $_SESSION['inkoper'] is een integer. Als ik op post klik, verwijderd hij een monteur, maar leegt hij ook $_SESSION['inkoper']! Ik heb werkelijk waar geen idee hoe dit kan.. Weet iemand misschien hoe dit zit?

<?php
if(isset($_SESSION['inkoper'])) {


$id = addslashes($_GET['id']);

$query = "SELECT * FROM monteurs WHERE id = '$id' LIMIT 1";
$result = mysql_query($query);

while($inkoper = mysql_fetch_array($result)) {
$naam = $inkoper['naam'];
}

if(is_numeric($id)) {
if($_POST['delete']) {
$query = "DELETE FROM `monteurs` WHERE id = '$id' LIMIT 1";
$result = mysql_query($query);

print '<p>De inkoper <b>' . $naam . '</b> is succesvol verwijderd! Je wordt nu doorverwezen..</p>';
print '<meta http-equiv="refresh" content="3;URL=index.php?p=monteurs_inkopers" />';
}
else {
print '<form method="post" action="index.php?p=monteurverwijderen_inkopers&id=' . $id . '">
Weet je zeker dat je de inkoper <b>' . $naam . '</b> wilt verwijderen?<br>
<input type="submit" name="delete" value="Verwijderen">
</form>';
}
}
else {
print 'Hacking attempt!';
}


}
else {
print '<p class="melding">Je moet ingelogd zijn om deze pagina te kunnen bekijken.</p>';
}
?>

Alvast hartelijk bedankt.
Backticks, nee. Print? Waarom niet gewoon echo? Variabelen in een quote. Je id doe je niet goed beveiligen.

Heb je session_start bovenaan je script staan?
Hoezo beveilig ik mijn id niet goed?

Print of echo maakt verder niets uit. Scriptje wordt geinclude, dus session_start() is aanwezig..

Reageren