Iets veranderen in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels van Dijk

Niels van Dijk

06/04/2009 16:43:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
#
# Tabel structuur voor tabel `users`
#

CREATE TABLE users (
  id int(4) NOT NULL auto_increment,
  name varchar(20) binary NOT NULL default '',
  pass varchar(32) binary NOT NULL default '',
  level int(10) NOT NULL default '0',
  last_ip varchar(15) default NULL,
  UNIQUE KEY id (id)
) TYPE=MyISAM;



Nu wil ik in de data base iets veranderen de level dus dat ik daar een 1, 2, 4, 8 van kan maken

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
$query = mysql_query("SELECT * FROM users");
while($rij = mysql_fetch_array($query))

{
$rang = $rij['level'];
echo '<a href="delete_user.php?id='. $rij['id'] .'"><img src="verwijder.gif" border="0" width="16" height="16" /></a>&nbsp;&nbsp;';
echo $rij['name'] .'&nbsp;-&nbsp;';
        if ($rang == "1")
            echo "<em>Gebruiker</em>", '<br />';
        if ($rang == "2")
            echo "<em>Aanpasser</em>", '<br />';
        if ($rang == "4")
            echo "<em>Admin</em>", '<br />';
        if ($rang == "8")
            echo "<em>Beheerder</em>", '<br />';
}
 
PHP hulp

PHP hulp

24/11/2024 21:22:57
 
Midas

Midas

06/04/2009 16:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "UPDATE users SET level = 1";
?>

En ga eens heel snel iets aan foutafhandeling doen.
 
Niels van Dijk

Niels van Dijk

06/04/2009 16:52:00
Quote Anchor link
sorry ja zal ik doen
 
Niels van Dijk

Niels van Dijk

06/04/2009 17:11:00
Quote Anchor link
Midas schreef op 06.04.2009 16:48:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "UPDATE users SET level = 1";
?>

En ga eens heel snel iets aan foutafhandeling doen.


waar moet ik dat plaatsen ?
 
Mr.Ark

Mr.Ark

06/04/2009 17:37:00
Quote Anchor link
Quote:
waar moet ik dat plaatsen ?


Als er gepost wordt dat user level wordt veranderd, En natuurlijk eerst kijken welke user level diegene heeft.

Je kan het met meerdere opties doen.

1. User level in een dropdown laten zien, en dat je hem dan kan veranderen.

2. Een normaal input field met de user level van die persoon en dat je een ander user level kan invullen.

3. 2 knoppen, 1 met omhoog (dus user level steeds 1 omhoog) & 1 met omlaag (user level steeds 1 omlaag).
 
Niels van Dijk

Niels van Dijk

06/04/2009 21:30:00
Quote Anchor link
ark schreef op 06.04.2009 17:37:
Quote:
waar moet ik dat plaatsen ?


Als er gepost wordt dat user level wordt veranderd, En natuurlijk eerst kijken welke user level diegene heeft.

Je kan het met meerdere opties doen.

1. User level in een dropdown laten zien, en dat je hem dan kan veranderen.

2. Een normaal input field met de user level van die persoon en dat je een ander user level kan invullen.

3. 2 knoppen, 1 met omhoog (dus user level steeds 1 omhoog) & 1 met omlaag (user level steeds 1 omlaag).


oke als ik zeg ik wil die 1 eerste hoe maak ik zo iets dan
 
Midas

Midas

06/04/2009 21:59:00
Quote Anchor link
Dit is basis HTML + PHP kennis. Lees een paar tutorials.
 
Niels van Dijk

Niels van Dijk

09/04/2009 15:24:00
Quote Anchor link
ik kom er niet uit kan iemand mij nog helpen op weg dan

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
<title>Leden</title>
<div class="inlog-frameomheen">
<div class="inlog-frame">
<?php

require("connect.php");
echo "<strong>Gebruikers</strong>";
echo "<hr>";
echo "<br />";
$query = mysql_query("SELECT * FROM users");
while($rij = mysql_fetch_array($query))

