Visualizzazione risultati 1 fino 23 di 23

Discussione: Non trova immagine captcha

  1. #1
    Guest

    Predefinito Non trova immagine captcha

    In locale funziona, online non trova l'immagine, i codici sono gli stessi.

    Qualcuno può provare? Sito, clicca sull'icona della busta nella sez. Contatti a destra.

    Codice:
    Codice HTML:
    <img style="width: 70px; height: 30px;" id="cap" src="Captcha/captcha-image.php" alt="CAPTCHA image" title="CAPTCHA image">

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,833

    Predefinito

    L'immagine si vede, ma non ci sono i caratteri all'interno. Immagino quindi ci sia un problema lato PHP mentre si stampano i caratteri.

    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    L'immagine si vede, ma non ci sono i caratteri all'interno. Immagino quindi ci sia un problema lato PHP mentre si stampano i caratteri.

    Ciao!
    Io non la vedo, che caratteri intendi?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,833

    Predefinito

    Non vedi questa immagine?

    Ciao!

  5. #5
    Guest

    Predefinito

    Si. Ho controllato il codice captcha, mi sembra a posto, in locale funziona, ma non in rete.

    Codice PHP:
    <?php
    session_start
    ();

    if(!isset(
    $_SESSION['rand_code']) || empty($_SESSION['rand_code'])) {
    $str = "";
    $length = 0;
    $caratteri = "abcdefknprstuvxyz12345679"; //TIPI di caratteri che appaiono come immagine (25)
    for ($i = 0; $i < 4; $i++) { //Il 4 indica il numero max di caratteri-immagine che appaiono
    $str .= $caratteri {
    rand(0,25) //Quanti TIPI di caratteri-immagine appaiono random ad ogni ciclo, 0+25=26
    };
    }
    $_SESSION['rand_code'] = $str;
    }
    $imgX = 57; //Sposta a dx i caratteri-immagine
    $imgY = 19; //Sposta in alto-basso i caratteri-immagine
    $image = imagecreatetruecolor(60, 20); //Sposta dx-sx alto-basso l'immagine coi caratteri
    $backgr_col = imagecolorallocate($image, 238,239,239); //Colore background dei caratteri #eeefef
    $border_col = imagecolorallocate($image, 208,208,20); //Colore del bordo #d0d014
    $text_col = imagecolorallocate($image, 46,60,31); //Colore dei caratteri-immagine #2e3c1f
    imagefilledrectangle($image, 0, 0, 60, 20, $backgr_col); //Cambiando i 4 valori appare un'ombra nera e si può creare un'effetto rilievo o incassato del rettangolo
    imagerectangle($image, 0, 0, 59, 19, $border_col); //Sposta il bordino colorato del rettangolo

    $font = "verdana.ttf"; //Font che si trova nella cartella Captcha e che appare come immagine
    $font_size = 14; //Dimensione dei caratteri-immagine
    $angle = 0; //Ruota obliqui i caratteri-immagine
    $box = imagettfbbox($font_size,$angle,$font,$_SESSION['rand_code']);
    $x = (int)($imgX - $box[4]) / 2; //Sposta a sx i caratteri-immagine
    $y = (int)($imgY - $box[5]) / 2; //Sposta in alto i caratteri-immagine
    imagettftext($image,$font_size,$angle,$x,$y,$text_col,$font,$_SESSION['rand_code']);

    header("Content-type: image/jpeg");
    imagejpeg($image);
    imagedestroy ($image);

    //Fine Captcha-image
    ?>

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Leggi bene la documentazione riguardo la funzione imagettftext, ed il parametro in cui passi il nome del font.
    Ad ogni modo, io ti consiglierei di usare un servizio esterno, come reCAPTCHA.

  7. #7
    Guest

    Predefinito

    Ho letto imagettftext, cos'ha che non va?

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    ed il parametro in cui passi il nome del font.
    Come leggi nella documentazione, ci potrebbero essere delle differenze nel comportamento di questa funzione a seconda della libreria installata, che segue differenti regole per cercare il font da usare.

  9. #9
    Guest

    Predefinito

    Ho visto, parla di modificare il percorso, ho messo al font anche l'url completo, ma non lo trova.

  10. #10
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    L'URL dubito che funzioni, hai provato col percorso assoluto? Ad ogni modo, i rettangoli vengono disegnati, l'unico problema è il testo.

  11. #11
    Guest

    Predefinito

    Il percorso assoluto è questo? http://gruppoalveo.it/Captcha/verdana.ttf

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,833

    Predefinito

    Dovrebbe funzionare anche il percorso relativo (lo avevo usato qui, in particolare nel file "config.php").

    Ti riporto qui il codice relativo al captcha. Purtroppo ora non ho tempo di esaminare il tuo codice, ma questo funziona:
    Codice PHP:
    session_start();
    $testo = substr(stringa_random(),0,5);
    $_SESSION['captcha'] = $testo;
    $x = 100;
    $y = 50;
    $image = imagecreatetruecolor($x, $y);

    $sfondo = imagecolorallocate($image,hexdec(substr(colore(),1,2)),hexdec(substr(colore(),3,2)),hexdec(substr(colore(),5,2)));
    $nero = imagecolorallocate($image,0,0,0);

    imagefilledrectangle($image, 0, 0, $x, $y, $sfondo);

    imagettftext(
    $image, //immagine
    15, //dimensione carattere
    rand(-5, 5), //angolo di rotazione
    10+rand(-10,10), //offset sulla x
    30, //offset sulla y
    $nero, //colore
    './caratteri/arial.ttf', //font
    $testo //da stampare
    );

    header("Content-Type: image/png");
    imagepng($image);
    Quindi prova a vedere le differenze.

    Ciao!

  13. #13
    Guest

    Predefinito

    Non va nemmeno il tuo

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,833

    Predefinito

    Per fare andare il mio, è necessario avere la cartella ./caratteri/ con dentro il file "arial.ttf".

    Ciao!

  15. #15
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Citazione Originalmente inviato da photoman Visualizza messaggio
    Il percorso assoluto è questo? http://gruppoalveo.it/Captcha/verdana.ttf
    No, quello è un URL. Dovresti provare il percorso assoluto del server, prova con
    Codice PHP:
    __DIR__.'/verdana.ttf'
    Se ancora non va, riporta la versione della libreria GD in uso sul server (la trovi con phpinfo).
    Ultima modifica di karl94 : 07-02-2015 alle ore 19.11.40

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    No, quello è un URL. Dovresti provare il percorso assoluto del server, prova con
    Codice PHP:
    __DIR__.'/verdana.ttf'
    Se ancora non va, riporta la versione della libreria GD in uso sul server (la trovi con phpinfo).
    Non va

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Per fare andare il mio, è necessario avere la cartella ./caratteri/ con dentro il file "arial.ttf".

    Ciao!
    Avevo messo i miei $font = Captcha/verdana.ttf

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,833

    Predefinito

    Nel tuo caso mi sembra che lo script sia contenuto nella stessa cartella del font, quindi se non erro dovrebbe essere:
    Codice PHP:
    $font = './verdana.ttf';
    Ciao!

  19. #19
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Hmm, ho provato a scaricare il file ttf, e sembra rotto. Da dove l'hai preso?

  20. #20
    Guest

    Predefinito

    Citazione Originalmente inviato da photoman Visualizza messaggio
    Non va
    Netsons mi ha detto che la libreria GD c'è ma non so come trovarla.

  21. #21
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Leggi il mio ultimo messaggio, probabilmente il codice è corretto.

  22. #22
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Hmm, ho provato a scaricare il file ttf, e sembra rotto. Da dove l'hai preso?
    Ok, ora funziona, l'ho sostituito con quello che avevo in locale.
    Dimmi, come fai a sapere che era rotto?

  23. #23
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Niente di particolare, l'ho scaricato e ho provato ad aprirlo col visualizzatore di caratteri.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •