Eigen errors Zend Captcha

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Pagina: 1 2 volgende »

PHP Newbie

PHP Newbie

10/12/2008 22:50:00
Quote Anchor link
Heey allemaal,

Ik ben bezig met zend_captcha. Deze geeft echter als default error "Captcha value is wrong". Nu wil ik dit vervangen door mijn eigen error.

Ik heb hier 2 opties voor:
1. We openen Zend_Captcha_Word en veranderen daar de error melding
2. We voegen in Zend_Captcha_Word de volgende functie toe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
     /**
     * Set error message of bad captcha
     *
     * @param string $message
     * @return Zend_Captcha_Word
     */

    public function setErrorMessage($message)
    {

        $this->_messageTemplates[self::BAD_CAPTCHA] = $message;
        return $this;
    }

?>


En dan kan ik gewoon de error meegeven bij het initialiseren.

Dit zijn beide geen ideale opties. Optie 1 niet omdat ik mijn error message flexibel wil houden en niet hard wil defineren. Optie 2 niet omdat ik daarmee een functie toevoeg aan het framework en ik de code daarmee niet meer kan kopieren naar een andere server met Zend zonder ook die aangepaste class mee te kopieren.

Wat blijft er dan nog over? Zend_Captcha_Word extenden, in die class de functie toevoegen uit optie 2 en vervolgens

$var = new deGeextendeClasse;
$var->SetErrorMessage('bla');

doen. Die optie valt echter ook af aangezien Zend_Captcha_Word een abstracte class is, dus de geextende class ook abstract moet zijn en die mag ik niet rechtstreeks benaderen.

En nu weet ik niet meer wat ik moet doen. Iemand die me hierbij kan helpen?

Groet
Newb
 
PHP hulp

PHP hulp

04/12/2024 09:26:33
 
M Ypma

M Ypma

11/12/2008 00:20:00
Quote Anchor link
een abstracte klasse is er juist om ge-extend te worden! Hoezo mag dat volgens jou niet? Een abstracte klasse is als een Interface, echter mag je in een abstracte klasse al wel methodes uitschrijven.
 
PHP Newbie

PHP Newbie

11/12/2008 10:28:00
Quote Anchor link
Ik zeg niet dat ik hem niet mag extenden, ik zeg dat ik hem niet rechtstreeks mag benaderen.

GeextendeClass::functie() mag niet.
 
M Ypma

M Ypma

11/12/2008 10:53:00
Quote Anchor link
Quote:
Zend_Captcha_Word een abstracte class is, dus de geextende class ook abstract moet zijn en die mag ik niet rechtstreeks benaderen.

Dat zei je dus niet, je zei dat hij ook abstract moet zijn, maar dat is onzin.
Maar ik snap wel je probleem nu idd.
 
PHP Newbie

PHP Newbie

11/12/2008 14:57:00
Quote Anchor link
Dat is geen onzin. De geextende class van een abstracte class moet ook abstract zijn.
 
Bo az

Bo az

11/12/2008 15:12:00
Quote Anchor link
Natuurlijk hoef een geextende class van een abstracte class niet abstract te zijn. Hoe zou je anders ooit tot een concrete class kunnen komen?

Voorbeeld:
Voertuig zou een abstracte class kunnen zijn.
Auto erft van voertuig, maar is geen abstracte class, maar een concrete.
Het zelfde geldt ook voor bijvoorbeeld fiets etc.

Op je vraag heb ik niet direct antwoord, maar ik denk eigenlijk dat er nog een betere manier moet zijn, er zal bij het ontwerp toch wel rekening mee gehouden zijn dat de error message ook aangepast moet kunnen worden?
Zelf heb ik nog nooit met Zend_Captcha gewerkt, maar is er niet een vergelijkbare manier om een error message in te stellen zoals die er ook voor zend form elementen is?
 
PHP Newbie

PHP Newbie

