Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

Probleem met PHP 5.1.3

Slechts 2 dagen na de release van de nieuwste PHP versie blijkt er een grote fout te zitten in PHP 5.1.3. De fout zit in het verwerken en van POST data, blijkt uit dit bugreport.

Wanneer je via POST een array van gegevens probeert te versturen loopt de handel flink in de soep:

HTML:
  1. <form method="post" action="" enctype="multipart/form-data">
  2. <input type="text" name="masivasid[id_1]" value="Nzzz1"/><br />
  3. <input type="text" name="masivasid[id_2]" value="Nzzz2"/><br />
  4. <input type="submit"/>
  5. </form>

Wanneer je het bovenstaande formulier verstuurt en vervolgens $_POST onderzoekt met bijvoorbeeld de print_r() functie, krijg je het volgende:

CODE:
  1. Array
  2. (
  3.     [masivasid] => Array
  4.         (
  5.             [id_1] => Nzzz1
  6.             [id_2] => Array
  7.                 (
  8.                     [id_1] => Nzzz2
  9.                 )
  10.  
  11.         )
  12.  
  13. )

In plaats van het juiste:

CODE:
  1. Array
  2. (
  3.     [masivasid] => Array
  4.         (
  5.             [id_1] => Nzzz1
  6.             [id_2] => Nzzz2
  7.         )
  8.  
  9. )

Het is enigzins vreemd dat deze fout door de best grote test-suite die PHP heeft geslopen is. Wil je helpen om dit soort problemen in de toekomst proberen te voorkomen? Kijk dan eens bij het QA team van PHP.

Het probleem is inmiddels onderkend en zelfs al opgelost in de ontwikkelversie (CVS-versie) van PHP. Een versie 5.1.3pl1 (patchlevel 1) staat dus waarschijnlijk te trappelen om vrij gegeven te worden. Kun je niet wachten, dan kun je natuurlijk ook vast een ontwikkelversie pakken vanaf snaps.php.net.

[via]

Reageer ook!

Ai......

[...] De opvolger voor 5.1.3, welke een kritieke fout bevatte, is inmiddels beschikbaar gemaakt door de ontwikkelaars van PHP. 5.1.4 bevat buiten een oplossing voor het $_POST probleem nog een paar crash-fixes en een kleine toevoeging wat betreft SSL gebruik in streams: [...]

Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>