• Ik gebruik SweetCaptcha op de pagina’s om te voorkomen dat robots de velden invullen.

    Als de verbinding met SweetCaptcha niet kan worden gemaakt (wat kennelijk mogelijk is 🙁 ) verschijnt dit bericht:

    Warning: fsockopen() [function.fsockopen]: unable to connect to http://www.sweetcaptcha.com:80 (Connection timed out) in /srv/mijnnaam/www/www.mijndomein.nl/blog/wp-content/plugins/sweetcaptcha-revolutionary-free-captcha-service/library/sweetcaptcha.php on line 73
    Couldn’t connect to server

    Dit vind ik zorgelijk. Ik zou liever alleen de melding willen dat er geen verbinding kan worden gemaakt. Hoe los ik dit op?

    In ‘sweetcaptcha.php’ vond ik het volgende:

    class Sweetcaptcha {
    private $appid; (dit is regel 73)
    private $key;
    private $secret;
    private $path;

    In een ander ‘sweetcaptha.php’ bestand staat:

    if ( !($fs = fsockopen(self::API_URL, 80, $errno, $errstr, 10) ) ) {
    die (“Couldn’t connect to server”);
    }
    $req = “POST /api.php HTTP/1.0\r\n”;
    $req .= “Host: “.self::API_URL.”\r\n”;
    $req .= “Content-Type: application/x-www-form-urlencoded\r\n”;
    $req .= “Referer: ” . $_SERVER[‘HTTP_HOST’]. “\r\n”;
    $req .= “Content-Length: ” . strlen($param_data) . “\r\n\r\n”;
    $req .= $param_data;

    $response = ”;
    fwrite($fs, $req);

    while ( !feof($fs) ) {
    $response .= fgets($fs, 1160);
    }

    Hoe kan ik de foutmelding aanpassen zodat de hele link wegvalt en alleen bijvoorbeeld ‘Warning: fsockopen() [function.fsockopen]: unable to connect to http://www.sweetcaptcha.com:80 (Connection timed out)’ wordt vermeld? Ik kan geen PHP hoor, dat breekt me nu wel op. Ik vind een reactie dus een grote uitdaging en ga mijn best doen!

2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
  • wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    je zegt geen php te kennen maar we gaan het eens proberen 🙂

    De foutmelding op je scherm is technisch gezien een waarschuwing, geen “fout”. PHP kent diverse nivo’s om foutmeldingen en waarschuwingen te tonen met het commando ERROR_REPORTING

    Om meldingen op het scherm helemaal uit te zetten kun je in PHP gebruik maken van <?PHP error_reporting(0); ?>

    Alhoewel dit geen goede programeerkunst is kun je de melding dus onderdrukken door deze code op te nemen in het begin van de sweetcaptcha code.

    express geen kant en klaar antwoord want iemand die zelf al in de code rondsnuffelt zal vast en zeker een leermoment en uitdaging tegemoet zien 🙂
    http://php.net/manual/en/function.error-reporting.php

    Uiteraard lost dit nogmaals geen problemen op en onderdrukt het dus alleen de schermmeldingen.

    Thread starter Pieke

    (@pieke)

    Brrr… 🙂
    Bedankt! Ik ga dit proberen en hoop dat het zal lukken want ja, dat kan ik alleen zien als er een fout is natuurlijk.

    Ik heb het nu in de hoofd sweetcaptcha gezet en wel als volgt:

    in plaats van <?php

    heb ik nu staan <?PHP error_reporting(0);

    Spannend! Hij doet het gewoon goed dus ik hoop dat ik het raadsel goed heb opgelost 🙂 Bedankt voor de reactie!

2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
  • Het onderwerp ‘Error bevat persoonlijke info: hoe aanpassen?’ is gesloten voor nieuwe reacties.