Kom erop om dit topic te maken omdat ik gister (en eigenlijk de rest van de dagen ook) een beetje dom loop te doen en hele HELE gare fouten maak waar ik uren naar de fout loop te zoeken voordat ik het eindelijk vind. Post hier fouten die zo dom zijn dat je ze eigenlijk niet openbaar zou moeten maken :p
Was gister bezig met een simpele variabele declarere
<?php
$tel = $_SESSION['countme'];
$newArray = array();
for ($a = 0; $a < count(eenArray); $a++)
{
//doe zooi
$newArray[] = $eenArray[$a] + $tel;

}
?>

reden waarom het uiteindelijk niet werkte is omdat ik voor
//doe zooi
$newArray[] = $eenArray[$a] + $tel;
nog deze regel code had gezet:
$tel = $a;
echo "lus nummer: ".$tel;

Ik heb echt bijna 2.5 uur lopen zoeken waarom het niet werkte (er zaten meerdere lussen in trouwens en meer code etc..) en wilde bijna me computer het raam uitgooien. Zo focking dom... wat me veel teveel tijd koste. Wilde dit bijna als vraag op forum gaan posten toen ik het opeens zag :P
Vanmiddag bijna hetzelfde gehad als Aar, Tobias en Ozzie. Ik ben een PHP compressor aan het maken om je project in 1 keer te laten optimaliseren. Daarna wordt alles in 1 map geplaats, publish. Als je dan het script nog een keer aanroept moet je eerst die hele map verwijderen, scriptje gemaakt met behulp van recursie en [php]unlink[/php].
Maar 1 ding over het hoofd gezien... Je moet de map publish verwijderen en niet de echte map.
Kortom: Mijn hele project nu weg...
Aiiiaiii... sterkte Wouter!!

(wel bijzonder een compressor die je project dusdanig heftig comprest dat het project compleet is verdwenen... :-s)
Misschien niet echt een gare fout, maar wel een opmerkelijk iets:
Een buurjongen die zich met PHP bezighield was op zoek naar een uploadscript om iets naar zijn Plesk servertje te uploaden. Dat het feit dat hij Plesk draait, niet echt relevant was voor zijn vraag, daar was hij niet zelf van op de hoogte.

Komt hij uiteindelijk met een volgende soort link naar me toe, om te vragen of hij daar wat mee kon:

Plesk_Exploit_Filemanager_4.3.4

Mijn antwoord: Ja, maar of je daar wat aan hebt is zozeer de vraag. Ik heb hem uiteindelijk even naar de upload-uitleg pagina van PHP.net verwezen en wat uitleg gegeven over de veiligheid :-).
Geen grootte fout, wel eentje die ik 10x per minuut maak:

PHP begint steeds meer op JS te lijken (jahoe!!) met zijn closures enzo. Maar 1 ding gebruik je in JS wel heel veel (10x per minuut) en in PHP bestaat zoiets niet:
console.log(someVar);

Gelukkig hebben ze in PHP:
<?php var_dump($someVar); ?>
Maar helaas als je in beide talen veel script vergis je je wel eens. Bij mij 10x per minuut.

Het gebeurd zo vaak dat ik console.log($someVar); in mijn PHP projecten gebruik...
ik gebruik vaak gewoon alert()
Ik heb de laatste tijd veel het probleem dat ik mysql_result() gebruik idpv mysql_query()..
Ik ben bezig met een voorraad-systeem, genaamd vobis. Gezien mijn naam maak ik hier regelmatig vobias van. Aangezien iedere tabel in de database met vobis_ begint, gebeurt dit ongeeer 5x per script.
(ja ik weet, iedere tabel met vobis_ laten beginnen is niet netjes, maar aangezien er meerdere mensen van dezelfde database gebruik maken, houdt dit het wat overzichtelijker)
Ik ben iets aan het testen en tot mijn verbazing gaat alles steeds trager en trager. Ben een tijd aan het zoeken geweest en heb het eindelijk gevonden. In een session vul ik een array() en dat wordt om de zoveel tijd naar de database geschreven. Wat was ik nou vergeten, steeds na het schrijven naar de database dat array() leeg te gooien. Ik dus een teller bijgezet om te kijken hoeveel query's er werden verzonden. Tja, dat waren er op een gegeven moment meer dan 7500 in plaats van enkele tientallen. Dom. dom, dom. Maar weer wel een interessante ervaring.
Waarom gaat PHP nou anders om met operators dan hoort en dan JS doet? Het maakt het leven van een JS/PHP developer niet makkelijker...

<?php
echo (10 + 5) > 12
? 'green'
: (10 + 15) > 12
? 'orange'
: 'red';
?>
Wat zou hier uit komen? Iedere hersencel in mijn lichaam zegt 'green' en ook JS zegt 'green'. Maar wat zegt PHP? 'orange' :S

Oplossing:
<?php
echo (10 + 5) > 12
? 'green'
: ((10 + 15) > 12
? 'orange'
: 'red');
?>
Waarom wil PHP nou die extra haakjes???

Volgens de [php]operators.precedence[/php] worden eerst de > uit gevoerd en dan de ?: dus het wordt:

(10 + 5) > 12
  ? 'green'
  : (10 + 15) > 12
    ? 'orange'
    : 'red'

15 > 12
  ? 'green'
  : 25 > 12
    ? 'orange'
    : 'red'

true
  ? 'green'
  : true
    ? 'orange'
    : 'red'

Dan moet er toch 'green' komen? Waarom zijn die extra haken dan nodig? Of maak ik, en JS, ergens een denk fout?

[offtopic]Moest even mijn ergernissen kwijt[/offtopic]
Vandaag maar weer eens een klein foutje in mijn script. Oneindige loop totdat de executiontime op was. Het script zou 1 mailtje sturen. Het werden er iets meer. En aangezien ik mijn mail op twee adressen ontvang heb ik heel wat te deleten.



SanThe

PS: Gestuurd aantal is 38813 en dat dus naar twee servers maakt een totaal van 77626 mailtjes.

Reageren