Also eigentlich hast du ja jetzt 'ne Menge Tipps, dass du die Datenart nicht vermischen sollst. Ums ganz kurz zu sagen: Wenn du eine Grafik ausgibst solltest du idR kein echo() verwenden.
Ich wollte dir aber ganz nebenbei im Sinne der Barrierearmut empfehlen auf Captcha zu verzichten. Inzwischen können Maschinen die Dinger oft besser lesen als Menschen und sehbehinderte Personen sind vollkommen ausgeschlossen (insbesondere Blinde, aber auch sehschwache Leute haben Probleme).
Es gibt 1001 möglichkeiten ein Formular barrierefrei zu erstellen und dennoch eine geringe Spam-Problematik zu haben. Bei unpopulären Formularen (also nicht standarisierten wie in Forensoftware z.B.) reicht oft schon ein vorbelegtes <select> in dem man eine bestimmte Auswahl treffen muss, die darüber geschrieben steht. Unsichtbare (nicht "hidden") <inputs> die "E-Mail" heißen nützen auch oder eine Inhaltsprüfung auf (bestimmte) URLs. Oder mehrere submit-button, von denen nur der eine mitten drin funktioniert (und alle anderen mit CSS versteckt wurden) oder oder oder... wie gesagt 1001 Möglichkeiten, manche sind barrierefrei und andere sind nur barrierearm. Aber Captcha sind böse! (Captcha mit auditiver Komponente sind akzeptabel aber immer noch nicht gut).
Und letzten Endes wäre da noch die Möglichkeit einen Spam-Schutz in der Programmierung vor zu sehen (also irgendwo ein "verarbeite Formular-submit nur wenn (true)") aber erstmal noch nichts diesbezüglich zu unternehmen. Mit etwas Glück bleibst du eine Weile Spamfrei und kümmerst dich dann wenn es soweit ist.
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(