Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Captca senza DB

  1. #1
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Captca senza DB

    Sto cercando un captca da inserire nel mio guestbook che però utilizza un file.txt, io non ho il DB.

  2. #2

    ..........

    Ciao.
    Dai un occhio qui


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Re: ..........

    Originariamente inviato da whisher
    Ciao.
    Dai un occhio qui


    Si ho visto, potrebbe andar bene non riesco a seguire le istruzioni, mi puoi spiegare passo-passo?

  4. #4

    .........

    File ramdom.php

    Codice PHP:
    <?php 
    session_start
    (); 
    if (empty(
    $_SESSION['rand_code'])) { 
        
    $str ""
        
    $length 0
        for (
    $i 0$i 4$i++) { 
            
    // this numbers refer to numbers of the ascii table (small-caps) 
            
    $str .= chr(rand(97122)); 
        } 
        
    $_SESSION['rand_code'] = $str


    $imgX 60
    $imgY 20
    $image imagecreatetruecolor(6020); 

    $backgr_col imagecolorallocate($image238,239,239); 
    $border_col imagecolorallocate($image208,208,208); 
    $text_col imagecolorallocate($image46,60,31); 

    imagefilledrectangle($image006020$backgr_col); 
    imagerectangle($image005919$border_col); 

    $font "C:\WINDOWS\Fonts\ARIAL.TTF"// it's a Bitstream font check [url]www.gnome.org[/url] for more 
    $font_size 10
    $angle 0
    $box imagettfbbox($font_size$angle$font$_SESSION['rand_code']); 
    $x = (int)($imgX $box[4]) / 2
    $y = (int)($imgY $box[5]) / 2
    imagettftext($image$font_size$angle$x$y$text_col$font$_SESSION['rand_code']); 

    header("Content-type: image/png"); 
    imagepng($image); 
    imagedestroy ($image); 

    ?>
    Input page:
    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>

    <body>
    <input type="text" name="validator" id="validator" size="4" /> 
    [img]random.php[/img] 
    <?php 
    if (!empty($_POST['validator']) && $_POST['validator'] == $_SESSION['rand_code']) { 
       
        unset(
    $_SESSION['rand_code']); 

    }
    ?> 

    </body>
    </html>
    Questa riga la devi adattare al path del server
    $font = "C:WINDOWSFontsARIAL.TTF";
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Ho messo la parte "imput page" nel form del guestbook, e la parte "ramdom.php" nel mio file ins.php, poi ho messo tutto online ma a video appare la casellina ma manca l'immagine dei caratteri.

    Che modifica faccio a

    $font = "C:WINDOWSFontsARIAL.TTF";

    il sito è www.xxx.altervista.org ed ho Alice.

  6. #6
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Qra ho messo questo nel form

    Codice PHP:
    [img]captca-image.php[/img] 
               <input type="text" name="validator" id="validator" size="5" /> 
                         <font size="2" color="red" face="arial">Scrivi il codice</font>
        <?php 
    if (!empty($_POST['validator']) && $_POST['validator'] == $_SESSION['rand_code']) { 
    unset(
    $_SESSION['rand_code']); 

        
    ?>
    e ho creato un file captca-image.php e ci ho messo l'altro codice, poi ho messo nella cartella del guestbook il font arial.ttf.

    Infine ho modificato la variabile così ma l'immagine non si vede:

    Codice PHP:
    $font "http://miosito.altervista.org/guestbook/arial.ttf"

  7. #7

    ......

    Ciao.
    Se non sbaglio questa riga
    $font = "http://miosito.altervista.org/guestbook/arial.ttf";
    deve essere un path non un url in questo modo (server Linux) ie
    $font = " /usr/X11R6/lib/X11/fonts/";
    su server win c:\\ etc etc .
    Secondo me devi chiedere al tuo host.
    Puoi fare una prova in locale per vedere se è
    quello il problema (non l'ho provato sul server
    ma in locale funziona).
    Per sicurezza testalo sia su IE che su FF
    (a volte e non capisco xchè IE mi dà dei
    problemi).


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Questo è il nuovo codice, ma nel form non compare l'immagine captca

    nel form
    Codice PHP:
    ...[img]captca-image.php[/img] 
    <input type="text" name="validator" id="validator" size="5" /> 
    <font size="2" color="red" face="arial">Scrivi il codice</font>
    <?php 
    if (!empty($_POST['validator']) && $_POST['validator'] == $_SESSION['rand_code']) { 
    unset(
    $_SESSION['rand_code']); 

    ?>...
    nel file captca-image.php
    Codice PHP:
    <?php

    //Captca code

    session_start(); 
    if (empty(
    $_SESSION['rand_code'])){ 
    $str ""
    $length 0
    for (
    $i 0$i 4$i++){ 
    // this numbers refer to numbers of the ascii table (small-caps) 
    $str .= chr(rand(97122)); 

    $_SESSION['rand_code'] = $str

    $imgX 60
    $imgY 20
    $image imagecreatetruecolor(6020); 

    $backgr_col imagecolorallocate($image238,239,239); 
    $border_col imagecolorallocate($image208,208,208); 
    $text_col imagecolorallocate($image46,60,31);
     

    imagefilledrectangle($image006020$backgr_col); 
    imagerectangle($image005919$border_col); 

    $font "arial.ttf";
    $font_size 10
    $angle 0
    $box imagettfbbox($font_size$angle$font$_SESSION['rand_code']); 
    $x = (int)($imgX $box[4]) / 2
    $y = (int)($imgY $box[5]) / 2
    imagettftext($image$font_size$angle$x$y$text_col$font$_SESSION['rand_code']); 

    header("Content-type: image/png"); 
    imagepng($image); 
    imagedestroy ($image);
     
    //Fine Captca code
    Come vedi $font = "arial.ttf"; l'ho messo così perchè il file l'ho inserito nela stessa cartella.

  9. #9

    ............

    Ciao.
    Le uniche cose che mi vengono in mente
    sono queste:
    Codice PHP:
    // IE ha dei problemi con i png provalo anche su altri browser e prova
    // con il jpeg 
     
    header('Content-type: image/jpeg');
    imagejpeg($image); 
    Provato codice e funziona.



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    ciao
    dove hai:

    $font = "arial.ttf";

    devi mettere il percorso assoluto sul server.
    Per esempio io ho dovuto mettere:

    $font = "/w1/clienti/blablabla/ftp/www/html/arial.ttf";


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.