{

$rang = $rij['level'];

echo '<a href="delete_user.php?id='. $rij['id'] .'"><img src="verwijder.gif" border="0" width="16" height="16" /></a>&nbsp;&nbsp;';
echo $rij['name'] .'&nbsp;-&nbsp;';
        if ($rang == "1")
            echo "<em>Gebruiker</em>", '<br />';
        if ($rang == "2")
            echo "<em>Aanpasser</em>", '<br />';
        if ($rang == "4")
            echo "<em>Admin</em>", '<br />';
        if ($rang == "8")
            echo "<em>Beheerder</em>", '<br />';
}


?>



<br />
<a href="login.php"> ga terug</a>
<link href="css/aanmelden.css" rel="stylesheet" type="text/css" />
</div></div>
 
Kitty N

kitty N

09/04/2009 15:29:00
Quote Anchor link
Als je het wil wijzigen via een dropdown zou je toch eerst de dropdownlijst moeten toevoegen...
 
Niels van Dijk

Niels van Dijk

09/04/2009 15:30:00
Quote Anchor link
nou ik wil heb bv simpel met een veld waar ik het in vul hoe moet het dan ??
 
Kitty N

kitty N

09/04/2009 15:32:00
Quote Anchor link
Je weet niet hoe je een dropdownbox moet maken? Dan zou ik eerst even gaan googlen..

Of kijke hier even:
http://www.w3schools.com/TAGS/tag_Select.asp
 
Milo

Milo

09/04/2009 17:51:00
Quote Anchor link
Alles staat in het commentaar

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
<title>Leden</title>
<div class="inlog-frameomheen">
<div class="inlog-frame">
<?php

require("connect.php");
echo "<strong>Gebruikers</strong>";
echo "<hr>";
echo "<br />";
$query = mysql_query("SELECT * FROM users");
while($rij = mysql_fetch_array($query))

{

$rang = $rij['level'];

echo '<a href="update.php?id='.$rij['id'].'&DEREST WAT JE WILT VERANDEREN"><img src="wijzigen.gif" border="0" width="16" height="16" /></a>';// Wijzigen.gif maken en link compleet maken!!
echo '<a href="delete_user.php?id='.$rij['id'].'"><img src="verwijder.gif" border="0" width="16" height="16" /></a>&nbsp;&nbsp;';
echo $rij['name'] .'&nbsp;-&nbsp;';
        if ($rang == "1")
            echo "<em>Gebruiker</em>", '<br />';
        if ($rang == "2")
            echo "<em>Aanpasser</em>", '<br />';
        if ($rang == "4")
            echo "<em>Admin</em>", '<br />';
        if ($rang == "8")
            echo "<em>Beheerder</em>", '<br />';
}


?>



<br />
<a href="login.php"> ga terug</a>
<link href="css/aanmelden.css" rel="stylesheet" type="text/css" />
</div></div>


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
//update.php

<?
// Alles getten
$id = $_GET['id'];

// Hierboven dus alles getten wat je met de link hebt meegezonden en dat dan weergeven in de values hieronder in het formulier die kan je later in een tabel etc wat ij ook wilt zetten.. Nog wel even in mysql_real_string zetten
?>


<form name="Updaten" action="Update_now.php" method="GET">
<input value="<? echo $id ?>" type="hidden" name="id" size="20">
<input value="<? echo $?????? ?>" type="text" name="??????" size="20">
<input value="<? echo $?????? ?>" type="text" name="??????" size="20">
<input value="<? echo $?????? ?>" type="text" name="??????" size="20">
<input value="<? echo $?????? ?>" type="text" name="??????" size="20">
<input type="submit" value="Wijzig" name="submit">
</form>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
// Alles getten
$id = $_GET['id'];

// Hierboven dus alles getten wat je met het formulier hebt meegezonden en weer beveiligen

$sql = "UPDATE agenda SET iets='$iets' , iets2='$iets2' , iets3='$iets3' WHERE id='$id'";
        mysql_query($sql);

