Script werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorik

Jorik

08/09/2004 17:35:00
Quote Anchor link
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]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?  

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
 
PHP hulp

PHP hulp

15/01/2025 19:37:20
 
Dutchcamel

dutchcamel

08/09/2004 17:45:00
Quote Anchor link
Maak van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$query
= mysql_query("SELECT * FROM leden WHERE gebruikersnaam = '$_POST[gebruikersnaam]' status='admin'");
?>


Eens dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$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.
 
Ano Niem

Ano Niem

08/09/2004 19:35:00
Quote Anchor link
nog een kleine opmerking..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if(mysql_num_rows($query) >= 1) {    
        echo "<font color='red'>Deze gebruiker is reeds admin.";    
      }

?>

Zou ik maken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if(mysql_num_rows($query)) { /*blabla */ }
?>


Mvg Sickness
 
Jorik

Jorik

08/09/2004 21:15:00
Quote Anchor link
Een overbodig iets gevonden :)..
$md5_pass = md5($_POST[wachtwoord]);

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

Thanx, het is gelukt :)..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.