[PHP] Warning: Undefined variable in PHP 4.1.1

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Sinds ik van PHP 4.0 naar PHP 4.1.1 ben geswitched krijg ik in bepaalde scripts ineens een heleboel warnings zoals:
Warning: Undefined variable: blaat in script.php on line 159

Ik heb een idee dat dit misschien door een setting in php.ini komt. register_globals aanzetten hielp echter niet.

Heeft iemand enig idee waardoor ik deze foutmeldingen krijg?
Alvast bedankt.

It’s nice to be important but it’s more important to be nice


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

error reporting verlagen in je php.ini :)

Doet iets met Cloud (MS/IBM)


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Die errors moeten er gewoon uit.
Ik snap het niet alles werkte goed in de vorige PHP versie en nu krijg ik ineens ook op de volgende regel ineens ook een error:
$username = $HTTP_SESSION_VARS['username'];

Warning: Undefined index: username in script.php on line 30
:?

It’s nice to be important but it’s more important to be nice


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

In PHP4 is de manier om post/get variabele aan te spreken nogal veranderd, heb je daar al naar gekeken?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Hmm ik had niet verwacht dat er zoveel veranderd zou zijn in PHP 4.1.1 ik denk dat ik even een kijkje gaan nemen op www.php.net
Ik neem aan dat die nieuwe manier wel downwards compatible is :?

It’s nice to be important but it’s more important to be nice


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Op zondag 20 januari 2002 18:39 schreef JonkieXL het volgende:
Die errors moeten er gewoon uit.
Ik snap het niet alles werkte goed in de vorige PHP versie en nu krijg ik ineens ook op de volgende regel ineens ook een error:
$username = $HTTP_SESSION_VARS['username'];

Warning: Undefined index: username in script.php on line 30
:?
Blijkbaar heb je niet al te best naar de eerste reactie op deze topic gekeken. Daarin staat dat je de error-levels even aan moet passen. ?t moet het volgende zijn:
code:
1
E_ALL & ~E_NOTICE

Verder moet je als origineel voor je php.ini eigenlijk het bestand php.ini-dist nemen dat in het zipje met php staat. Dat is de php.ini om php compatible te houden met de oudere versies.

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Op zondag 20 januari 2002 18:48 schreef JonkieXL het volgende:
Hmm ik had niet verwacht dat er zoveel veranderd zou zijn in PHP 4.1.1 ik denk dat ik even een kijkje gaan nemen op www.php.net
Ik neem aan dat die nieuwe manier wel downwards compatible is :?
Het is nu al backward compatible. Als je goed naar de error ziet, geeft ie aan dat de index niet bestaat. De variabele bestaat dus wel, maar de index is er niet.

Waarschijnlijk deed je dingen als
PHP:
1
2
3
4
5
6
7
8
9
<?
if (!$HTTP_POST_VARS[?username?]) {
    // usernaam is niet ingevuld

} else {
    // usernaam is wel ingevuld

}
?>

Eigenlijk zou je dan het volgende moeten doen
PHP:
1
2
3
4
5
6
7
8
9
<?
if (!isset($HTTP_POST_VARS[?username?]) || empty($HTTP_POST_VARS[?username?])) {
    // usernaam is niet ingevuld

} else {
    // usernaam is wel ingevuld

}
?>

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op zondag 20 januari 2002 18:52 schreef freak007 het volgende:

[..]

Blijkbaar heb je niet al te best naar de eerste reactie op deze topic gekeken. Daarin staat dat je de error-levels even aan moet passen. ?t moet het volgende zijn:
code:
1
E_ALL & ~E_NOTICE
In PHP 4.1.1 staat hij standaard op deze setting. Heb ik ook gechecked.
Verder moet je als origineel voor je php.ini eigenlijk het bestand php.ini-dist nemen dat in het zipje met php staat. Dat is de php.ini om php compatible te houden met de oudere versies.
Is ook het geval.
Ik vind het allemaal maar vaag.

It’s nice to be important but it’s more important to be nice


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op zondag 20 januari 2002 18:56 schreef freak007 het volgende:

[..]

Het is nu al backward compatible. Als je goed naar de error ziet, geeft ie aan dat de index niet bestaat. De variabele bestaat dus wel, maar de index is er niet.
Oke thanks. That makes senses.
De session variabele is niet altijd aanwezig.

Maar die Undefined variable errors blijven vaag. In PHP hoef je variabelen toch juist niet expliciet te declareren :?

It’s nice to be important but it’s more important to be nice


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Als je es de changelog van php4.0.x naar 4.1.x leest?

Dan zie je allerlei nieuwe variabelen ter vervanging van de oude HTTP_*...

Ze heten oa $_SESSION[] etc...

Verwijderd

ACM, dat heeft toch niks met z'n probleem te maken, en de oude HTTP_versies werken ook nog wel.

In 4.1 hebben ze wel ook de Errorlevels van de fouten veranderd, ik had hetzelfde probleem als de vraagsteller in phpBB.
Ik weet niet meer hoe ik het heb opgelost, ik geloof inderdaad php.ini aanpassen.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 20 januari 2002 20:07 schreef jdhart het volgende:
ACM, dat heeft toch niks met z'n probleem te maken, en de oude HTTP_versies werken ook nog wel.
Humm, das nog waar ook :)

Magoed, opzich, als je echt die melding nooit wilt krijgen moet je eerst een isset(...); aanroepen, ipv zomaar de errorreporting veranderen ;)
Pagina: 1