PHP warnings uit zonder php.ini

Pagina: 1
Acties:

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Mijn provider heeft de warnings aanstaan en krijg ik bij elke
ongedefenieerde variabele de waarschuwing:

Warning: Undefined variable etc etc
:(
Kan ik die instellingen overrulen door iets in mijn scripts te zetten zodat die meldingen niet meer komen??

Ik kan er niks over vinden.
Ik heb met erroreporting zitten klooien maar dat werkt niet.

Voor sommige zaken is het beter als ik mijn vars niet definieer van te voren. Idëen??

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • CyeZ
  • Registratie: September 2001
  • Laatst online: 01-09 14:35

CyeZ

Vroem vroem!!!

PHP:
1
error_reporting(E_NONE);


ergens voorin je script gooien, dat onderdrukt alle fouten/waarschuwingen. Is ook vrij makkelijk te vinden op www.php.net
Echter: als je waarschuwingen en/of errors krijgt met onderstaande code, dan heb je toch echt dingen in je code die niet helemaal lekker zijn er waar je dan ook zeker aandacht aan moet besteden. Alles is prima te coden zonder een enkele error of warning, zelfs met errorreporting op E_ALL

PHP:
1
error_reporting(E_ALL);

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Ik heb echt in de docu gekeken en toegepast maar kennelijk dat de instellingen van mijn
ISP ze overrulen. Thuis gaat het goed. dmv php.ini, maar online niet.

Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • plakbandrol
  • Registratie: Juni 2002
  • Laatst online: 12-02 12:36
bluesbrother schreef op 06 augustus 2002 @ 02:11:
Ik heb echt in de docu gekeken en toegepast maar kennelijk dat de instellingen van mijn
ISP ze overrulen. Thuis gaat het goed. dmv php.ini, maar online niet.

Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.
PHP:
1
if (!$var) { $var = 0; }


zoiets?

  • CyeZ
  • Registratie: September 2001
  • Laatst online: 01-09 14:35

CyeZ

Vroem vroem!!!

plakbandrol schreef op 06 augustus 2002 @ 02:17:
[...]
PHP:
1
if (!$var) { $var = 0; }


zoiets?
of nog mooier:

PHP:
1
2
3
4
5
6
if (isset($var)){
  echo "doe hier wat gekker dingen";
} else {
  echo "fout? variabele is niet aanwezig."; 
  // of gewoon negeren als het optioneel is natuurlijk.
}

[ Voor 0% gewijzigd door CyeZ op 06-08-2002 02:51 . Reden: layout verneuking gefixed. ]

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

bluesbrother schreef op 06 augustus 2002 @ 02:11:
Maar dan mag je deze newbie vertellen hoe je vars kan definieren zonder dat ze mijn andere later in te vullen waarden in de war schoppen.
How bout boven in je pagina de variabelen vullen met default waardes?
$mijnstring = '';
$mijninteger = 0;
Of dit op een andere plek doen ;) Als je ergens een if hebt waarin je de var's vult, ook een else opnemen om ze daar default waardes te geven. Of isset() gebruiken, al vind ik het persoonlijk handiger om met default waardes te werken.

Exact expert nodig?


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Crazy_D:
Als je ergens een if hebt waarin je de var's vult, ook een else opnemen om ze daar default waardes te geven. Of isset() gebruiken, al vind ik het persoonlijk handiger om met default waardes te werken.
't Lijkt mij juist het handigst om beide te doen:
code:
1
2
3
if ( niet geldige waarde van $var ) {
   $var = default waarde;
}

waar in de conditie dan (uiteraard) ook de isset() opgenomen wordt :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Hmm, dit topic brengt mij gelijk op de volgende vraag:

PHP:
1
2
3
4
for($i = 0;$i <= 10;$i++){
  $j = $j + 2;
  echo "$i - $j";
}


zou perfect kunnen werken (als "E_ALL" niet aanstaat) wat is voor php nou het voordeel om die variabele (in dit geval $j) eventjes te defineren?

mijn T.net systeemspecspagina


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 09:50

mulder

ik spuug op het trottoir

Wat zit er nu in $j? 0? 2525?

oogjes open, snaveltjes dicht


Verwijderd

CyeZ schreef op 06 augustus 2002 @ 02:46:
[...]

of nog mooier:

PHP:
1
2
3
4
5
6
if (isset($var)){
  echo "doe hier wat gekker dingen";
} else {
  echo "fout? variabele is niet aanwezig."; 
  // of gewoon negeren als het optioneel is natuurlijk.
}
Nog mooier zou zijn:
PHP:
1
2
3
4
5
if(strlen(trim($incomingvar)) > 0){
  //var is ok, doe wat met die var ofzo
}else{
  //De gebruiker van het form heeft de waarde niet of met spatie(s) ingevult
}

Hierbij moet wel gezegd worden dat je eigenlijk $_GET $_POST en $_COOKIE etc zou moeten gebruiken.

  • Grum
  • Registratie: Juni 2001
  • Niet online
PHP:
1
2
3
4
for($i = 0,$j = 0;$i <= 10;$i++){
  $j = $j + 2;
  echo "$i - $j";
}


Word et dan dus, vraag me af of et werkt .. vast wel =)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

$i=$j=0 :)

Klaar voor een nieuwe uitdaging.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

RRX:
Hmm, dit topic brengt mij gelijk op de volgende vraag:

PHP:
1
2
3
4
for($i = 0;$i <= 10;$i++){
  $j = $j + 2;
  echo "$i - $j";
}


zou perfect kunnen werken (als "E_ALL" niet aanstaat) wat is voor php nou het voordeel om die variabele (in dit geval $j) eventjes te defineren?
Het gebruik van E_ALL wordt hier en daar een beetje verkeerd gewaardeerd.

Het doel van error_reporting op E_ALL (lees: E_NOTICE) is in feite debug-informatie. Je kunt namelijk binnen no-time bugs tracen die voortkomen uit ongedefinieerde variabelen (vaak spelfouten). Oftewel, als je code zo schrijft, dat E_NOTICE wel fouten geeft, maar je die negeert, is het veel lastiger het het kaf van het koren te scheiden. Welke Notice geeft nou wel en welke geeft nou geen waardevolle informatie?

Kortom, je maakt het jezelf alleen maar makkelijker door nette code te schrijven die zonder wat voor melding dan ook er doorheen komt, met error_reporting op E_ALL.

Vergeet ik nog te melden dat je door met E_ALL te werken ook vaak een beter beeld krijgt van de informatie waar je mee te maken hebt, omdat je min of meer gedwongen wordt je input door en door te kennen

[ Voor 0% gewijzigd door drm op 06-08-2002 13:38 . Reden: controle op je informatie ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
okay mensen ik heb het volgend gedaan:

// dit zijn meldingen (een echo) die altijd weergegeven
//worden, maar als ze leeg zijn zie je ze niet.
$username_fout = "";$email_fout = "";
$passw_fout = "";
Als ik ze als bovenstaand definieer, of met 0 dan werken ze ook niet meer.

dit is de submit knop, en die geeft anders ook een melding als ik hem
niet definieer, als ik het als volgt doen dan werkt ie nie meer.
$submit = 0;

En zo heb ik nog wel een paar voorbeelden.
Ik zal vast iets stoms doen......... :r

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

bluesbrother schreef op 06 augustus 2002 @ 18:31:
okay mensen ik heb het volgend gedaan:
...
Het ligt er natuurlijk wel aan waar en wanneer je ze zo definieert..

On track


Verwijderd

kun je je hele script posten bluesbrother, dan kunnen we je misschien beter helpen. Ook denk ik dat in het vervolg zelf error_reporting op E_ALL zetten een verstandig advies is.

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
neem bijvoorbeeld:
Undefined variable: submit in ladida_user.php on line 143
Als ik $submit ergens aan gelijk stel werkt deze niet meer als er op de submit knop wordt gedrukt.
Ook simpele $vars als $username = "txt_username"; // wat de eerste var gelijk stelt aan een input text field.

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
gebruik:
PHP:
1
2
3
if (!isset($submit)) {
    $submit = ""; //defaultwaarde
}

Wat volgens mij al eerder gezegd is.

Verwijderd

kan het niet zo zijn dat je isp register_globals uit heeft staan? dat je dus met $_GET['submit'] en $_POST['submit'] moet werken ipv gelijk met $submit?

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Verwijderd schreef op 11 augustus 2002 @ 20:15:
kan het niet zo zijn dat je isp register_globals uit heeft staan? dat je dus met $_GET['submit'] en $_POST['submit'] moet werken ipv gelijk met $submit?
Neej het ging fout, omdat hij in zijn script de waarde overschreef met defaeultwaarde zonder eerst te kijken of ze geset waren.

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Het gezeur met die waarschuwingen kan je ook uitzetten door:
@$var; te gebruiken, de eerste keer dat deze var wordt aangeroepen.

http://www.php.net/manual...perators.errorcontrol.php

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Fouten moet je niet onderdrukken maar gewoon niet maken.

Genezen is beter dan voorkomen he ...

  • flat
  • Registratie: Mei 2000
  • Niet online
bluesbrother schreef op 11 augustus 2002 @ 20:25:
Het gezeur met die waarschuwingen kan je ook uitzetten door:
@$var; te gebruiken, de eerste keer dat deze var wordt aangeroepen.

http://www.php.net/manual...perators.errorcontrol.php
da's ook gewoon het onderdrukken van 'n foutmelding...

enneh, grum: 't is precies andersom hè :P

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Grum
  • Registratie: Juni 2001
  • Niet online
g0h .. is ook niet sarcastisch bedoeld :P

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 01-09 13:04
offtopic:
Over dat $submit: als je in je formulier op Enter drukt en dus niet met de muis op de knop submit klikt, dan wordt wel je formulier verstuurd, maar niet de waarde van die knop. En dus bestaat $submit in dat geval ook niet.

Verwijderd

Eegee schreef op 11 augustus 2002 @ 21:27:
offtopic:
Over dat $submit: als je in je formulier op Enter drukt en dus niet met de muis op de knop submit klikt, dan wordt wel je formulier verstuurd, maar niet de waarde van die knop. En dus bestaat $submit in dat geval ook niet.
hey kijk dat wist ik dus niet, dus altijd ff een inputtype=hidden name=submit value=yes erbij gooien :)

thnx

Verwijderd

waarom een hidden input met submit? je kan toch ook gewoon een veld checken?

dus bijvoorbeeld:

if(isset($_POST["username"]))

bij een loginform...

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

Verwijderd schreef op 11 augustus 2002 @ 21:38:
[...]

hey kijk dat wist ik dus niet, dus altijd ff een inputtype=hidden name=submit value=yes erbij gooien :)

thnx
Gewoon checken of de request_method post is, en daarna controleren of alle (verplichte) velden geset zijn.

Exact expert nodig?

Pagina: 1