Ik heb een script gewijzigd zodat ik iemand de status admin kan toewijzen.
Echter, dit werkt allemaal, maar de error die je hoort te krijgen als de status van de gebruiker reeds admin is, werkt niet.

het script:
[nieuw.php]
<?

include ("../config.php");

if ($_SERVER["QUERY_STRING"] != "aangemeld") {
if ($_POST['voegtoe']) {
if ($_POST['gebruikersnaam'] != "") {
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$_POST[gebruikersnaam]' status='admin'");
if(mysql_num_rows($query) >= 1) {
echo "<font color='red'>Deze gebruiker is reeds admin.";
} else {
$md5_pass = md5($_POST[wachtwoord]);
mysql_query("UPDATE leden SET status='admin' WHERE gebruikersnaam = '$_POST[gebruikersnaam]'") or die (mysql_error());
header("Location: $_SERVER[PHP_SELF]?aangemeld");
}


} else {
echo "<font color='red'>Je bent vergeten een veld in te vullen!</font>";
}
}

echo "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\">\n";
echo "<table>\n";
echo " <tr>\n";
echo " <td><small>Gebruikersnaam:</small></td>\n";
echo " <td><input type=\"text\" name=\"gebruikersnaam\"><small><small> (bv. p.vdsjop, moet bestaan)</small></small></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td></td>\n";
echo " <td><input type=\"submit\" name=\"voegtoe\" value=\"Toevoegen\">\n";
echo " </tr>\n";
echo "</table>\n";
echo "</form\n";

} else {
echo "Vanaf nu heeft de gebruiker admin rechten.\n";

}
?>

rond de 9e lijn zal de fout zitten...
Maak van dit:

<?
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$_POST[gebruikersnaam]' status='admin'");
?>

Eens dit:

<?
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' AND status = 'admin'");
?>

De variabele buiten aanhalingstekens halen, ' gebruiken binnen de [] van $_POST. En verder wat de oplossing zou moeten zijn AND tussen de beide voorwaarden zetten.
nog een kleine opmerking..
<?
if(mysql_num_rows($query) >= 1) {
echo "<font color='red'>Deze gebruiker is reeds admin.";
}
?>
Zou ik maken:
<?
if(mysql_num_rows($query) == 1) { /* blabla */ }
?>

Want lijkt me niet echt veilig als er meerdere mensen dezelfde naam hebben dus is het ook niet mogelijk dat er meer rows naar buiten komen.
Als je het op deze manier wilt doen voldoet het volgende wel:
<?
if(mysql_num_rows($query)) { /*blabla */ }
?>

Mvg Sickness
Een overbodig iets gevonden :)..
$md5_pass = md5($_POST[wachtwoord]);

heb het script dus niet helemala geode bewerkt :P..

Thanx, het is gelukt :)..

Reageren