PDA

Bekijk Volledige Versie : PHP Programmeur gezocht voor klein probleem op te lossen



dataunit
14/05/08, 12:53
We zijn op zoek naar een persoon die snel een probleem in een PHP script kan oplossen.

Het probleem doet zich voor in een component (misterestate nu ook misterestate genoemd) van Joomla. Dit is een script om vestgoedpanden in te voeren. Script is vrij eenvoudig opgebouwd.

Hieronder de foutmelding

Warning: Invalid argument supplied for foreach() in /vastgoedcentrale/administrator/components/com_estateagent/admin.estateagent.html.php on line 70

Script heeft 2 jaar lang zonder problemen gewerkt. Ik denk dat fout is ontstaan doordat provider een upgrade van Mysql 4 naar mysql 5 heeft uitgevoerd. Persoonlijk denk ik dat het probleem snel opgelost kan worden omdat het een zeer eenvoudig opgebouwd script is.

We zijn op zoek naar iemand die dit probleem snel kan oplossen.
Intresse om iets bij te verdienen stuur dan een PM'tje met uurtarief,e-mailadres of telefoonnummer waar we je kunnen bereiken.

Iedereen is welkom freelancer, bedrijf,... .

Ramon Fincken
14/05/08, 12:58
wat staat er rond die lijn?

ik heb bv eens gemerkt dat gebruik van $this niet handig is indien er geen object mee word bedoeld.
(php5)

darius
14/05/08, 13:36
een warning is op zich geen ramp, functionaliteit hoort wel gewoon te werken. waarschijnlijk staat er zoiets in de script:



foreach ($array as $id => $item)
{
//doiets
}


waarbij $array in bepaalde gevallen leeg is. Een mogelijke oplossing is:



if (!isset($array))
{
$array = array();
}
foreach ($array as $id => $item)
{
//doiets
}


Als het goed is verdwijnt de warning dan.

dataunit
14/05/08, 17:08
Bedankt allemaal voor jullie feedback.



Mag gesloten worden probleem is opgelost.

YolkNet
14/05/08, 21:46
hoe heb je het opgelost dan? Voor als anderen tegen hetzelfde probleem oplopen

oehTie
15/05/08, 04:01
ben ook wel benieuwd naar de oplossing... zelf een domainchecker geschreven voor joomla 1.0. Vaak doet hij het perfect, soms krijg ik ook de meldingen zoals jij ze beschrijft.

chielsen
15/05/08, 04:07
Dit is een standaardmelding als foreach geen array als argument krijgt. Ik zou dus eens kijken waar de gegevens vandaan komen die jij erin stopt. Vaak is het omdat een andere functie faalt en ipv een array bijv false geeft.

crazycoder
15/05/08, 05:13
een warning is op zich geen ramp, functionaliteit hoort wel gewoon te werken. waarschijnlijk staat er zoiets in de script:



foreach ($array as $id => $item)
{
//doiets
}


waarbij $array in bepaalde gevallen leeg is. Een mogelijke oplossing is:



if (!isset($array))
{
$array = array();
}
foreach ($array as $id => $item)
{
//doiets
}


Als het goed is verdwijnt de warning dan.
Als er toch geen array is...
http://nl3.php.net/manual/en/function.is-array.php
:)

Ramon Fincken
15/05/08, 08:56
Het was niet de loop die het probleem was, maar dat hij een NULL meekreeg. Dit bleek veroorzaakt te zijn door een query die problemen gaf.

oehTie
15/05/08, 11:31
die link van onze gekke coder is wel handig denk ik, het script waar ik mee werk geeft soms de fouten doordat andere servers traag reageren. Hiermee zou dat af te vangen moeten zijn.

dataunit
15/05/08, 12:05
probleem is opgelost door Ramon Fincken.

We zijn heel tevreden van hem. Snel en duidelijke correspondentie.
Natuurlijk had hij het probleem ook snel opgelost.

Kan hem aan iedereen aanraden