[PHP] Wat zie ik over het hoofd?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik onderstaand php script gebruik krijg ik een

Notice: Use of undefined constant naam - assumed 'naam'
Notice: Use of undefined constant datum - assumed 'datum'

Ik zie waarschijnlijk iets simpels over het hoofd.. maar wat?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  $SQL=("SELECT * FROM agenda"); 
  $resultaat=mysql_db_query("backintime",$SQL);
  $i=0;
  while ($rij=mysql_fetch_array($resultaat))
  {
    $i++;
    print "<input type=\"checkbox\" name=\"checkbox$i\">";
    print $rij[naam];
    print " op ";
    print $rij[datum];
    print "<BR>";
  }
  if ($i==0) print "<I>Geen agenda items</I>";
?>

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 03 maart 2004 @ 16:32:
Als ik onderstaand php script gebruik krijg ik een

Notice: Use of undefined constant naam - assumed 'naam'
Notice: Use of undefined constant datum - assumed 'datum'

Ik zie waarschijnlijk iets simpels over het hoofd.. maar wat?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  $SQL=("SELECT * FROM agenda"); 
  $resultaat=mysql_db_query("backintime",$SQL);
  $i=0;
  while ($rij=mysql_fetch_array($resultaat))
  {
    $i++;
    print "<input type=\"checkbox\" name=\"checkbox$i\">";
    print $rij[naam];
    print " op ";
    print $rij[datum];
    print "<BR>";
  }
  if ($i==0) print "<I>Geen agenda items</I>";
?>
Regel 9 en regel 11

naam = geen variable en geen string dus hij gaat er vanuit dat het een contstante is...

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
variabelen beginnen met een $

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Strings als index moeten gequote worden.

'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.


Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  $SQL=("SELECT * FROM agenda"); 
  $resultaat=mysql_db_query("backintime",$SQL);
  $i=0;
  while ($rij=mysql_fetch_array($resultaat))
  {
    $i++;
    print "<input type=\"checkbox\" name=\"checkbox$i\">";
    print $rij['naam'];
    print " op ";
    print $rij['datum'];
    print "<BR>";
  }
  if ($i==0) print "<I>Geen agenda items</I>";
?>


Altijd als de key een string is in een array deze tussen quotes zetten

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Try print $rij['naam']; en print $rij['datum'];

Die indexen zijn strings, geen contanten.

Acties:
  • 0 Henk 'm!

  • mr_obb
  • Registratie: Juni 2001
  • Laatst online: 01-09 14:15

mr_obb

Lakse Perfectionist

PHP:
1
    print $rij['naam'];


Dat.

Acties:
  • 0 Henk 'm!

Verwijderd

print $rij['naam'];
print $rij['datum'];

Acties:
  • 0 Henk 'm!

  • Lizard
  • Registratie: Februari 2000
  • Laatst online: 20-09 00:30
De quotes om naam en datum heen?
PHP:
1
2
print $rij["naam"];
print $rij["datum"];

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Thnx allemaal. Hehe, even de qoutes over het hoofd gezien. Opgelost nu.

Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Een andere vraag, waarom gebruik je print en niet echo? Of is print gewoon een alias voor echo?

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

For a short discussion about the differences between print() and echo(), see this FAQTs Knowledge Base Article: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
PHP:
1
$SQL=("SELECT * FROM agenda");

wat is dat voor syntax?

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20-09 18:51
PHP; met redelijk standaard SQL in de string :?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Soultaker schreef op 03 maart 2004 @ 21:09:
PHP; met redelijk standaard SQL in de string :?
Hij wil waarschijnlijk de kolomnamen gespecificeerd zien ;)

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Soultaker schreef op 03 maart 2004 @ 21:09:
PHP; met redelijk standaard SQL in de string :?
$SQL=("SELECT * FROM agenda");
Meestal toch iets als:
PHP:
1
2
3
$SQL = 'SELECT * FROM agenda';
óf
$SQL = (true) ? ('SELECT * FROM agenda') : ('SELECT dit FROM nooit');

[ Voor 9% gewijzigd door Skaah op 03-03-2004 21:35 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20-09 18:51
Het is niet verboden om wat extra haakjes om je expressie te zetten hoor. Als je $foo=((('bar'))) leuk vindt staan, be my guest. En wat moet je in godsnaam met die tweede conditionele expressie?

[ Voor 25% gewijzigd door Soultaker op 03-03-2004 22:01 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Soultaker schreef op 03 maart 2004 @ 22:00:
Het is niet verboden om wat extra haakjes om je expressie te zetten hoor. Als je $foo=((('bar'))) leuk vindt staan, be my guest. En wat moet je in godsnaam met die tweede conditionele expressie?
Hmm, ok, dat van die haakjes wist ik nog niet.
Die tweede conditionele expressie is ter illustratie, foo! :P

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Skaah schreef op 03 maart 2004 @ 22:36:
Hmm, ok, dat van die haakjes wist ik nog niet.
Die tweede conditionele expressie is ter illustratie, foo! :P
Ter illustratie complete onzin posten... Ook leuk. :Y) En haakjes plaatsen kun je niet vaak genoeg doen... Je kan beter een set haakjes teveel hebben dan een te weinig.

'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.


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

NMe84 schreef op 04 maart 2004 @ 11:23:
[...]

Ter illustratie complete onzin posten... Ook leuk. :Y) En haakjes plaatsen kun je niet vaak genoeg doen... Je kan beter een set haakjes teveel hebben dan een te weinig.
Want?

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je haakjes te weinig hebt kan het zijn dat je expressie niet meer klopt. Er zijn talen die hier problemen mee zouden hebben:
code:
1
if (a > b and c < d)

Sommige talen geven voorrang aan de vergelijking, andere aan de and operator. Zo krijg je dus dat een taal het zo kan interpreteren:
code:
1
if ((a > b) and (c < d))

of zo:
code:
1
if (a > (b and c) < d)

Het is dus een goede gewoonte om bij onduidelijkheden wat meer haakjes te gebruiken (niet alleen voor de compiler trouwens, ook voor jezelf, leest makkelijker met haakjes).

'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.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20-09 18:51
Ik gebruik zelf eigenlijk alleen zoveel haakjes omdat elke programmeertaal weer subtiele variaties in prioriteiten kent en ik dus nooit gewend raak aan het plaatsen van haakjes op precies die plekken waar het nodig is.

Ik gebruik trouwens ook vaak haakjes om aan te geven dat ik een assignment als expressie gebruik:
C:
1
if((x = foo())) { ...  }

Maar dat soort dingen worden snel onoverzichtelijk. Ik zou liever veel minder haakjes gebruiken, anders krijg je van die LISP/Scheme achtige toestanden (ik kan geen LISP programmeren zonder een editor te gebruiken die aan matchende haakjes highlighten doet). Als het puntje bij het paaltje komt heeft NMe84 echter wel gelijk: liever wat haakjes teveel dan te weinig: te veel haakjes levert tenslotte geen bugs op, terwijl te weinig haakjes dat wel kan doen.

[ Voor 6% gewijzigd door Soultaker op 04-03-2004 14:50 ]

Pagina: 1