Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[PHP] Use of undefined constant type

Pagina: 1
Acties:
  • 70 views sinds 30-01-2008

Verwijderd

Topicstarter
Goedesmiddag!

Ik ben bezig met het errorvrij maken van mijn site.
Nu keek ik in mijn log en zag de volgende PHP notice :
Use of undefined constant type - assumed 'type' in /usr/home/--gebruiker--/sys/elements/content/subnavigatie.php on line 10
Nu vraag ik me af waarom dit probleem?
Of wat veroorzaakt dit probleem?

Veel googlen heeft me wel bijgebracht dat als je netjes wil werken bij gewone variabelen :
if(!isset($variabel)){ $variabel = ""; }

Maargoed, volgens mij gaat zoiets niet op bij een MySQL query.
En ik heb gegoogled, en gezocht hier. Maar vond niets in de zin wat echt gelijkenis had met het onderstaande probleem.

Weet iemand van jullie het misschien?

Uiteraard zijn er meerdere fouten hier te bekennen, maar de bovenstaande is een greep uit de fouten

TIAD
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

echo    "   <div id=\"subnav\">\n";


$query=mysql_query("SELECT * FROM content WHERE pageid='$id' ORDER BY 'pageorder' ASC");
while ($row = mysql_fetch_array($query)) {
    $pageid = $row[pageid];
    $pagename = $row[pagename];
    $type = $row[type];
    $inhoud = $row[inhoud];
    
    if( $sid == $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\"><b>$pagename</b></a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
    if( $sid != $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\">$pagename</a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
}


echo    "   </div>\n";

?>

  • MrOizo2005
  • Registratie: September 2003
  • Laatst online: 25-11 00:01
Probeer eens:

PHP:
1
2
3
4
$pageid = $row["pageid"];
$pagename = $row["pagename"];
$type = $row["type"];
$inhoud = $row["inhoud"];

[ Voor 72% gewijzigd door MrOizo2005 op 17-10-2007 17:07 ]

Also known as Oizopower | When Life Gives You Questions, Google has Answers


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

PHP:
1
 $type = $row[type];


$row[type] <= type is hier een ongedefineerde constante. Je wilt daar eigenlijk een string hebben of een getal.

[edit] Enkele bronnen in google:
http://www.google.com/sea...d+constant%22&btnG=Search

[ Voor 25% gewijzigd door LuCarD op 17-10-2007 17:09 ]

Programmer - an organism that turns coffee into software.


  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik denk dat het verstandig is als je op php.net eens gaat kijken hoe je array's gebruikt.

Verwijderd

Topicstarter
Cartman! schreef op woensdag 17 oktober 2007 @ 18:46:
Ik denk dat het verstandig is als je op php.net eens gaat kijken hoe je array's gebruikt.
Mja dit werkt wel gewoon. Het geeft gewoon een notice.
Dus de array wordt goed gebruikt. Alleen tis een slordigheids foutje. Waarvan ik niet wist hoe te fixoren.

Verwijderd

Topicstarter
Maar al met al het werkt!! THNX!!! :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

echo    "   <div id=\"subnav\">\n";


$query=mysql_query("SELECT * FROM content WHERE pageid='$id' ORDER BY 'pageorder' ASC");
while ($row = mysql_fetch_array($query)) {
    $pageid = $row["pageid"];
    $pagename = $row["pagename"];
    $type = $row["type"];
    $inhoud = $row["inhoud"];
    
    if( $sid == $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\"><b>$pagename</b></a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
    if( $sid != $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\">$pagename</a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
}


echo    "   </div>\n";

?>

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op woensdag 17 oktober 2007 @ 19:43:
Maar al met al het werkt!! THNX!!! :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

echo    "   <div id=\"subnav\">\n";


$query=mysql_query("SELECT * FROM content WHERE pageid='$id' ORDER BY 'pageorder' ASC");
while ($row = mysql_fetch_array($query)) {
    $pageid = $row["pageid"];
    $pagename = $row["pagename"];
    $type = $row["type"];
    $inhoud = $row["inhoud"];
    
    if( $sid == $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\"><b>$pagename</b></a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
    if( $sid != $pagename ){
        echo    "<a href=\"index.php?id=$id&amp;sid=$pagename&amp;lang=$lang\">$pagename</a> &nbsp;&nbsp; | &nbsp;&nbsp;";
    }
}


echo    "   </div>\n";

?>
Snap je ook waarom het fout ging?

Programmer - an organism that turns coffee into software.


  • base_
  • Registratie: April 2003
  • Laatst online: 29-11 17:58
kan je hier niet beter enkele quotes gebruiken, de naam hoeft immers niet geparsed te worden?

code:
1
2
3
4
    $pageid = $row['pageid'];
    $pagename = $row['pagename'];
    $type = $row['type'];
    $inhoud = $row['inhoud'];

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

base_ schreef op woensdag 17 oktober 2007 @ 20:24:
kan je hier niet beter enkele quotes gebruiken, de naam hoeft immers niet geparsed te worden?

code:
1
2
3
4
    $pageid = $row['pageid'];
    $pagename = $row['pagename'];
    $type = $row['type'];
    $inhoud = $row['inhoud'];
micro-optimalisaties / sex-met-insecten :P het zal je niets schelen qua performance.

Stop uploading passwords to Github!


  • Cartman!
  • Registratie: April 2000
  • Niet online
Verwijderd schreef op woensdag 17 oktober 2007 @ 19:42:
[...]


Mja dit werkt wel gewoon. Het geeft gewoon een notice.
Dus de array wordt goed gebruikt. Alleen tis een slordigheids foutje. Waarvan ik niet wist hoe te fixoren.
Dat vind ik persoonlijk een fout in PHP dat hij dat gewoon pakt. Ik ontwikkel altijd met error_reporting op E_ALL, dan krijg je dergelijke 'notices' ook meteen. En dat je niet wist hoe je dit kon fixen vind ik een beetje raar, dit staat allemaal prima uitgelegd op de site van php. Kwestie van leren debuggen en informatie opzoeken.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Dit is inderdaad iets waar je binnen 10 tellen uit was geweest als je even had gegoogled op de foutmelding. We verwachten hier op GoT wel van je dat je even wat moeite doet voor je een topic opent, en dat zie ik hier onvoldoende terug. Bovendien is je probleem toch al opgelost, dus blijft er geen reden over om je topic open te laten. Op slot dus. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.