echo "Het is allemaal gelukt!";

?>
 
Frank -

Frank -

09/04/2009 17:55:00
Quote Anchor link
$id = $_GET['id'];

Wat is dat voor onzin? Extra bugs en veiligheidslekken aanmaken? Leuk, maar alleen om iemand een oor aan te naaien.

echo "Het is allemaal gelukt!";
Leuk stukje code, maar het zegt 10x niks. Toevallig bereikt het script deze regel, maar dat is dan ook het enige dat er is gelukt. Het heeft geen enkele betekenis, je controleert niks en dus valt er niet te zeggen of een query wel of niet is gelukt.

mysql_real_escape_string(), mysql_affected_rows(), dat zijn zo even een paar functies die je nodig gaat hebben om er een fatsoenlijk script van te maken.
 
Milo

Milo

09/04/2009 18:50:00
Quote Anchor link
@pg frank dit heb ik bij mijn eigen codes wel allemaal gedaan hoor ;) maar ik ga er vanuit dat hij zelf wel dat get enzo veilig kan maken en eerlijk gezegt foutmeldingen enzo heb ik nog geen kaas van gegeten aangezien ik nu 1 1/2 maand bezig ben heb ik niet meteen alles onder de knie

maar bedankt voor de kritiek die je zo subtiel brengt :S
 
Niels van Dijk

Niels van Dijk

10/04/2009 13:50:00
Quote Anchor link
hmm bedannkt maar het werkt nog niet :<
 
Niels van Dijk

Niels van Dijk

11/04/2009 10:27:00
Quote Anchor link
ik snap het nog niet helemaal ?
 
Niels van Dijk

Niels van Dijk

15/04/2009 23:21:00
Quote Anchor link
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
<?

echo "<form name=\"form\" method=\"post\" action=''>
<table>
<tr><td>Rang:</td><td>
<select name='rang' STYLE='width: 146px'>"
;
// hier kan een while voor je options maar is niet verplicht
echo "
<option value=1>Rang1</option>    
<option value=2>Rang2</option>        
</select></td></tr>
<tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Wijzig\"></td></tr>
</table></form>"
;


// hier je actie als er op de post knop wordt gedrukt
$id = $_GET['id'];
$rang = $_POST['rang'];

$query ="UPDATE users SET level='$level' WHERE id='$id'";
$result=mysql_query($query) or die ("fout: " . mysql_error());
?>


iik heb nu dit maar dit werkt ook niet goed hij zet nu het level steeds op null
Gewijzigd op 01/01/1970 01:00:00 door Niels van Dijk
 
Marco PHPJunky

Marco PHPJunky

15/04/2009 23:43:00
Quote Anchor link
.......
Dit is opzich overbodig...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?PHP
$id
= $_GET['id'];
$rang = $_POST['rang'];
?>

Want dit kan je zelf ook direct in de query gebruiken ....
En waar haal je trouwens de var $level vandaan moet dat niet $rang zijn ??

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

 if(isset($_GET['id']) && !empty($_GET['id']))
 {

    if(isset($_POST['rang']) && !empty($_POST['rang']))
    {

       $query = "UPDATE users SET level='".$_POST['rang']."' WHERE id='".$_GET['id']."' LIMIT 1";
        $res = mysql_query($query) or die ("Error: " . mysql_error());

   // succes bericht kan hier...
     }
    else
    {
      echo 'Error: Er ging iets fout bij het ophalen van de Rang...';
      exit();
    }
 }

 else
 {
   echo 'Error: Sorry er ging iets fout bij het mee geven van het ID';
 }
}

?>


ps. natuurlijk moet hier nog wel de controlle bij op de $_post[''] and $_Get['']...
Gebruik hiervoor bijvoorbeeld: mysql_real_escape_string()

en verder is het niet aan te raden om in een 'live' omgeven als je errors (mysql_errors) weer te geven...
Gewijzigd op 01/01/1970 01:00:00 door Marco PHPJunky
 



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.