Hallo ik heb een klein foutje erin zitten.
als ik op opvoeren druk dan krijg ik meteen je hbet al enginelvl1
terwijl er in mijn db gewoon nog steeds nul staat hoe kan dit.

Hier is mijn script

<?php
include_once("_include-config.php");
if(! check_login()) {
    header('Location: login.php');
    exit;
  }

if(isset($_POST['upgrade'])){
	$id = $_POST['id'];
	$b1 = $_POST['b1'];
	$auto = mysql_query("SELECT `enginelvl1` FROM `[auto]` WHERE `id`='$id'");
if($auto->enginelvl1 == 1){
if($b1 == 1){
	mysql_query("UPDATE `[auto]` SET `enginelvl1`='1' WHERE `owner`='{$data->login}' AND `id`='$id'");
	mysql_query("UPDATE `[auto]` SET `snelheid`=`snelheid`+'10' WHERE `owner`='{$data->login}' AND `id`='$id'");
	print "<tr><td class=mainTxt>Je auto is getuned</td></tr>";
}
}elseif($b1 == 1){
	print "<tr><td class=maniTxt>Je hebt al engine lvl 1</td></tr>";
}
}

?>
<html>
<Head>
<link rel="stylesheet" type="text/css" href="<?php echo ($_COOKIE['v'] == 2) ? "css-v2.css" : "css-v1.css"; ?>">
</head>
<table width=100%><form method="POST">
<tr><td class="mainTxt">Motor lvl 1&nbsp;<input type=radio value="1" checked name="b1"></td></tr><tr><td class="mainTxt">Voer de id van de auto in&nbsp;<input type="text" size="12" name="id"></td></tr><tr><td class="mainTxt"><input type="submit" name="upgrade" value="Opvoeren"></td></tr>
</form>
Je hebt een bug in je script en de SQL wordt gewoon keihard verkracht... Tja, hoeveel problemen wil je hebben?

UPDATE `[auto]` SET `enginelvl1`='1' WHERE `owner`='{$data->login}' AND `id`='$id'"

Wat doen die backtics `, blokhaken [] en accolades {} in deze query? Leer dat toch eens af, dit heeft echt niets met SQL te maken.

Verder controleer je niet of de query wel is gelukt en of de query ook records heeft bijgewerkt.

Veel succes met deze ellende
Idd frank,

Je vergelijkt $b1 of die 1 is en dan zeg je of hij al engine lvl 1 heeft? Je geeft daarvoor aan dat $b1 een $_POST is...

Je haalt nergens de gegevens uit de database? Zie alleen een query maar daar doe je verder niks mee.

- Haal je gegevens eruit
- Vergelijk huidige engine lvl met waarin hij het wil upgraden, zijn ze hetzelfde -> geef error dat ze hetzeflde zijn.

sorry daarvoor.
maare hoe haal ik de gegevns eruit dan ik dacht altijd met een query kan ik fout hebben hoor.
het vergelijken kan ik wel
Ok, even een algemeen voorbeeldje hoe eenvoudig een SELECT-query op de database los laat:
<?php
$query = "
SELECT
enginelvl1
FROM
auto
WHERE id = '".$id."'
"
$result = mysql_query($query);

if($result){ // query is gelukt
if(mysql_num_rows() > 0){ // er zijn resultaten
while($row = mysql_fetch_assoc($result)){
echo $row['eningelvl1'];
}
}
else {
echo 'Geen resultaten gevonden.';
}
}
else { // query mislukt
echo 'Query mislukt vanwege de volgende fout: '.mysql_error();
}
?>
Dit principe kun je ook op andere en/of betere manier doen, maar alles wordt gecontroleerd en er is niet 1 aanname. Het doen van aannames gaat namelijk altijd fout.

Let op: Geen backtics, blokhaken en accolades in de query!

Reageren