Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di gr0ss0
    Registrato dal
    Aug 2010
    Messaggi
    11

    Problema php e librerie gd

    Innanzitutto colgo l'occasione per presentarmi e salutare tutti gli utenti del forum visto che sono nuovo e questo è il mio primo post.Salve a tutti sono gr0ss0 ed è un piacere per me essermi unito a questo forum...
    Bene..adesso passiamo al mio problema: ho modificato uno script trovato su internet per creare dei captcha direttamente con le librerie gd di php,ma quando cerco di integrarlo all'interno di una pagina html riesco a vedere solo l'immagine che vado a creare col php e niente html.
    Questo è il codice del captcha:
    Codice PHP:
    <?php

    /*
    +-------------------------------------------------------------------------------------+
    |                       SELEZIONE TESTO CAPTCHA DA DB                                 |
    |  Dall esecuzione della prima query ricavo il valore dell'id massimo e di quello     |
    |  minimo, che mi serivranno per scegliere in maniera random l'id del captcha da      |
    |  visualizzare. Nella tabella devono essere presenti un id univoco e ad ognuno di    |
    |  essi dovrà essere associato un testo di massimo 10 caratteri che sarà quello       |
    |  visualizzato all'interno dell'apposito box.                                        |
    +-------------------------------------------------------------------------------------+
    */
        
    header("Content-type: image/png");
    include(
    "connect.php");

    //ricavo il valore massimo e quello minimo degli id presenti nella tabella
    $sql="SELECT min(id),max(id) FROM captcha";
    $result=mysql_query("$sql",$db);
    $record=mysql_fetch_array($result);
    $min=$record['min(id)'];
    $max=$record['max(id)'];

    $casuale=rand($min,$max);   // genero un numero casuale

    //scelgo una frase casuale da visualizzare nel box del captcha
    $sql="SELECT cap FROM captcha WHERE  id=".$casuale;
    $result=mysql_query($sql,$db);
    $record=mysql_fetch_array($result);


    $altezza=100;
    $larghezza=300;
    $messaggio=substr($record['cap'],0,10);        //se il testo è piu' lungo di 10 caratteri elimino quelli in eccesso
    $spazio $larghezza / (strlen($messaggio)+1);   //lo spazio tra un carattere e un altro

    $immagine=imagecreatetruecolor($larghezza,$altezza);  //creo il riquadro all'interno della quale vedrò la mia immagine
    $sfondo=imagecolorallocate($immagine255,255,255); //assegno alla variabile $sfondo un colore che userò poi in $immagine
    $bordo=imagecolorallocate($immagine,120,170,0);   //   
    imagerectangle($immagine33$larghezza-3$altezza-3$bordo); //creo il bordo del rettangolo all'interno di $immagine
    imagefilledrectangle($immagine,7,93,293,7,$sfondo); //creo un ulteriore rettangolo all'interno di $immagine e $bordo ma con colore di riempimento
    for($i=0;$i<strlen($messaggio);$i++)
    {
        
    $colore=imagecolorallocate($immagine,rand(0,255),rand(0,255),rand(0,255)); //il colore che andrò a usare per i caratteri
        //stampo a video i caratteri(uno per uno) del testo selezionato precedentemente
        
    imagettftext($immagine,28+rand(0,8),-20+rand(0,40),($i+0.6)*$spazio,50+rand(0,10),$colore,'FORTE.TTF',$messaggio[$i]);
    }
    imagepng($immagine);
    ?>
    Qualche idea??

  2. #2
    Utente di HTML.it L'avatar di gr0ss0
    Registrato dal
    Aug 2010
    Messaggi
    11
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    35
    non ho capito il problema :S

  4. #4
    Utente di HTML.it L'avatar di gr0ss0
    Registrato dal
    Aug 2010
    Messaggi
    11
    allora il problema è che io dovrei inserire questo script all'interno di una tabella html ,solo che , se in una cella inserisco questo codice, nella pagina visualizzo solo il captcha senza tabella e niente altro..Spero di essermi spiegato meglio..

  5. #5
    se vedi solo l'immagine e non il resto il problema penso sia nell'altra pagina
    Tra cinquecento anni non importerà più a nessuno!

  6. #6
    Utente di HTML.it L'avatar di gr0ss0
    Registrato dal
    Aug 2010
    Messaggi
    11
    il problema non c'è se all'interno della pagina html inserisco un iframe che linka la pagina .php, ma poi non saprei come controllare la validità del captcha, se invece inserisco il codice php direttamente nella pagina html non si vede niente tranne che il captcha

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    35
    prova a fare un pò di sano debug, magari metti qualche die() nel codice per vedere se si blocca da qualche parte e verifica che nelle variabili ci siano i risultati attesi. Ma il codice lo utilizzi con un copia e incolla, una include o come link?

    in genere il phpcaptcha si usa mettendo nel link del campo [img]percorso/scriptphpcaptcha.php[/img] perchè restituiscono l'immagine vera e propia.

  8. #8
    aspetta ma come includi il file php?
    come ha detto DjDrake (che è il modo corretto):
    [img]percorso/scriptphpcaptcha.php[/img]
    oppure lo fai con include?...
    Tra cinquecento anni non importerà più a nessuno!

  9. #9
    Utente di HTML.it L'avatar di gr0ss0
    Registrato dal
    Aug 2010
    Messaggi
    11
    Allora il file php o lo inserivo all'interno della pagina con l'iframe o inserivo il codice php direttamente all'interno della pagina html..
    E se faccio con il metodo:
    codice:
    [img]percorso/scriptphpcaptcha.php[/img]
    dopo come faccio a controllare la validità del testo inserito e confrontarla con l'immagine del captcha visto che le frasi visualizzate le prendo da un database??

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    35
    nel codice dove generi il captcha salva in una variabile di sessione la parola o il numero di conferma e quando ti serve fai il controllo con la variabile in sessione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.