Iets veranderen in database
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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;
# 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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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> ';
echo $rij['name'] .' - ';
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 />';
}
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> ';
echo $rij['name'] .' - ';
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 />';
}
En ga eens heel snel iets aan foutafhandeling doen.
sorry ja zal ik doen
Midas schreef op 06.04.2009 16:48:
waar moet ik dat plaatsen ?
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).
ark schreef op 06.04.2009 17:37:
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).
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
Dit is basis HTML + PHP kennis. Lees een paar tutorials.
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
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> ';
echo $rij['name'] .' - ';
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>
<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> ';
echo $rij['name'] .' - ';
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>
Als je het wil wijzigen via een dropdown zou je toch eerst de dropdownlijst moeten toevoegen...
nou ik wil heb bv simpel met een veld waar ik het in vul hoe moet het dan ??
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
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> ';
echo $rij['name'] .' - ';
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>
<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> ';
echo $rij['name'] .' - ';
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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>
<?
// 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)
1
2
3
4
5
6
7
8
9
10
11
12
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!";
?>
// 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!";
?>
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.
maar bedankt voor de kritiek die je zo subtiel brengt :S
hmm bedannkt maar het werkt nog niet :<
ik snap het nog niet helemaal ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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());
?>
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
Dit is opzich overbodig...
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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';
}
}
?>
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