Geen bericht in postvak in
Hey ik heb van een tut hier een pmsysteem gehaald maar de berichten komen iet in het postvak in ?
Kan iemand er eens naar kijken ?
Kan iemand er eens naar kijken ?
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
94
95
96
97
98
99
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
94
95
96
97
98
99
<?php
include_once("config.php");
include_once("lang/lang_".$lang.".php");
$pml_title = $site_name;
include("htmltop.php");
include_once("connect.php");
// Login required
require("safe.php");
?>
<table width="300">
<tr>
<td width="1%">
</td>
<td width="20%">
From:
</td>
<td width="25%">
Date
</td>
<td width="48%">
subject:
</td>
</tr>
<form action="pm_inbox.php" method="post">
<?
if (isset($_POST["what"])){
$what = $_POST["what"];
foreach ($_POST as $mid){
if (is_numeric($mid) == true){
if (isset($mid)){
switch ($what) {
case "delete":
$check_dwd = mysql_query("SELECT * FROM pmoptions WHERE user = '$uuser'");
while (list($id, $user, $alert, $buddy, $block, $dwd) =
mysql_fetch_row($check_dwd)){
if ($dwd == "delete"){
$query = "DELETE FROM pm WHERE id = '$mid'";
mysql_query($query);
}else{
$query = "UPDATE pm SET read = '-1' WHERE id = '$mid'";
mysql_query($query);
}
}
break;
case "unread";
$query = "UPDATE pm SET read = '0' WHERE id = '$mid'";
mysql_query($query);
break;
case "read";
$query = "UPDATE pm SET read = '1' WHERE id = '$mid'";
mysql_query($query);
break;
}
}else{}
}else{}
}
}else{}
$i = 0;
$result = mysql_query("SELECT * FROM pm WHERE `to` = '$uuser' && `read` != -1 ORDER by id DESC", $db);
while (list($id, $from, $ipsender, $to, $date, $time, $sub, $mes, $read) =
mysql_fetch_row($result)){
?>
<tr>
<td>
<input type="checkbox" name="<? echo $i?>" value="<? echo $id ?>">
</td>
<td>
<a href="pm_new.php?to=<? echo $from ?>"><? echo $from ?></a>
</td>
<td>
<? echo $date ?> <? echo $time ?>
</td>
<td>
<a href="pm_read.php?m=<? echo $id ?>"><? echo $sub ?></a>
</td>
</tr>
<?
$i++;
}
?>
</table>
<table width="300">
<tr>
<td>
what u wanna do whit the selected messages ??
<select name="what">
<option value="delete">Delete</option>
<option value="unread">Mark Unread</option>
<option value="read">Mark Read</option>
</select>
<input type="submit" value="Go">
</td>
</tr>
</table>
</form>
</body>
</html>
include_once("config.php");
include_once("lang/lang_".$lang.".php");
$pml_title = $site_name;
include("htmltop.php");
include_once("connect.php");
// Login required
require("safe.php");
?>
<table width="300">
<tr>
<td width="1%">
</td>
<td width="20%">
From:
</td>
<td width="25%">
Date
</td>
<td width="48%">
subject:
</td>
</tr>
<form action="pm_inbox.php" method="post">
<?
if (isset($_POST["what"])){
$what = $_POST["what"];
foreach ($_POST as $mid){
if (is_numeric($mid) == true){
if (isset($mid)){
switch ($what) {
case "delete":
$check_dwd = mysql_query("SELECT * FROM pmoptions WHERE user = '$uuser'");
while (list($id, $user, $alert, $buddy, $block, $dwd) =
mysql_fetch_row($check_dwd)){
if ($dwd == "delete"){
$query = "DELETE FROM pm WHERE id = '$mid'";
mysql_query($query);
}else{
$query = "UPDATE pm SET read = '-1' WHERE id = '$mid'";
mysql_query($query);
}
}
break;
case "unread";
$query = "UPDATE pm SET read = '0' WHERE id = '$mid'";
mysql_query($query);
break;
case "read";
$query = "UPDATE pm SET read = '1' WHERE id = '$mid'";
mysql_query($query);
break;
}
}else{}
}else{}
}
}else{}
$i = 0;
$result = mysql_query("SELECT * FROM pm WHERE `to` = '$uuser' && `read` != -1 ORDER by id DESC", $db);
while (list($id, $from, $ipsender, $to, $date, $time, $sub, $mes, $read) =
mysql_fetch_row($result)){
?>
<tr>
<td>
<input type="checkbox" name="<? echo $i?>" value="<? echo $id ?>">
</td>
<td>
<a href="pm_new.php?to=<? echo $from ?>"><? echo $from ?></a>
</td>
<td>
<? echo $date ?> <? echo $time ?>
</td>
<td>
<a href="pm_read.php?m=<? echo $id ?>"><? echo $sub ?></a>
</td>
</tr>
<?
$i++;
}
?>
</table>
<table width="300">
<tr>
<td>
what u wanna do whit the selected messages ??
<select name="what">
<option value="delete">Delete</option>
<option value="unread">Mark Unread</option>
<option value="read">Mark Read</option>
</select>
<input type="submit" value="Go">
</td>
</tr>
</table>
</form>
</body>
</html>
Post aub alleen relevante code. of zorg dat beetje overzichtelijk is...
hier is men niet zo gek op backquotes...
Wat is het verschil tussen connect.php en config.php? staan daar dingen niet dubbel in?
hier is men niet zo gek op backquotes...
Wat is het verschil tussen connect.php en config.php? staan daar dingen niet dubbel in?
nee de en daar staat de DB info en nog vanalles in en connect is gewoon de connect
ma zo los mijn probleem zich niet op he
en ik den dat de fout op regel 60 tot 63 zit maar ik weet niet wat
ma zo los mijn probleem zich niet op he
en ik den dat de fout op regel 60 tot 63 zit maar ik weet niet wat
Gewijzigd op 01/01/1970 01:00:00 door Nicolas Pierre
nee maar ik kan wel de code met jou doorlopen...
Ik zie dat jou php code in de form staat, ik weet niet of dit effect heeft...dus haal hem is buiten de <form>...
Hij gaat namelijk bij een post pas wat doen...en als jij zegt dat hij moet posten, zal hij dat wel uitvoeren, maar omdat het binnen de form staat leest die daar overheen...
Ik zie dat jou php code in de form staat, ik weet niet of dit effect heeft...dus haal hem is buiten de <form>...
Hij gaat namelijk bij een post pas wat doen...en als jij zegt dat hij moet posten, zal hij dat wel uitvoeren, maar omdat het binnen de form staat leest die daar overheen...
Gewijzigd op 01/01/1970 01:00:00 door Wim E
heb ik gedaan en nog steeds geen verandering maar hij moet er toch niet een form lezen hij moet die gewoon ophalen en printen ?
Ik zie php-shorttags, backtics in query's, vars niet buiten quotes en totaal geen foutafhandeling. Verder is het script zeer onoverzichtelijk (zonder inspringen e.d.) en dus niet te lezen en/of debuggen. Ga daar eerst maar eens mee aan de slag.
Begin eerst eens met het plaatsen van deze regels boven aan je script:
Vervolgens ga je de nodige foutafhandeling in je script aanbrengen. Je controleert nu bijvoorbeeld nergens of de queries die je uitvoert wel gelukt zijn. Die garantie heb je nooit dus daar zul je altijd op moeten controleren!
Verder kan het ook geen kwaad om je code eens wat overzichtelijker te schrijven. Dus netjes inspringen waar dat hoort en af en toe een entertje kan ook geen kwaad...
Vervolgens ga je de nodige foutafhandeling in je script aanbrengen. Je controleert nu bijvoorbeeld nergens of de queries die je uitvoert wel gelukt zijn. Die garantie heb je nooit dus daar zul je altijd op moeten controleren!
Verder kan het ook geen kwaad om je code eens wat overzichtelijker te schrijven. Dus netjes inspringen waar dat hoort en af en toe een entertje kan ook geen kwaad...
dit script is ook niet van mij het komt van een tut hier :)
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 62
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 64
oke dit krijg ik nu
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 62
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 64
oke dit krijg ik nu
Gewijzigd op 01/01/1970 01:00:00 door Nicolas Pierre
Wat is de 'read'-status wanneer een bericht in de tabel wordt gezet (dus de standaard waarde)?
"ORDER by id DESC" Een id is niets, en op niets kun je niet sorteren. Gebruik een datum (veldtype DATETIME) om op te sorteren.
"ORDER by id DESC" Een id is niets, en op niets kun je niet sorteren. Gebruik een datum (veldtype DATETIME) om op te sorteren.
'Nicolas:
Maar dat is toch nog geen reden om het ook in deze vorm te gebruiken? Op dit moment is het gewoon een slecht script omdat een essentieel ding als foutafhandeling volledig ontbreekt.dit script is ook niet van mij het komt van een tut hier :)
Het is aan jou om ofwel een ander script te zoeken ofwel dit script zodanig aan te passen dat het wel een goed script wordt. En voor dat laatste zou je in ieder geval de twee adviezen die ik in mijn vorige post geef op moeten volgen.
jah ik weet dat blanche en ik heb dat gedaan en gepost
de $uuser haalt ie op uit config he
maar ik weet niet of ie daaruitwerkt
$uuser = "$_SESSION['user_id']";
en daarbij waarom geeft hij aan dat de mysql query geen valid agrument is ??
de $uuser haalt ie op uit config he
maar ik weet niet of ie daaruitwerkt
$uuser = "$_SESSION['user_id']";
en daarbij waarom geeft hij aan dat de mysql query geen valid agrument is ??
Nicolas, ga nu eerst eens controleren of je queries überhaupt wel gelukt zijn. Als blijkt dat dat niet het geval is echo je de mysql foutmelding met behulp van mysql_error() en echo je tevens de gebruikte query.
Pas als je dat doet voor elke query die je gebruikt, kun je op een serieuze manier gaan debuggen. Zonder dat is het maar gokken wat en waar het fout gaat...
Pas als je dat doet voor elke query die je gebruikt, kun je op een serieuze manier gaan debuggen. Zonder dat is het maar gokken wat en waar het fout gaat...
jaja heb wat aangepast en nu geeft ie alleen nog
Notice: Undefined variable: uuser in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 77
dus de error zit in die aanroeping van die $uuser he ?
Blanche alle queries kloppen zo te zien alleen dit nog he
Notice: Undefined variable: uuser in /data/members/free/tripod/nl/k/n/i/knightsonline/htdocs/pm_inbox.php on line 77
dus de error zit in die aanroeping van die $uuser he ?
Blanche alle queries kloppen zo te zien alleen dit nog he
Gewijzigd op 01/01/1970 01:00:00 door Nicolas Pierre
Je hebt toch maar een enkele connectie met de database? Dan is $db in mysql_query() ook niet nodig. Je moet óók variabelen buiten quotes zetten, en als je in een where clause op een bepaalde waarde controleert, deze waarde tussen enkele quotes zetten.
Dit is een betere versie:
Lees mijn reactie van 15:32 hierboven voor de wijziging van het ORDER BY-deel.
Quote:
SELECT * FROM pm WHERE `to` = '$uuser' && `read` != -1 ORDER by id DESC
Dit is een betere versie:
Code (php)
1
2
3
4
2
3
4
<?php
$query = "SELECT * FROM pm WHERE to = '".$uuser."' AND read <> '-1' ORDER BY datum DESC";
$result = mysql_query($query);
?>
$query = "SELECT * FROM pm WHERE to = '".$uuser."' AND read <> '-1' ORDER BY datum DESC";
$result = mysql_query($query);
?>
Lees mijn reactie van 15:32 hierboven voor de wijziging van het ORDER BY-deel.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
Quote:
Met andere woorden de variabele $uuser bestaat niet. Dat is een probleem dat je op moet zien te lossen.Notice: Undefined variable: uuser
@Djemo: ook jij mist de foutafhandeling bij je query! Het mag dan een klein voorbeeldje zijn, maar persoonlijk zou ik daar toch ook graag de foutafhandeling zien...
Die variabele bestaat gewoon niet.
@Blanche: Ik weet het, maar ik had het hier even over de query zelf, niet over wat er omheen gebeurd ; ).
jah ik roep die aan in mijn config met sessie en hoe kan die dan niet bestaan ?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
// Settings
$site_url = "http://members.lycos.nl/knightsonline/";
$site_mail = "[email protected]";
$site_name = "Elite Slayers At War";
$activate = "FALSE";
$afterlogin = "index.php";
$lang = "en";
$uuser = "$_SESSION['user_id']";
$site_url = "http://members.lycos.nl/knightsonline/";
$site_mail = "[email protected]";
$site_name = "Elite Slayers At War";
$activate = "FALSE";
$afterlogin = "index.php";
$lang = "en";
$uuser = "$_SESSION['user_id']";
$_SESSION[] variabele binnen quotes!?
Uit welke tijd stamt dit script?...
Uit welke tijd stamt dit script?...
'SanThe:
Ik zie php-shorttags, backtics in query's, vars niet buiten quotes en totaal geen foutafhandeling. Verder is het script zeer onoverzichtelijk (zonder inspringen e.d.) en dus niet te lezen en/of debuggen. Ga daar eerst maar eens mee aan de slag.
Je doet er blijkbaar niks mee. Dan houdt het voor mij ook op. Helaas.
1. Waarom staat $_SESSION['user_id'] daar tussen quotes? Het is toch geen string of wel?
2. Wie zegt dat $_SESSION['user_id'] zelf wel bestaat? Dat controleer je nergens...
3. Eigenlijk maak je nu gewoon een nutteloze kopie van de sessievariabele. Wat is er mis met het gebruik van $_SESSION['user_id'] in de rest van je script. Op die manier weet je tenminste ook nog dat het een sessievariabele betreft.
4. Ik zie nergens session_start() in je script? Zonder die regel zullen sessievariabelen in ieder geval niet bestaan...
ps. Wanneer ga je eigenlijk wat doen met alle goede adviezen die hier in dit topic gegeven worden? Neem nu eens een uurtje de tijd en ga een wat dingetjes uit proberen. We helpen hier graag, maar verwacht tegelijkertijd dat mensen er ook zelf wel wat voor doen...
2. Wie zegt dat $_SESSION['user_id'] zelf wel bestaat? Dat controleer je nergens...
3. Eigenlijk maak je nu gewoon een nutteloze kopie van de sessievariabele. Wat is er mis met het gebruik van $_SESSION['user_id'] in de rest van je script. Op die manier weet je tenminste ook nog dat het een sessievariabele betreft.
4. Ik zie nergens session_start() in je script? Zonder die regel zullen sessievariabelen in ieder geval niet bestaan...
ps. Wanneer ga je eigenlijk wat doen met alle goede adviezen die hier in dit topic gegeven worden? Neem nu eens een uurtje de tijd en ga een wat dingetjes uit proberen. We helpen hier graag, maar verwacht tegelijkertijd dat mensen er ook zelf wel wat voor doen...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit




