onthoud de verkeerde user gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Crazyme

Crazyme

21/05/2006 20:38:00
Quote Anchor link
Hallo allemaal,

Ik ben bezig geweest met een pagina om users te kunnen aanpassen. Alleen de administrator heeft toegang tot deze dienst nu is het geval dat als je een user aanpast en vervolgens op wijzigen drukt dat hij de gegevens van de user die je aanpast onthoud en je dus vervolgens ook ingelogt ben als die persoon me script is alsvolgt weet iemand hier een oplossing voor?

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php

include("config.php");

if(isset($_SESSION['rank'])){
    $rank = $_SESSION['rank'];
}

else {
    $rank = 0;
}




if(($rank & 1) == 1 || ($rank & 4) == 4 )
{
$tijd = date("G"); //bepaal de tijd in uren

if($tijd < 6)
    {

        echo "<br /> <br />Goede nacht ".$user."<br /><br />";
    }

elseif($tijd < 12)
    {

        echo "<br /> <br />Goedemorgen ".$user."<br /><br />";
    }

elseif($tijd < 18)  
    {

        echo "<br /> <br />Goedemiddag ".$user."<br /><br />";
    }

else
    {
        echo "<br /> <br />Goede avond ".$user."<br /><br />";  
    }

  echo "U kunt hier de pagina's beheren die gekoppeld zijn aan uw account. <br /><br />";  
}


else{     
  echo "<br /> <br />U bent niet ingelogd. <br /> <br />";  
  echo "<a href=login.php class=wijzigen>Klik hier</a> om in te loggen<br /><br />";
  
}



if(($rank & 1) == 1)
{

  // rank is akkoord
  if(!isset($_GET['mode']))
  {

  echo "<br /> <br />Geen toegang!<br /> <br />";  
  }
}

elseif (($rank & 4) == 4)
{

  // rank is akkoord
  if(!isset($_GET['mode']))
  {

    $result = mysql_query("SELECT * FROM users order by id ASC");
  }
}
  

if(isset($result))
{
            
  while($r=mysql_fetch_assoc($result))
  {

    echo '
<table width="400" border="0" cellspacing="4" bgcolor="#FFFC00">
  <tr>
    <td width="52" valign="top" ><b>User</b></td>
    <td width="332"><div class="edit_tekst">'
.$r['user'].'</div></td>
  </tr>
  <tr>
    <td valign="top"><b>E-Mail</b></td>
    <td><div class="edit_tekst">'
.$r['email'].'</div></td>
  </tr>
    <tr>
    <td valign="top"><b>Rank</b></td>
    <td><div class="edit_tekst">'
.$r['rank'].'</div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><a href="gebruikers.php?mode=edit&id='
.$r['id'].'" class="wijzigen">Wijzigen</a></td>
  </tr>
</table><br/>'
;

  }
}

else
{
  echo '';

}
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
        
    if( isset( $_GET['mode'] )  && $_GET['mode'] == 'edit' || isset( $_POST['mode'] ) && $_POST['mode'] == 'edit' )
        {

            if (!isset($_POST["submit"]))
                {

                    $id = $_GET["id"];
                    $sql = "SELECT * FROM users WHERE id=".$_GET['id'];
                    $result = mysql_query($sql) or die(mysql_error());  
                    $users = mysql_fetch_array($result);
                    
                    ?>


<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $_SERVER['PHP_SELF'] ?>
" method="post">
<span class="titel">Gebruikersbeheer </span><br>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="117" class="naam">User:<br />
<br /></td>
<td width="577"><input name="user" type="text" id="user" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $users["user"] ?>
" size="30" /></td>
</tr>
</tr>
<td width="117" class="naam">Rank:</td>
<td width="577">

<INPUT NAME="rank" TYPE="TEXT" id="rank" VALUE="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $users["rank"] ?>
" SIZE=30> </td>
</tr>
<tr> </tr>
<td width="117" class="naam">E-mail:</td>
<td width="577">
<input name="email" type="text" id="email" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $users["email"] ?>
" size="30" />
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr> </tr>

<input type="hidden" name="mode" value="edit"> </td>
</tr> <tr>
<td width="117" class="naam"></td>
<td><input type="submit" name="submit" value="Wijzigen" />
<input type="reset" name="submit" value="Wissen" /></td>
</tr>
</table>
</form>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>


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
<?php
        if(isset($_POST['submit']))
            {

                $user = $_POST["user"];
                $email = $_POST["email"];
                $rank  = $_POST["rank"];
                
                $sql = "UPDATE users SET user='".$user."',email='".$email."',rank='".$rank."' WHERE id=".$_GET['id'];
                
                
                echo 'Uw aanpassingen zijn doorgevoerd!<br /><br /><meta http-equiv="refresh"
content="2;URL=gebruikers.php">'
;


            }
        }

    ?>
 
PHP hulp

PHP hulp

14/11/2024 19:07:49
 
Crazyme

Crazyme

22/05/2006 19:36:00
Quote Anchor link
iemand een antwoord?
 
Rembem

Rembem

23/05/2006 09:32:00
Quote Anchor link
wat is het probleem precies dan?? ik snap het niet precies voegt hij het niet toe aan database of dat hij ingelogd blijft als administrator?? leg het probleem eens wat beter uit
Gewijzigd op 01/01/1970 01:00:00 door Rembem
 
Crazyme

Crazyme

23/05/2006 13:08:00
Quote Anchor link
Rembem:
wat is het probleem precies dan?? ik snap het niet precies voegt hij het niet toe aan database of dat hij ingelogd blijft als administrator?? leg het probleem eens wat beter uit



hij voegt de user toe ana de database alles werkt verder alleen hij denkt meteen ook dat je bent ingelogt als die user die ik heb aangemaakt/aangepast... dus de sessie waarin ik administrator ben wordt dan vervangen door een sessie als user die ik heb aangepast
 
Frank -

Frank -

23/05/2006 14:03:00
Quote Anchor link
De code ziet er niet al te fraai uit. Je hebt de logica (verwerking van data) lukraak door de output staan. Dat is vragen om problemen, je ziet dan door de bomen het bos niet meer. Dat blijkt hier ook weer eens.

Zorg er voor dat je eerst alle logica afhandelt en dan pas de output naar de browser stuurt. In de output kan best nog wel wat logica zitten, maar dat mag alleen betrekking hebben op de presentatie van de output. Queries e.d. zul je hier dus niet aantreffen.

Waar komt trouwens $_GET['id'] vandaan? Je vergeet tevens te controleren of deze bestaat en veilig is. Hiermee is je database dus vakkundig om zeep te helpen... Het id staat in de url (als die er al is) en kan dus zo worden aangepast.

En begin je scripts ALTIJD met de volgende regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van je script
?>
 



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.