Hulp bij fouten ondekken!
Ik heb een scriptje dat producten uit een database haalt en naast elkaar zet, als je erop klikt dan verschijnt de beschrijving en foto in een popup.
Als ik het online zet verschijnt in de table 3 verschillende foutmeldingen, een collega van mij houdt zich al enige tijd bezig met PHP maar hij kon het ook niet oplossen.
Nu is de enige oplossing om het hier op het forum te zetten.
Notice: Undefined index: catid in product_data.php on line 5
Producten:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in product_data.php on line 40
Notice: Undefined variable: show in product_data.php on line 49
De code:
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
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
<?php
error_reporting(E_ALL);
include("dbconnect.php");
$sql = "SELECT * FROM categorien, categorie_per_product, producten WHERE
producten.PRODUCT_ID=categorie_per_product.PRODUCT_ID AND
categorien.CATEGORIE_ID=categorie_per_product.CATEGORIE_ID";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Producten</title>
<script type="text/JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
<style type="text/css">
<!--
.producten {
background-color: #0000FF;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<b>Producten: </b>
<table width="651" height="20" cellpadding="0" cellspacing="0" style="border:solid 1px #000000">
<tr>
<td width="150" valign="top">
<?php
$sql = "SELECT * FROM categorien";
$cat_resultaat = mysql_query($sql);
while ($rij = mysql_fetch_object($cat_resultaat)){
$catid = $rij["CATEGORIE_ID"];
$catnaam = $rij["naam"];
echo "<a href='$PHP_SELF?show=$show&id=$catid&naam=$catnaam'>$catnaam</a><br>";
}
?> </td>
<td width="348">
<?php
if ($show){
$product = ("");
$count = 0;
$pro_resultaat = mysql_query($sql);
echo ("<table cellspacing='0' cellpadding='5' width='100%' border='1' style='border:solid 1px #000000'>");
while ($rij = mysql_fetch_array($pro_resultaat)) {
$proid = $rij["PRODUCT_ID"];
$pronaam = $rij["naam"];
$proimage = $rij["image"];
if($count%2 == 0) {
$product = "</tr><tr>";
}
$product = ("<td class='producten' align='center'><a href='#' onclick='MM_popupMsg('product.php?proid=$proid&pronaam=$pronaam'><img src='producten/$proimage'><br>$pronaam</a></td>");
$count++;
}
if ( $product != "" ){
echo "$product";
} else {
echo "Er zijn geen producten aanwezig!";
exit;
echo "</table>";
}
}
?>
</td>
</tr>
</table>
</body>
</html>
error_reporting(E_ALL);
include("dbconnect.php");
$sql = "SELECT * FROM categorien, categorie_per_product, producten WHERE
producten.PRODUCT_ID=categorie_per_product.PRODUCT_ID AND
categorien.CATEGORIE_ID=categorie_per_product.CATEGORIE_ID";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Producten</title>
<script type="text/JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
<style type="text/css">
<!--
.producten {
background-color: #0000FF;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<b>Producten: </b>
<table width="651" height="20" cellpadding="0" cellspacing="0" style="border:solid 1px #000000">
<tr>
<td width="150" valign="top">
<?php
$sql = "SELECT * FROM categorien";
$cat_resultaat = mysql_query($sql);
while ($rij = mysql_fetch_object($cat_resultaat)){
$catid = $rij["CATEGORIE_ID"];
$catnaam = $rij["naam"];
echo "<a href='$PHP_SELF?show=$show&id=$catid&naam=$catnaam'>$catnaam</a><br>";
}
?> </td>
<td width="348">
<?php
if ($show){
$product = ("");
$count = 0;
$pro_resultaat = mysql_query($sql);
echo ("<table cellspacing='0' cellpadding='5' width='100%' border='1' style='border:solid 1px #000000'>");
while ($rij = mysql_fetch_array($pro_resultaat)) {
$proid = $rij["PRODUCT_ID"];
$pronaam = $rij["naam"];
$proimage = $rij["image"];
if($count%2 == 0) {
$product = "</tr><tr>";
}
$product = ("<td class='producten' align='center'><a href='#' onclick='MM_popupMsg('product.php?proid=$proid&pronaam=$pronaam'><img src='producten/$proimage'><br>$pronaam</a></td>");
$count++;
}
if ( $product != "" ){
echo "$product";
} else {
echo "Er zijn geen producten aanwezig!";
exit;
echo "</table>";
}
}
?>
</td>
</tr>
</table>
</body>
</html>
Ik hoop dat iemand mij kan helpen bij het oplossen, van dit.
Alvast bedankt!
Marlon
Gewijzigd op 01/01/1970 01:00:00 door Marlon Ld
Voer eens SELECT * FROM categorien uit in phpmyadmin. En voeg eens wat controlles in, waarschijnlijk mislukt je query maar je script gaat gewoon verder.
undefined index betekent dat de variabel niet is 'geset'.
je kan dat afvangen door:
if(!isset($catid)) {
$catid = '';
}
volgens mij werkt dit dan, maar sla me er niet op dood
http://www.mahl-webdesign.com/dynamast/product_data.php, hij geeft niks extra weer!
Er worden niet méér foutmeldingen weer gegeven dan voorheen :S
Het werkt niet echt Er worden niet méér foutmeldingen weer gegeven dan voorheen :S
Gewijzigd op 01/01/1970 01:00:00 door Marlon Ld
Wat is regel 5. Volgens mij kloppen de regelnummers hierboven niet met je script.
Notice: Undefined variable: show in /data/members/paid/m/a/mahl-webdesign.com/htdocs/www/dynamast/data_producten.php on line 52
http://www.mahl-webdesign.com/dynamast/data_producten.php
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
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
<?php
error_reporting(E_ALL);
include("dbconnect.php");
$sql = "SELECT * FROM categorien, categorie_per_product, producten WHERE
producten.PRODUCT_ID=categorie_per_product.PRODUCT_ID AND
categorien.CATEGORIE_ID=categorie_per_product.CATEGORIE_ID";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Producten</title>
<script type="text/JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
<style type="text/css">
<!--
.producten {
background-color: #0000FF;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<b>Producten: </b>
<table width="651" height="20" cellpadding="0" cellspacing="0" style="border:solid 1px #000000">
<tr>
<td width="150" valign="top">
<?php
if (!($cat_resultaat = mysql_query ($sql))) {
trigger_error (mysql_error ());
} else {
while ($rij = mysql_fetch_object($cat_resultaat)){
$catid = $rij["CATEGORIE_ID"];
$catnaam = $rij["naam"];
echo "<a href='$PHP_SELF?show=id=$catid&naam=$catnaam'>$catnaam</a><br>";
}
}
?> </td>
<td width="348">
<?php
if ($show){
$product = ("");
$count = 0;
if (!($pro_resultaat = mysql_query ($sql))) {
trigger_error (mysql_error ());
} else {
echo ("<table cellspacing='0' cellpadding='5' width='100%' border='1' style='border:solid 1px #000000'>");
while ($rij = mysql_fetch_array($pro_resultaat)) {
$proid = $rij["PRODUCT_ID"];
$pronaam = $rij["naam"];
$proimage = $rij["image"];
if($count%2 == 0) {
$product = "</tr><tr>";
}
$product = ("<td class='producten' align='center'><a href='#' onclick='MM_popupMsg('product.php?proid=$proid&pronaam=$pronaam'><img src='producten/$proimage'><br>$pronaam</a></td>");
$count++;
}
if ( $product != "" ){
echo "$product";
} else {
echo "Er zijn geen producten aanwezig!";
exit;
echo "</table>";
}
}
}
?>
</td>
</tr>
</table>
</body>
</html>
error_reporting(E_ALL);
include("dbconnect.php");
$sql = "SELECT * FROM categorien, categorie_per_product, producten WHERE
producten.PRODUCT_ID=categorie_per_product.PRODUCT_ID AND
categorien.CATEGORIE_ID=categorie_per_product.CATEGORIE_ID";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Producten</title>
<script type="text/JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0
alert(msg);
}
//-->
</script>
<style type="text/css">
<!--
.producten {
background-color: #0000FF;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<b>Producten: </b>
<table width="651" height="20" cellpadding="0" cellspacing="0" style="border:solid 1px #000000">
<tr>
<td width="150" valign="top">
<?php
if (!($cat_resultaat = mysql_query ($sql))) {
trigger_error (mysql_error ());
} else {
while ($rij = mysql_fetch_object($cat_resultaat)){
$catid = $rij["CATEGORIE_ID"];
$catnaam = $rij["naam"];
echo "<a href='$PHP_SELF?show=id=$catid&naam=$catnaam'>$catnaam</a><br>";
}
}
?> </td>
<td width="348">
<?php
if ($show){
$product = ("");
$count = 0;
if (!($pro_resultaat = mysql_query ($sql))) {
trigger_error (mysql_error ());
} else {
echo ("<table cellspacing='0' cellpadding='5' width='100%' border='1' style='border:solid 1px #000000'>");
while ($rij = mysql_fetch_array($pro_resultaat)) {
$proid = $rij["PRODUCT_ID"];
$pronaam = $rij["naam"];
$proimage = $rij["image"];
if($count%2 == 0) {
$product = "</tr><tr>";
}
$product = ("<td class='producten' align='center'><a href='#' onclick='MM_popupMsg('product.php?proid=$proid&pronaam=$pronaam'><img src='producten/$proimage'><br>$pronaam</a></td>");
$count++;
}
if ( $product != "" ){
echo "$product";
} else {
echo "Er zijn geen producten aanwezig!";
exit;
echo "</table>";
}
}
}
?>
</td>
</tr>
</table>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Marlon Ld
Waar komt $show vandaan?
Edit: Dit is ook wel vreemd:
<a href='$PHP_SELF?show=id=$catid&naam=$catnaam'>$catnaam</a>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Dus als ik op <a href='$PHP_SELF?show=id=$catid&naam=$catnaam'>$catnaam</a> klik dan moeten de producten onder de desbtreffende categorie tevoorschijn komen.
Maar er zitteen fouten in!
Code (php)
1
2
3
4
5
2
3
4
5
<?php
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
Ik volg ook niet helemaal wat je met show wil doen, maar dit lijkt mij de meest logische oplossing.
En variabelen graag buiten quotes :)
Edit: typo
Gewijzigd op 01/01/1970 01:00:00 door Milo
Milo:
Probeer eens:
Ik volg ook niet helemaal wat je met show wil doen, maar dit lijkt mij de meest logische oplossing.
En variabelen graag buiten quotes :)
Edit: typo
Code (php)
1
2
3
4
5
2
3
4
5
<?php
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
Ik volg ook niet helemaal wat je met show wil doen, maar dit lijkt mij de meest logische oplossing.
En variabelen graag buiten quotes :)
Edit: typo
Ik denk dat Milo dit wil doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";
?>
Jonathan, die & waren ervoor om de code valid te houden, als je dit zou gaan testen zou de validatie een ongeldig teken vinden.
Gewijzigd op 01/01/1970 01:00:00 door Milo