MYSQL voegt niks toe.
Ook geen error's of een bericht dat ie goed is.
Ziet iemand van jullie een fout?
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
90
91
92
93
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
91
92
93
<?
$tit = 'De Berichtenbalk!';
$loc1 = 'Fun';
$loc2 = 'Berichtenbalk';
include("../include/top.php");
if(isset($_POST['submit']))
{
$query = mysql_query("SELECT ip FROM site_bb ORDER BY id DESC LIMIT 1")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
$ip = $_SERVER['REMOTE_ADDR'];
if($list['ip'] == "$ip" || strlen($_POST['bericht']) < 3)
{
error("Je bericht is niet toegevoegd!<br>Je moet een bericht opgeven van tenminste 3 tekens!<br>Je mag niet 2 berichten achter elkaar plaatsen!",'0');
}
else
if(isset($_SESSION['naam']))
{
$naam = $_SESSION['naam'];
$update = "1";
}
else{
$naam = "Gast";
$update = "0";
}
$bericht = str_replace("www.", "", $_POST['bericht']);
$bericht = str_replace("http://", "", $bericht);
mysql_query("INSERT INTO site_bb VALUES ('', '".htmlspecialchars($naam)."', '".htmlspecialchars($bericht)."', '$ip', '".time()."')")or die(mysql_error()); ;
if($update == "1") {mysql_query("UPDATE leden SET dp=dp+1 WHERE id='". $_SESSION['gebruikersid'] ."'")or die(mysql_error());}
echo"<br>Je bericht is succesvol toegevoegd!";
echo "<head><META HTTP-EQUIV='refresh' CONTENT='1; url=berichtenbalk.php'></head>";
}
}
elseif(isset($_GET['delete']))
{
if (isset($_SESSION["status"]) && $_SESSION["status"] == "2" || isset($_SESSION["status"]) && $_SESSION["status"] == "3")
{
$query = mysql_query ("SELECT naam FROM site_bb WHERE id='".$_GET['delete']."'")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
if($list['naam'] != "Gast") {mysql_query("UPDATE leden SET dp=dp-2 WHERE gebruikersnaam='". $list['naam'] ."'")or die(mysql_error());}
echo"<br>Het bericht is verwijderd!";
mysql_query("DELETE FROM site_bb WHERE id='".$_GET['delete']."'");
echo "<head><META HTTP-EQUIV='refresh' CONTENT='1; url=berichtenbalk.php'></head>";
}
}
}
else{
echo'<br><table width="100%" cellspacing="0"><form method=post action="berichtenbalk.php">
<tr><td class="titel" colspan="2">Bericht Plaatsen</td></tr>
<tr><td class="content" width="80">Bericht</td><td class="content"><input name="bericht" type="text" size="30" maxlength="100"></td></tr>
<tr><td class="content"></td><td class="content"><input type="submit" name="submit" value="Voeg toe!"></td></tr>
<tr><td class="bottom" colspan="2"></td></tr></form></table>';
$query = mysql_query ("SELECT id FROM site_bb")or die(mysql_error());
$aantal = mysql_num_rows($query);
$perpagina = 100;
$p = (isset($_GET['pagina'])) ? $_GET['pagina'] - 1 : 0;
$begin = $perpagina * $p;
$aantalpagina = ceil($aantal / $perpagina);
$vorige = ($p == 0) ? 'Vorige' : '<a href=berichtenbalk.php?pagina='.$p.'>Vorige</a>';
$volgende = (($p + 1) == $aantalpagina) ? 'Volgende' : '<a href=berichtenbalk.php?pagina='.($p + 2).'>Volgende</a>';
$i = 1;
$paginas="";
for($i = 1; $i <= $aantalpagina; $i++) {
$paginas .= ($i == ($p +1)) ? ' <b>'.$i .'</b> |' : ' <a href=berichtenbalk.php?pagina='.$i.'>'.$i.'</a> |';
}
$nav = $vorige .' | '. $paginas .' '. $volgende;
echo'<br>'.$nav.'<br><table width="100%" cellspacing="0"><tr><td class="titel" colspan="2">Alle Berichten</td></tr>';
$query = mysql_query("SELECT naam, id, bericht, datum, ip FROM site_bb ORDER BY id DESC Limit $begin,$perpagina")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
echo'<tr><td class="content" width="80"><b>'; if($list['naam'] != "Gast") {echo '<a href="'.$pad.$list['naam'].'">'.htmlspecialchars(stripslashes($list['naam'])).'</a>';} else {echo htmlspecialchars(stripslashes($list['naam']));} echo'</b></td><td class="content"><i>'.date("d-m-y H:i",$list['datum']).'</i> - '.htmlspecialchars(stripslashes($list['bericht']));
if (isset($_SESSION["status"]) && $_SESSION["status"] == "2" || isset($_SESSION["status"]) && $_SESSION["status"] == "3") {echo' - <a href="berichtenbalk.php?delete='.$list['id'].'" onclick="return controleer(this, \'Weet je zeker dat je dit bericht wilt verwijderen?\')">Delete</a> - <a href="../admin/bannen.php?ip='.$list['ip'].'">Bannen</a>';}
echo'</td></tr><tr><td class="bottom" colspan="2"></td></tr>';
}
echo'</table>';
}
include("../include/onder.php");
?>
$tit = 'De Berichtenbalk!';
$loc1 = 'Fun';
$loc2 = 'Berichtenbalk';
include("../include/top.php");
if(isset($_POST['submit']))
{
$query = mysql_query("SELECT ip FROM site_bb ORDER BY id DESC LIMIT 1")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
$ip = $_SERVER['REMOTE_ADDR'];
if($list['ip'] == "$ip" || strlen($_POST['bericht']) < 3)
{
error("Je bericht is niet toegevoegd!<br>Je moet een bericht opgeven van tenminste 3 tekens!<br>Je mag niet 2 berichten achter elkaar plaatsen!",'0');
}
else
if(isset($_SESSION['naam']))
{
$naam = $_SESSION['naam'];
$update = "1";
}
else{
$naam = "Gast";
$update = "0";
}
$bericht = str_replace("www.", "", $_POST['bericht']);
$bericht = str_replace("http://", "", $bericht);
mysql_query("INSERT INTO site_bb VALUES ('', '".htmlspecialchars($naam)."', '".htmlspecialchars($bericht)."', '$ip', '".time()."')")or die(mysql_error()); ;
if($update == "1") {mysql_query("UPDATE leden SET dp=dp+1 WHERE id='". $_SESSION['gebruikersid'] ."'")or die(mysql_error());}
echo"<br>Je bericht is succesvol toegevoegd!";
echo "<head><META HTTP-EQUIV='refresh' CONTENT='1; url=berichtenbalk.php'></head>";
}
}
elseif(isset($_GET['delete']))
{
if (isset($_SESSION["status"]) && $_SESSION["status"] == "2" || isset($_SESSION["status"]) && $_SESSION["status"] == "3")
{
$query = mysql_query ("SELECT naam FROM site_bb WHERE id='".$_GET['delete']."'")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
if($list['naam'] != "Gast") {mysql_query("UPDATE leden SET dp=dp-2 WHERE gebruikersnaam='". $list['naam'] ."'")or die(mysql_error());}
echo"<br>Het bericht is verwijderd!";
mysql_query("DELETE FROM site_bb WHERE id='".$_GET['delete']."'");
echo "<head><META HTTP-EQUIV='refresh' CONTENT='1; url=berichtenbalk.php'></head>";
}
}
}
else{
echo'<br><table width="100%" cellspacing="0"><form method=post action="berichtenbalk.php">
<tr><td class="titel" colspan="2">Bericht Plaatsen</td></tr>
<tr><td class="content" width="80">Bericht</td><td class="content"><input name="bericht" type="text" size="30" maxlength="100"></td></tr>
<tr><td class="content"></td><td class="content"><input type="submit" name="submit" value="Voeg toe!"></td></tr>
<tr><td class="bottom" colspan="2"></td></tr></form></table>';
$query = mysql_query ("SELECT id FROM site_bb")or die(mysql_error());
$aantal = mysql_num_rows($query);
$perpagina = 100;
$p = (isset($_GET['pagina'])) ? $_GET['pagina'] - 1 : 0;
$begin = $perpagina * $p;
$aantalpagina = ceil($aantal / $perpagina);
$vorige = ($p == 0) ? 'Vorige' : '<a href=berichtenbalk.php?pagina='.$p.'>Vorige</a>';
$volgende = (($p + 1) == $aantalpagina) ? 'Volgende' : '<a href=berichtenbalk.php?pagina='.($p + 2).'>Volgende</a>';
$i = 1;
$paginas="";
for($i = 1; $i <= $aantalpagina; $i++) {
$paginas .= ($i == ($p +1)) ? ' <b>'.$i .'</b> |' : ' <a href=berichtenbalk.php?pagina='.$i.'>'.$i.'</a> |';
}
$nav = $vorige .' | '. $paginas .' '. $volgende;
echo'<br>'.$nav.'<br><table width="100%" cellspacing="0"><tr><td class="titel" colspan="2">Alle Berichten</td></tr>';
$query = mysql_query("SELECT naam, id, bericht, datum, ip FROM site_bb ORDER BY id DESC Limit $begin,$perpagina")or die(mysql_error());
while($list = mysql_fetch_assoc($query))
{
echo'<tr><td class="content" width="80"><b>'; if($list['naam'] != "Gast") {echo '<a href="'.$pad.$list['naam'].'">'.htmlspecialchars(stripslashes($list['naam'])).'</a>';} else {echo htmlspecialchars(stripslashes($list['naam']));} echo'</b></td><td class="content"><i>'.date("d-m-y H:i",$list['datum']).'</i> - '.htmlspecialchars(stripslashes($list['bericht']));
if (isset($_SESSION["status"]) && $_SESSION["status"] == "2" || isset($_SESSION["status"]) && $_SESSION["status"] == "3") {echo' - <a href="berichtenbalk.php?delete='.$list['id'].'" onclick="return controleer(this, \'Weet je zeker dat je dit bericht wilt verwijderen?\')">Delete</a> - <a href="../admin/bannen.php?ip='.$list['ip'].'">Bannen</a>';}
echo'</td></tr><tr><td class="bottom" colspan="2"></td></tr>';
}
echo'</table>';
}
include("../include/onder.php");
?>
Geen fouten geeft ie...
Zet voor " mysql_query("INSERT..." eens een echo.
Martijn! schreef op 24.10.2006 20:05:
Zet voor " mysql_query("INSERT..." eens een echo.
Dan nog niks, ook geen fouten.
Wat doet ie WEL?
Is de logica wel goed? Wordt er eigenlijk wel een INSERT-query uitgevoerd? Het wordt nergens gecontroleerd, het kan dus zo maar zijn dat de hele query niet wordt aangeroepen. Controleer de if-else'jes door her en der even iets te echoen, dan weet je waar het script op dat moment is gebleven.
geeft de pagina gewoon, met geen bericht van Bericht geplaats ofzo..
doe is:
mysql_query("...") or die(trigger_error(mysql_error)); hij moet toch IETS geven als het neit werkt!
edit:
Geef alles is handmatig aan? en $ip is niet weggequote? dus '".$ip."' ipv '$ip'.
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
if(isset($_SESSION['naam']))
maar ik zie nergens session_start ()
en bovendien:
mysql_query("INSERT INTO site_bb VALUES ('', '".htmlspecialchars($naam)."', '".htmlspecialchars($bericht)."', '$ip', '".time()."')")or die(mysql_error()); ;
is een foute syntax. Je hoor voor VALUES de veldnamen (tussen haakjes) op te geven.
@Jan als het een foute syntax is waarom geeft mysql_error() dan geen foutmelding?
@Jan: Het is een fout dialect, maar MySQL vindt het prima... Maar of je daar nu zo blij mee moet zijn? Op deze manier leer je nooit normaal SQL te schrijven
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
<?php
$sql = "
INSERT INTO site_bb
SET
naam = '" . htmlspecialchars($naam) . "',
bericht = '" . htmlspecialchars($bericht) . "',
ip = '" . $ip . "',
datumtijd = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
?>
$sql = "
INSERT INTO site_bb
SET
naam = '" . htmlspecialchars($naam) . "',
bericht = '" . htmlspecialchars($bericht) . "',
ip = '" . $ip . "',
datumtijd = NOW()";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
?>
Frank schreef op 24.10.2006 20:57:
@Jan: Het is een fout dialect, maar MySQL vindt het prima... Maar of je daar nu zo blij mee moet zijn? Op deze manier leer je nooit normaal SQL te schrijven
Tjezus, schandalig! Waar moet dat heen...
Gelukkig gebruik ik altijd die syntax uit mijn vorige post, en niet dat gedoe met VALUES ;-)
INSERT INTO (veld1,veld2) VALUES ('waarde1','waarde2')
ofniet?
INSERT INTO site_bb VALUES ('', enz...
is nooit nodig. Je hoeft het autoincrement veld helemaal niet op te geven. Dat regelt MySQL voor je.
Jan Koehoorn schreef op 24.10.2006 20:59:
Tjezus, schandalig! Waar moet dat heen...
Gelukkig gebruik ik altijd die syntax uit mijn vorige post, en niet dat gedoe met VALUES ;-)
Jan, gezien jouw leeftijd (hahahaha) ga ik geen moeite doen om jou te corrigeren. Frank schreef op 24.10.2006 20:57:
@Jan: Het is een fout dialect, maar MySQL vindt het prima... Maar of je daar nu zo blij mee moet zijn? Op deze manier leer je nooit normaal SQL te schrijven
Tjezus, schandalig! Waar moet dat heen...
Gelukkig gebruik ik altijd die syntax uit mijn vorige post, en niet dat gedoe met VALUES ;-)
Maar voor zover ik weet, gebruik jij uitsluitend MySQL. In dat geval werkt het prima. Met andere databases, Oracle, DB2, PostgreSQL, etc., gaat dit niet werken. Maar met dit soort databases kun je ook beter (lees: slimmer) de boel met PL-programming gaan doen. In de php-code komen dan helemaal geen queries meer te staan, je roept een API aan en stuurt daar de benodigde informatie heen. That's it.
Nog werkt het niet..
staat er wel wat in die variabelen?
Heb dit erbij gezet:
En hij geeft niks weer...