Hulp bij fouten ondekken!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marlon Ld

Marlon Ld

09/07/2006 00:23:00
Quote Anchor link
Beste PHPhelpers,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>


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
 
PHP hulp

PHP hulp

29/11/2024 01:15:11
 
Arjan Kapteijn

Arjan Kapteijn

09/07/2006 00:28:00
Quote Anchor link
Voer eens SELECT * FROM categorien uit in phpmyadmin. En voeg eens wat controlles in, waarschijnlijk mislukt je query maar je script gaat gewoon verder.
 
Jason de Ridder

Jason de Ridder

09/07/2006 00:30:00
Quote Anchor link
het zijn allemaal notices dus geen errors het script werkt dus naar behoren.

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
 
Bo az

Bo az

09/07/2006 00:33:00
Quote Anchor link
Er zit een fout in de SQL, doe wat arjan zegt, of zorg voor een fout melding in je code:
http://www.phphulp.nl/php/tutorials/3/306/
 
Marlon Ld

Marlon Ld

09/07/2006 01:01:00
Quote Anchor link
Het werkt niet echt 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
Gewijzigd op 01/01/1970 01:00:00 door Marlon Ld
 
- SanThe -

- SanThe -

09/07/2006 01:04:00
Quote Anchor link
Wat is regel 5. Volgens mij kloppen de regelnummers hierboven niet met je script.
 
Marlon Ld

Marlon Ld

09/07/2006 01:17:00
Quote Anchor link
Ik heb een aantal controles toegevoegd, dit werkte dus wel, maar nu geeft hij nog steeds weer dat show undifined is.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
Gewijzigd op 01/01/1970 01:00:00 door Marlon Ld
 
- SanThe -

- SanThe -

09/07/2006 01:41:00
Quote Anchor link
if ($show){

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 -
 
Marlon Ld

Marlon Ld

09/07/2006 03:10:00
Quote Anchor link
Nou de categorien staan als urls aan de linker kant, als ik op een url/link klik komen de producten op het scherm er naast.

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!
 
Milo

Milo

09/07/2006 05:10:00
Quote Anchor link
Probeer eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "<a href='".$_SERVER['PHP_SELF']."?show=id&amp;id=".$catid."&amp;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
 
- -

- -

09/07/2006 08:44:00
Quote Anchor link
Milo:
Probeer eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "<a href='".$_SERVER['PHP_SELF']."?show=id&id=".$catid."&naam=".$catnaam."'>".$catnaam."</a><br />";

?>
 
Willem Jan Z

Willem Jan Z

09/07/2006 09:00:00
Quote Anchor link
Jonathan, die &amp; waren ervoor om de code valid te houden, als je dit zou gaan testen zou de validatie een ongeldig teken vinden.
 
Milo

Milo

09/07/2006 16:36:00
Quote Anchor link
@Jonathan Hogervorst: kent de expert geen xhtml? rofl :)
Gewijzigd op 01/01/1970 01:00:00 door Milo
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.