11/12/2008 16:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class Zend_Captcha_Word_Error extends Zend_Captcha_Word
{
     /**
     * Set error message of bad captcha
     *
     * @param string $message
     * @return Zend_Captcha_Word
     */

    public function setErrorMessage($message)
    {

        $this->_messageTemplates[self::BAD_CAPTCHA] = $message;
        return $this;
    }

    
    public function render(Zend_View_Interface $view, $element = null) { }
}

?>


Dat is een werkende functie, maar wanneer ik hem zo aanroep:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$error
= new Zend_Captcha_Word_Error();
$error->setErrorMessage('boe');
?>


Dan gaat dat natuurlijk niet werken, ik initieer namelijk een nieuwe class dus de error melding wordt niet aangepast.

Iemand die me kan vertellen wat ik nu moet doen?

Fatal error: Class test contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Zend_Captcha_Adapter::render)
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
M Ypma

M Ypma

11/12/2008 18:19:00
Quote Anchor link
@Boaz and @PHP Newbie
I rest my case
 
Bo az

Bo az

11/12/2008 19:04:00
Quote Anchor link
Dat heeft te maken met de manier waar op het gebruikt moet worden, daar weet ik verder ook niet het fijne van.

Ik weet niet op welke manier je de captcha wil gebruiken, maar als dat Zend_Form_Element_Captcha is, dan heb ik het vermoeden dat je een melding via Zend_Form_Element_Captcha::setOptions zou moeten kunnen instellen. Helaas kan ik er verder heel weinig informatie over vinden.
 
PHP Newbie

PHP Newbie

11/12/2008 21:37:00
Quote Anchor link
Ik gebruik inderdaad Zend_Form_element_Captcha en ik heb inderdaad ook het probleem dat de informatie verre van voor het oprapen ligt.

Bij een standaard formulier element doe je het gewoon zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    $veld
->addValidator('NotEmpty', true, array('messages' =>    array(
                                                                        'isEmpty' => 'Geef een waarde op',
                                                                    )));

?>


Zend_Captcha gebruikt echter zijn eigen validator:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
    /**
     * Validate the word
     *
     * @see    Zend_Validate_Interface::isValid()
     * @param  mixed $value
     * @return boolean
     */

    public function isValid($value, $context = null)
    {

        if (!is_array($value) && !is_array($context)) {
            $this->_error(self::MISSING_VALUE);
            return false;
        }

        if (!is_array($value) && is_array($context)) {
            $value = $context;
        }


        $name = $this->getName();

        if (isset($value[$name])) {
            $value = $value[$name];
        }


        if (!isset($value['input'])) {
            $this->_error(self::MISSING_VALUE);
            return false;
        }

        $input = strtolower($value['input']);
        $this->_setValue($input);

        if (!isset($value['id'])) {
            $this->_error(self::MISSING_ID);
            return false;
        }


        $this->_id = $value['id'];
        if ($input !== $this->getWord()) {
            $this->_error(self::BAD_CAPTCHA);
            return false;
        }


        return true;
    }

?>


En ik heb dus geen idee hoe ik die error anders aan zou kunnen passen dan op bovenstaande manier.
 
PHP Newbie

PHP Newbie

13/12/2008 13:12:00
Quote Anchor link
:-)
 
PHP Newbie

PHP Newbie

