[opgelost] User bannen. Hoe beginnen?
Pagina: « vorige 1 2 3 4 volgende »
- SanThe - op 07/01/2012 18:07:16:
Dat houdt geen steek. Als je enkel een datum invoert. Houd hij niet eens de tijd bij. Toch?
Ik lees enkel maar wat er bij add_date functie staat...
Ik denk dat het beter met add_time werkt dan date...
Toevoeging op 07/01/2012 18:12:26:
- Aar - op 07/01/2012 18:07:50:
ADDTIME in dat geval. Geen idee of ADD_DATE() ook werkt, als je NOW() opgeeft.
Dat was de vraag. het zou eventueel kunnen werken, maar moet je dan niet de tijd ook nog eens opgeven.
Want als je de add_date functie gebruikt, houdt hij alleen maar de dag bij waarop er geband werd. Niet het uur. Of wel? :p
Ken DC op 07/01/2012 18:11:24:
Want als je de add_date functie gebruikt, houdt hij alleen maar de dag bij waarop er geband werd. Niet het uur. Of wel? :p
Inderdaar, met ADDTIME() zou je als het goed is wel zowel met datum als tijd kunnen rekenen. Omdat MySQL of alleen de datums kent, of de datums en de tijden (maar niet alleen de tijden)
Ik zeg: "Trial and error", en zie zelf...
Gewijzigd op 07/01/2012 18:21:10 door - Ariën -
ADD_DATE is compleet nutteloos in deze thread. ADD_TIME lijkt me beter :) dan heeft hij alles wat hij wil, ook al bestaat er KANS dat ADD_DATE werkt... wrm hopen dat het werkt, terwijl het anders gewoon zeker werkt :p
Ik moet toch mijn tabel updaten? Of zit ik er helemaal naast?
Dem Ian op 07/01/2012 18:37:14:
Vraagje,
Ik moet toch mijn tabel updaten? Of zit ik er helemaal naast?
Ik moet toch mijn tabel updaten? Of zit ik er helemaal naast?
Wat bedoel je?
Maar ik plaats het bij SET.
Ja, je update je velden dan uiteraard.
In plaats van SELECT, doe je UPDATE ofzo?
Het zou namelijk kunnen dat sql dat als varchar() ziet terwijl het een int() is.
Gewijzigd op 07/01/2012 19:10:21 door Andre Sep
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY), ban-status = '1' W' at line 4
In query: UPDATE leden SET ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY), ban-status = '1' WHERE id='1' in /home/a7258442/public_html/testen/geefban.php on line 41
Op lijn 4 van mijn syntax staat dit:
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
Op lijn 41 staat:
trigger_error(mysql_error().'<br />In query: '.$sql);
Gewijzigd op 07/01/2012 19:13:15 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
id='".$_GET['del']."'
";
?>
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
id='".$_GET['del']."'
";
?>
Afbeelding van de 2 extra tabellen:
http://imageshack.us/photo/my-images/810/knipseljp.png/
Hoe bedoel je, die ID tussen quotes?
Ik kan toch moeilijk dit doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
"id"='".$_GET['del']."'
";
?>
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
"id"='".$_GET['del']."'
";
?>
Dit is mijn volledige script:
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
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
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
<?php
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
include('config.php');
@mysql_connect($server, $user,$pass) or die ("Can't connect to MySQL database server");
@mysql_select_db($database) or die("Can't find database.");
if(isset($_GET['del'])) {
if(is_numeric($_GET['del'])) {
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
id='".$_GET['del']."'
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_affected_rows() == 0)
{
echo 'Geen records gewijzigd. <br />Query: '.$sql;
}
else
{
echo 'Update was succesvol!';
}
}else{
?>
Welke gebruiker wil je ban geven??<br />
<form method="get" action="geefban.php">
<table>
<tr>
<td><select name="del" size="1">
<option value=""> </option>
<?
$sql = "SELECT username,id FROM leden ORDER BY username ASC";
$query = mysql_query($sql);
while($rij = mysql_fetch_object($query)) {
$id = htmlspecialchars($rij->id);
$username = htmlspecialchars($rij->username);
echo "<option value=\"".$id."\">".$username."</option>\n";
}
?></select>
</td>
<td><input type="submit" value="Geef_Ban" /></td>
</tr>
</table>
</form>
<?
}
}else{
?>
Welke gebruiker wil je ban geven?<br />
<ul>
<li><a href="geefban.php?del=do">Geef ban</a></li>
</ul>
</body>
</html>
<?php
}
?>
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
include('config.php');
@mysql_connect($server, $user,$pass) or die ("Can't connect to MySQL database server");
@mysql_select_db($database) or die("Can't find database.");
if(isset($_GET['del'])) {
if(is_numeric($_GET['del'])) {
$sql = "
UPDATE
leden
SET
ban-verloop-datum = DATE_ADD(NOW(), INTERVAL 1 DAY),
ban-status = '1'
WHERE
id='".$_GET['del']."'
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_affected_rows() == 0)
{
echo 'Geen records gewijzigd. <br />Query: '.$sql;
}
else
{
echo 'Update was succesvol!';
}
}else{
?>
Welke gebruiker wil je ban geven??<br />
<form method="get" action="geefban.php">
<table>
<tr>
<td><select name="del" size="1">
<option value=""> </option>
<?
$sql = "SELECT username,id FROM leden ORDER BY username ASC";
$query = mysql_query($sql);
while($rij = mysql_fetch_object($query)) {
$id = htmlspecialchars($rij->id);
$username = htmlspecialchars($rij->username);
echo "<option value=\"".$id."\">".$username."</option>\n";
}
?></select>
</td>
<td><input type="submit" value="Geef_Ban" /></td>
</tr>
</table>
</form>
<?
}
}else{
?>
Welke gebruiker wil je ban geven?<br />
<ul>
<li><a href="geefban.php?del=do">Geef ban</a></li>
</ul>
</body>
</html>
<?php
}
?>
Welke info kan ik nog meer geven?
A S op 07/01/2012 19:12:57:
Heb je de 1 al zonder quotes geprobeerd?
Dus niet '1', maar 1
Dus niet '1', maar 1
Waarom niet bij een waarde? o.O
- Aar - op 07/01/2012 19:14:59:
Ik zou gewoon een '1' gebruiken. Werkt altijd prima, en dat hoort ook zo voor waardes.
AS heeft het bij het foute eind... ;-)
AS heeft het bij het foute eind... ;-)
Haha.. Ik had mijn bericht gewijzigd omdat je daar eerst iets over schreef, en weer terug gezet.
Ik weet zeker dat als de kolom id een int() is, je het ook zonder de quotes kan en mag invoeren. Maar of dat ook deze fout veroorzaakt weet ik niet.
Verder zou ik ook geen dashes (-) als scheidingsteken gebruiken maar underscores (_)
Dem Ian op 07/01/2012 19:16:04:
Afbeelding van de 2 extra tabellen:
http://imageshack.us/photo/my-images/810/knipseljp.png/
http://imageshack.us/photo/my-images/810/knipseljp.png/
Ik zie geen tabellen, wel velden.
Ken de terminologie...........
Maar zit er een fout bij mijn 'velden'?
Edit:
Sorry. De Error die je krijgt met je volledige code. Op welke line staat die.
Gewijzigd op 07/01/2012 19:29:18 door Ken DC