veel fouten bij error_reporting
Ik ben weer eens bezig met php dingetjes en er gaat heel wat mis :-)
Ik heb error_reporting op ALL staan en ik krijg bij dit soort zinnetjes allemaal foutmeldingen. Iemand een idee wat ik verkeerd doe?
code:
melding: Notice: Use of undefined constant titel - assumed 'titel' in /home/users/aembeftp/aemb.eu/pages/inc_darchief.php on line 93
['titel']<-- vergeet je aanhalingstekens niet!
als ik dat doe dan krijgt het bericht dat ik post geen titel maar de de titel '$row[titel]' ?
Waarschijnlijk zijn er dus meer plekken waar je de aanhalingstekens vergeten bent. Probeer anders met 'zoeken' van notepad (of welke editor je ook gebruikt) alle $row[titel] te vinden en te vervangen door $row['titel']
Maar bij jou is het een string, dus je moet aanhalingstekens om titel gebruiken.
Zijn gewoon basis PHP dingetjes die heel veel mensen na een jaar nog fout doen.
Nu heb ik nog 1 fout en dat komt waarschijnlijk omdat ik onderstaande code heb vervangen door 'betere' code. Ten minste dat is wat ik gelezen heb.
Oude code:
vervangen door:
en
vervangen door:
Alleen hierdoor weet mijn browser het 'id' niet meer. Dit was de querie:
Code (php)
1
<? $sql = "SELECT id,titel,msg,datum, DATE_FORMAT(datum, '%d %m %Y') as nicedatum, YEAR(datum) as year, MONTH(datum) as month FROM weblog WHERE id = '$_GET[id]'"; ?>
Het zal wel aan de $_GET[id] liggen gok ik... omdat ik nu REQUEST gebruikt?
Iemand nog een idee? :)
Inderdaad, ook bij $_GET['id'] hoor je quotes te gebruiken.
Edit:
Pgfrank was me al voor.
Ook variabelen buiten quotes halen
Ook variabelen buiten quotes halen
probeer dit eens
Code (php)
1
2
3
2
3
<?php
$sql = 'SELECT id,titel,msg,datum, DATE_FORMAT(datum, '%d %m %Y') as nicedatum, YEAR(datum) as year, MONTH(datum) as month FROM weblog WHERE id = '.$_GET['id'];
?>
$sql = 'SELECT id,titel,msg,datum, DATE_FORMAT(datum, '%d %m %Y') as nicedatum, YEAR(datum) as year, MONTH(datum) as month FROM weblog WHERE id = '.$_GET['id'];
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert -
dan krijg ik een foutmelding robert ;)
Weet je dan zeker dat je query goed is? Heb je deze al in (meest voordehand liggende: phpmyadmin) geprobeerd?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = "
SELECT
id,
titel,
msg,
datum,
DATE_FORMAT(datum, '%d %m %Y') as nicedatum,
YEAR(datum) as year,
MONTH(datum) as month
FROM
weblog
WHERE
id = ".$_GET['id'];
?>
$sql = "
SELECT
id,
titel,
msg,
datum,
DATE_FORMAT(datum, '%d %m %Y') as nicedatum,
YEAR(datum) as year,
MONTH(datum) as month
FROM
weblog
WHERE
id = ".$_GET['id'];
?>
Tevens noteer je de query overzichtelijk en bedenk je betere aliassen voor year en month. Dat zijn namelijk functienamen.