veel fouten bij error_reporting

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marije

Marije

05/11/2007 17:43:00
Quote Anchor link
Hallo hallo,

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $row[titel] = nl2br($row[titel]);  ?>


melding: Notice: Use of undefined constant titel - assumed 'titel' in /home/users/aembeftp/aemb.eu/pages/inc_darchief.php on line 93
 
PHP hulp

PHP hulp

08/05/2024 08:10:14
 
Hylke

Hylke

05/11/2007 17:45:00
Quote Anchor link
['titel']<-- vergeet je aanhalingstekens niet!
 
Marije

Marije

05/11/2007 17:49:00
Quote Anchor link
als ik dat doe dan krijgt het bericht dat ik post geen titel maar de de titel '$row[titel]' ?
 
Hylke

Hylke

05/11/2007 17:52:00
Quote Anchor link
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']
 
PHP erik

PHP erik

05/11/2007 17:56:00
Quote Anchor link
Marije, titel is een naam van een kolom in de database, en is dus een string in PHP wordt dan 'titel'. Daarom wordt het $row['titel']. Stel dat je een variabele naam zou gebruiken dan zou het zoiets worden: $row[$titel]. Als je een constante zou gebruiken zou het bijvoorbeeld worden: $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.
 
Marije

Marije

05/11/2007 19:00:00
Quote Anchor link
ok fiew... volgens mij is het gelukt... ik ben bijna error vrij haha. Bedankt hoor. ik was inderdaad op een hoop plaatsen de quotes vergeten.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?  if (!$_GET[id] && !$_POST[id]) ?>

vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?  if ( !isset($_REQUEST['id']) ) ?>


en
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?  if ($_POST["submit"] && $_POST["naam"] && $_POST["msg"])  ?>

vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?  if ( isset($_POST['submit'], $_POST['naam'], $_POST['msg']) ) ?>


Alleen hierdoor weet mijn browser het 'id' niet meer. Dit was de querie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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? :)
 
Frank -

Frank -

05/11/2007 19:04:00
Quote Anchor link
Inderdaad, ook bij $_GET['id'] hoor je quotes te gebruiken.
 
Robert -

Robert -

05/11/2007 19:05:00
Quote Anchor link
Edit:
Pgfrank was me al voor.
Ook variabelen buiten quotes halen


probeer dit eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];  
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert -
 
Marije

Marije

05/11/2007 19:12:00
Quote Anchor link
dan krijg ik een foutmelding robert ;)
 
Crispijn -

Crispijn -

06/11/2007 01:28:00
Quote Anchor link
Weet je dan zeker dat je query goed is? Heb je deze al in (meest voordehand liggende: phpmyadmin) geprobeerd?
 
Frank -

Frank -

06/11/2007 09:36:00
Quote Anchor link
Zet de query tussen dubbele quotes, dan ga je niet de mist in met de enkele quotes die je ín de query nodig hebt.
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
<?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'];  
?>

Tevens noteer je de query overzichtelijk en bedenk je betere aliassen voor year en month. Dat zijn namelijk functienamen.
 



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.