Script werkt niet
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]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
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";
}
?>
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...
Gewijzigd op 08/09/2004 18:59:00 door Jorik
Code (php)
1
2
3
2
3
<?
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$_POST[gebruikersnaam]' status='admin'");
?>
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$_POST[gebruikersnaam]' status='admin'");
?>
Eens dit:
Code (php)
1
2
3
2
3
<?
$query = mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' AND status = 'admin'");
?>
$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.
Code (php)
1
2
3
4
5
2
3
4
5
<?
if(mysql_num_rows($query) >= 1) {
echo "<font color='red'>Deze gebruiker is reeds admin.";
}
?>
if(mysql_num_rows($query) >= 1) {
echo "<font color='red'>Deze gebruiker is reeds admin.";
}
?>
Zou ik maken:
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:
Mvg Sickness
$md5_pass = md5($_POST[wachtwoord]);
heb het script dus niet helemala geode bewerkt :P..
Thanx, het is gelukt :)..