15/12/2008 14:52:00
Quote Anchor link
(-:
 
PHP Newbie

PHP Newbie

18/12/2008 17:13:00
Quote Anchor link
:-(
 
PHP Newbie

PHP Newbie

25/12/2008 19:08:00
Quote Anchor link
)-:
 
Jelmer -

Jelmer -

25/12/2008 19:29:00
Quote Anchor link
Kan je hem niet extenden (ja, ook ik heb m'n twijfels hierbij wanneer ik dit zo typ) om de $_messageTemplates property te vervangen?

edit: of zou het via Zend...Captach::setOption('_messageTemplates', array()) lukken?
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
PHP Newbie

PHP Newbie

25/12/2008 21:32:00
Quote Anchor link
Ik krijg het daarmee niet voor elkaar... Toch vreemd dat hier op internet ook niks over te vinden is, ik zal toch niet de enige zijn met dit probleem?
 
Jelmer -

Jelmer -

25/12/2008 22:54:00
Quote Anchor link
Wat probeer je op het moment? Kan je een hele kleine setup maken waarin je alleen dit probleem naar voren kan laten komen?

(Ik heb ZF wel in m'n include_path staan, maar gebruik het zo goed als nooit. Wanneer je een opstapje geeft is het voor mij, en anderen de drempel wat lager om te proberen.)

Of kan je anders laten zien hoe je de instanties aanmaakt & raadpleegt?
 
PHP Newbie

PHP Newbie

25/12/2008 23:47:00
Quote Anchor link
Dit is het hele captcha verhaal:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
    $captcha
= new Zend_Form_Element_Captcha('captcha', array('captcha' => array('captcha' => 'Image',
                                                            'fontSize' => 38,
                                                            'wordLen' => 5,
                                                            'timeout' => 300,
                                                            'LineNoiseLevel' => 4,
                                                            'DotNoiseLevel' => 30,
                                                            'ErrorMessage' => 'test',
                                                            'font' => $_SERVER['DOCUMENT_ROOT'] . '/KINGRICH.TTF',
                                                            'imgDir' => $_SERVER['DOCUMENT_ROOT'] . '/application/tmp/captcha/',
                                                            'imgUrl' => Zend_Controller_Front::getInstance()->getBaseUrl().'/application/tmp/captcha/'),
                                                            'imgAlt' => 'Captcha')
                                                            );

    
    $captcha->setLabel('Voer code in');
?>


Aanroepen doe ik zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    $form
= new CaptchaForm();

    $this->view->form = $form;
    
    if ($this->_request->isPost())
    {

        $formData = $this->_request->getPost();
        
        if(!$form->isValid($formData))
        {

            $form->populate($formData);
        }

        else
        {
            $this->view->message = 'De goede code';
        }
    }

?>


Voorbeeld
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Jelmer -

Jelmer -

26/12/2008 00:43:00
Quote Anchor link
Werkt het niet simpelweg zo? (even incompleet gekopieerd en geplakt)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$captcha
= new Zend_Form_Element_Captcha('captcha', array('captcha' => array(
    '_messageTemplates' => array(
        Zend_Captcha_Word::MISSING_VALUE => 'Missende value',
        Zend_Captcha_Word::MISSING_ID => 'Missende identiteit',
        Zend_Captcha_Word::BAD_CAPTCHA => 'BEEEP Fout!'
    ),
    'captcha' => 'Image',
    'fontSize' => 38,
    'wordLen' => 5,
    'timeout' => 300,
    'LineNoiseLevel' => 4,
    'DotNoiseLevel' => 30,
    'ErrorMessage' => 'test',
    'font' => '/Library/Fonts/Microsoft/Gill Sans MT.ttf',
    'imgDir' => '/tmp/'),
    'imgAlt' => 'Captcha')
    );

    
$captcha->isValid(array('captcha' => 'Pindakaas'));
    
var_dump($captcha);
?>

Wanneer ik nu $captcha->isValid(array('captcha' => 'Pindakaas')) aanroep, en var_dump($captcha) eruit gooi, zie ik alleen maar Nederlandse foutmeldingen in de dump.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
PHP Newbie

PHP Newbie

08/01/2009 00:13:00
Quote Anchor link
Heerlijk, dank u :-D
 

01/04/2009 10:30:00
Quote Anchor link
Geweldig!

Ik zat zelf te kloten met het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$captcha -> addErrorMessage('De tekens waren niet gelijk!');

maar dat werkte niet op de een of andere manier.. Nu deze maar eens proberen!
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.