Fout in wijzigen rank

Status
Niet open voor verdere reacties.

jibbs

Gebruiker
Lid geworden
31 okt 2006
Berichten
13
Hey, ik krijg een foutmelding als ik bij de admin een level/rank wil veranderen als ik op de knop wijzig rank druk. Weten jullie misschien wat er fout is, ik kan zelf geen fout ontdekken...

Hier de code, alvast bedankt

Code:
function wijzig_status()
{
    $id = $_GET['id'];
    $level = $_GET['level'];
    
    if($_POST['wijzig'])
    {
        $sql = "UPDATE 'users' SET 'level' = '".$_POST['level']."' WHERE 'id' = '".$id."'";
        mysql_query($sql) or die(mysql_error());
        header("Location: admin_geb.php");
    }
    
   else  {
        echo "<form action=\"\" method=\"post\">";
        echo "Je hebt de member met ID nr. ".$id." en<br> als rank ".ucfirst($level)." geselecteerd<br><br>";
        echo "Rank <select name=\"status\" style=\"width:50px;\">
                        <option value=\"".$level."\">&nbsp;</option>
                        <option value=\"1\">1</option>
                        <option value=\"2\">2</option>
                        <option value=\"4\">4</option>
                    </select><br>
        ";
        echo "<input type=\"submit\" name=\"wijzig\" value=\"Wijzig Rank\">";
        echo "</form>";
    }
}

$query="SELECT * FROM users ORDER BY username ";

echo "<div align='center'>";
echo "<table width='650' style='border: 1 ridge white'>";
echo "<tr><th colspan='4'>Gebruikerspaneel</td></tr>";
echo "<tr><b>";
echo "<th>Gebruikersnaam</th>";
echo "<th>Verwijder</th>";
echo "<th>Wijzig</th>";
echo "</b></tr>";

$temp = mysql_query($query);
while ($lijst = mysql_fetch_assoc($temp)){

$name=$lijst["username"];
$level=$lijst["level"];

echo "<tr>";
echo "<td class='lstd'>" . $name. "</td>";
echo '<td class="lstd"><a href="?verwijder='.$lijst['id'].'">Verwijder</a></td>';
echo "<td class='lstd'><a href=\"?action=wijzig_status&id=".$lijst['id']."&level=".$lijst['level']."\">Wijzig level</a></td>";
echo "</tr>";
}
echo "</table><BR>";
echo "<div align='left'>";
echo "<u><a href='test.php'>Terug</a></u>";
echo "</div>";

switch($_GET['action'])
{
    case "wijzig_status";
        wijzig_status();
    break;
}
?>

<?php
} else {
?>
Je bent op dit moment niet ingelogd.<br />
<a href="inloggen.php">Inloggen</a><br />
<?php
}
?>

</td></tr></table></div>
</BODY>
</HTML>

<?php include("include.php"); ?>
 
Vast iets van
PHP:
Cannot modify header information - headers already sent by etc
 
dit is de error die er komt te staan

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' SET 'level' = '' WHERE 'id' = '11'' at line 1
 
Probeer deze query eens
PHP:
$sql = "UPDATE users SET level = '$_POST[level]' WHERE id = '$id'";
 
Ok, bedankt. De foutmelding is weg, alleen het level wordt nu nadat je op de "wijzig" button hebt gedrukt veranderd in 0...:cool:

Hier nogmaals de code.

Code:
function wijzig_status()
{
    $id = $_GET['id'];
    $level = $_GET['level'];
    
    if($_POST['wijzig'])
    {
        $sql = "UPDATE users SET level = '$_POST[level]' WHERE id = '$id'";
        mysql_query($sql) or die(mysql_error());
        header("Location: admin_geb.php");
    }
    
   else  {
        echo "<form action=\"\" method=\"post\">";
        echo "Je hebt de member met ID nr. ".$id." en<br> als rank ".ucfirst($level)." geselecteerd<br><br>";
        echo "Rank <select name=\"status\" style=\"width:50px;\">
                        <option value=\"".$level."\">&nbsp;</option>
                        <option value=\"1\">1</option>
                        <option value=\"2\">2</option>
                        <option value=\"4\">4</option>
                    </select><br>
        ";
        echo "<input type=\"submit\" name=\"wijzig\" value=\"Wijzig Rank\">";
        echo "</form>";
    }
}

$query="SELECT * FROM users ORDER BY username ";

echo "<div align='center'>";
echo "<table width='650' style='border: 1 ridge white'>";
echo "<tr><th colspan='4'>Gebruikerspaneel</td></tr>";
echo "<tr><b>";
echo "<th>Gebruikersnaam</th>";
echo "<th>Level</th>";
echo "<th>Verwijder</th>";
echo "<th>Wijzig</th>";
echo "</b></tr>";

$temp = mysql_query($query);
while ($lijst = mysql_fetch_assoc($temp)){

$name=$lijst["username"];
$level=$lijst["level"];

echo "<tr>";
echo "<td class='lstd'>" . $name. "</td>";
echo "<td class='lstd'>" . $level. "</td>";
echo '<td class="lstd"><a href="?verwijder='.$lijst['id'].'">Verwijder</a></td>';
echo "<td class='lstd'><a href=\"?action=wijzig_status&id=".$lijst['id']."&level=".$lijst['level']."\">Wijzig level</a></td>";
echo "</tr>";
}
echo "</table><BR>";
echo "<div align='left'>";
echo "<u><a href='test.php'>Terug</a></u>";
echo "</div>";

switch($_GET['action'])
{
    case "wijzig_status";
        wijzig_status();
    break;
}
?>

<?php
} else {
?>
Je bent op dit moment niet ingelogd.<br />
<a href="inloggen.php">Inloggen</a><br />
<?php
}
?>

</td></tr></table></div>
</BODY>
</HTML>

<?php include("include.php"); ?>

Alvast bedankt
 
Laatst bewerkt:
Op zich wel logisch

Bekijk je code eens in de else statement
PHP:
   else  {
        echo "<form action=\"\" method=\"post\">";
        echo "Je hebt de member met ID nr. ".$id." en<br> als rank ".ucfirst($level)." geselecteerd<br><br>";
        echo "Rank <select name=\"status\" style=\"width:50px;\">
                        <option value=\"".$level."\">&nbsp;</option>
                        <option value=\"1\">1</option>
                        <option value=\"2\">2</option>
                        <option value=\"4\">4</option>
                    </select><br>
        ";
        echo "<input type=\"submit\" name=\"wijzig\" value=\"Wijzig Rank\">";
        echo "</form>";
    }

Zie jij ergens iets van level staan bij een formulier-element? Het enige dat ik zie staan is status. Wil je die wijzigen dan moet je dus ook bij het updaten van de database $_POST[status] gebruiken... (Of status wijzigen in level)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan