Titel van de werkzaamheden:
Debuggen php script
Omschrijving van de werkzaamheden:
Debuggen van enkele (kleine) scripts. Het gaat om dit soort meldingen:
Notice: Undefined variable: Verzenden in /var/www/vhosts/domein.nl/subdomains/partners/httpdocs/aanmelden.php on line 79
Notice: Undefined variable: fouten in /var/www/vhosts/domein.nl/subdomains/partners/httpdocs/aanmelden.php on line 154
Notice: Use of undefined constant aanvragen - assumed 'aanvragen' in /var/www/vhosts/domein.nl/subdomains/partners/httpdocs/admin/admin.php on line 216
(het script heeft wel gewerkt, op de nieuwe server werkt deze niet...)
Budget voor dit project:
xx
Deadline:
zsm
BTW-nummer verplicht:
nee
Alle overige informatie:
Stuur even een PM met verwachte prijs en portfolio.
- Debugger php script - Deadline zsm
-
1100 × bekeken sinds 03-01-2009, 11:43 #1
Debugger php script - Deadline zsm
-
-
03-01-2009, 11:54 #2
- Berichten
- 372
- Lid sinds
- 17 Jaar
U heeft PM.
-
03-01-2009, 13:45 #3
- Berichten
- 134
- Lid sinds
- 16 Jaar
Als je gewoon 'ns bovenaan je script dit zet...
Werkt je script dan niet naar behoren?
error_reporting(E_ALL ^ E_NOTICE);
-
03-01-2009, 17:39 #4
- Berichten
- 395
- Lid sinds
- 17 Jaar
Je fouten hebben vast te maken met register globals aan/uit.
-
03-01-2009, 18:22 #5
- Berichten
- 134
- Lid sinds
- 16 Jaar
Het zijn gewone notice-foutmeldingen. Ze komen er omdat een bepaalde variabele niet gedefinieerd is. Het is echter best mogelijk dat bijvoorbeeld de variabele $fouten enkel wordt gedefinieerd wanneer er daadwerkelijk een fout optreedt.
Het feit dat je deze foutmeldingen vroeger niet zag, en op je nieuwe server wel, heeft te maken met het feit dat je nieuwe provider in de standaard php.ini blijkbaar de error reporting heeft gewijzigd naar "alles". In dat geval worden ook alle "notice"-meldingen weergegeven.
Door error_reporting(E_ALL ^ E_NOTICE); in je script te zetten, verschijnen die niet.
-
04-01-2009, 03:07 #6
- Berichten
- 395
- Lid sinds
- 17 Jaar
Wat je zegt kan kloppen, maar het kan ook zijn dat de POST en GET variabelen niet zijn gedefinieerd.
Lijkt me alsnog wel handig om deze fouten op te lossen. Desnoods met een makkelijke isset().
-
04-01-2009, 03:44 #7Gast Guest
Als dit bij een hoster is op een shared hosting server zou ik hem toch eens verzoeken om standaard display errors uit te zetten en eventueel via .htaccess bestanden dit te laten activeren. Daarnaast kunnen errors gewoon gelogt worden naar een log bestand per site/map/gebruiker.
Dit is 1 van de standaard settings die je wilt wijzigen lijkt mij (ivm de veiligheid). Bij ons staat dit in ieder geval standaard uit.
-
04-01-2009, 03:57 #8
- Berichten
- 1.331
- Lid sinds
- 19 Jaar
Dus jij adviseert foutmeldingen standaard uit te zetten? Dan host ik bij voorbaat al niet bij jou. Als er dan iets niet werkt is het namelijk helemaal zoeken waar de fout zit. Natuurlijk zal iedereen hier zijn eigen mening over hebben, maar het zit er bij mij met de paplepel ingegoten dat errors standaard weergegeven moeten worden. Het onderdrukken (en dus ook het gebruik van '@' in PHP) is not-done.
Ontopic: ik ben voor Okke aan de gang gegaan en we hebben besloten een geheel nieuw script te schrijven. Het huidige systeem, waar deze errors dus van toepassing zijn, is zo ongelofelijk slecht geschreven dat oplossen duurder werd dan opnieuw ontwikkelen.
-
04-01-2009, 12:29 #9
ManagedWPHosting.nl
- Berichten
- 1.486
- Lid sinds
- 19 Jaar
Gewoon E_ALL scripten, wordt niemand slechter van.
vaak ook iets als $foo[bar] wat eigenlijk $foo['bar'] moest wezen en gewoon variabelen aanmaken waar nodig ...
-
04-01-2009, 14:18 #10
- Berichten
- 277
- Lid sinds
- 17 Jaar
Origineel gepost door Martijn Dwars
Dus jij adviseert foutmeldingen standaard uit te zetten? Dan host ik bij voorbaat al niet bij jou. Als er dan iets niet werkt is het namelijk helemaal zoeken waar de fout zit. Natuurlijk zal iedereen hier zijn eigen mening over hebben, maar het zit er bij mij met de paplepel ingegoten dat errors standaard weergegeven moeten worden. Het onderdrukken (en dus ook het gebruik van '@' in PHP) is not-done.
Ontopic: ik ben voor Okke aan de gang gegaan en we hebben besloten een geheel nieuw script te schrijven. Het huidige systeem, waar deze errors dus van toepassing zijn, is zo ongelofelijk slecht geschreven dat oplossen duurder werd dan opnieuw ontwikkelen.
Je moet tijdens het debuggen inderdaad geen @ ervoor knallen onder het mom van het werkt laat die error er maar inzitten.
Wat je wel vaak merkt dat als je van een Windows server 2003 host naar een linix host gaat dat je hier en daar errors krijgt. Somigge dingen werken prima onder windows en niet onder linux. Visa versa trouwens.
-
04-01-2009, 15:41 #11Gast Guest
Origineel gepost door Martijn Dwars
Dus jij adviseert foutmeldingen standaard uit te zetten? Dan host ik bij voorbaat al niet bij jou. Als er dan iets niet werkt is het namelijk helemaal zoeken waar de fout zit. Natuurlijk zal iedereen hier zijn eigen mening over hebben, maar het zit er bij mij met de paplepel ingegoten dat errors standaard weergegeven moeten worden. Het onderdrukken (en dus ook het gebruik van '@' in PHP) is not-done.
Ontopic: ik ben voor Okke aan de gang gegaan en we hebben besloten een geheel nieuw script te schrijven. Het huidige systeem, waar deze errors dus van toepassing zijn, is zo ongelofelijk slecht geschreven dat oplossen duurder werd dan opnieuw ontwikkelen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic