I always thought that a function $f:\mathbb{R} \to \mathbb{R}$ has the intermediate value property (IVP) iff it maps every interval to an interval (Darboux property):
Proof:
Let $f$ have the Darboux property and let $a<b$ and $f(a) < f(b)$. Then $f([a,b])$ is an interval and so contains $[f(a),f(b)]$. If $u \in [f(a),f(b)]$ then of course $u \in f([a,b])$ and thus there exists some $k \in [a,b]$ such that $f(k) = u$, i.e. $f$ has IVP.
Now let $f$ have the IVP and let $a < b$, $x,y \in f([a,b])$ and $z \in \mathbb{R}$ with $x<z<y$. We claim $z \in f([a,b])$. Indeed we have $x = f(x')$ and $y = f(y')$ for some $x',y' \in [a,b]$. W.L.O.G assume that $x' < y'$. Then by the IVP there is some $c\in [x', y']$ such that $f(c) = z$, i.e. $z \in f([a,b])$ and therefore $f([a,b])$ is an interval.
But on this blog in problem 5. the author says that they are not equivalent:
"This [Darboux property] is slightly different from continuity and intermediate value property. Cotinuity implies Darboux and Darboux implies Intermediate value property."
Have I missed something and if yes, where does the proof given above break?