Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema captcha

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    Problema captcha

    Il problema risiede nel fatto che se includo nella pagina il file di configurazione non mi stampa la immagine.

    Il file di configurazione tiene solo variabili ( array['valore']=''; ) e session_start e ob_start. E non ha nessun output...

    Ciò mi da abbastanza fastidio, perche nel file di configurazione tengo il nome dei cookie e della sessione.

    E se non includo i file di configurazione devo riscrivere a mano session_start() e di conseguenza mi crea una nuova sessione chiamata PHPSESSID.

    La mia domanda non è come fare, ma perchè fa così???

  2. #2
    Senza codice è piuttosto improbabile che qualcuno ti possa rispondere.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    ecco cosa contiene il config.php
    Codice PHP:
    <?
    /* Elimina gli errori */
    //error_reporting(0);

    /* Permette di inviare gli headers dopo output */
    ob_start();

    /* Genera un seme per la funzione mt_rand */
    mt_srand((double)microtime() * 1000000);

    /* Inizio sessione */
    session_start();

    /* Tempo durata sessione */
    ini_set('session.cookie_lifetime'0);

    /* Propaga la sessione ai cookie */
    ini_set('session.use_cookies'1);

    /* Propaga la sessione via url NO */
    ini_set('session.use_only_cookies'0);

    # + variabili

    ?>
    Codice PHP:
    <?
    // ConfIgurazione
    include 'config.php';

    // Crea due stringhe casuali
    function dsaRandomString($lenght){

        
    $string explode(',''1,2,3,4,5,6,7,8,9,Q,W,E,R,T,Y,U,I,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M,-,?');
        
    $random '';

        for ( 
    $a=0$a<$lenght$a++ ){
            
    $numString     =    mt_rand(035);
            
    $random        .=    $string[$numString];
        }

        return 
    $random;
    }

    $code1 dsaRandomString(6);
    $code2 dsaRandomString(6);

    // Assegna alla variabile di sessione il valore delle stringhe casuali
    $_SESSION['Captcha'] = $code1 " " $code2;

    // Dimensioni rettangolo
    $img imageCreateTrueColor(25080);

    // Funzione per i colori
    $white imageColorAllocate($img255255255);
    $black imageColorAllocate($img000);

    // Creo il rettangolo e il bordo
    imageFilledRectangle($img00250-280-2$white);
    imageRectangle($img00250-180-1$black);


        
    // Inserisce testo
        
    imagettfText(    $img# immagine
                        
    16# dimensione font
                        
    5# curvatura
                        
    rand(1560), # posizionamento a destra ( 60 = destra, 16 = sinistra )
                        
    rand(2080), # posizionamento altezza ( 20=alto, 80= basso)
                        
    $black,# colore
                        
    './courbd.ttf'# font
                        
    $code1 # scritta
                    
    );

        
    imagettfText(    $img# immagine
                        
    16# dimensione font
                        
    5# curvatura
                        
    $v1=rand(130170), # posizionamento a destra ( 170 = destra, 130 = sinistra )
                        
    $v2=rand(2080), # posizionamento altezza ( 20=alto, 80= basso)
                        
    $black,# colore
                        
    './courbd.ttf'# font
                        
    $code2 # scritta
                    
    );

        
    // Crea un cerchio
        
    imageEllipse(    $img# immagine
                        
    $v1+25+rand(0,5), # posizionamento a destra
                        
    $v2-15+rand(0,5), # posizionamento altezza
                        
    50# larghezza arco
                        
    50# lunghezza arco
                        
    $black # colore
                    
    );

        
    // Crea 600 linee
        
    for ($i=0$i<550$i++)
        {

            
    $r1 rand(3250-3);
            
    $r2 rand(380-3);
            
    $r3 $r1-2-rand(08);
            
    $r4 $r2-2-rand(08);

            
    imageLine($img$r1$r2$r3$r4$black);

        }

    // Invia Header
    header("Content-type: image/png");

    // Stampa l'immagine in formato PNG
    imagePng($img);

    // Libera memoria
    imageDestroy($img); 

    ?>
    Se tolgo l'include, tutto incomincia a funzionare

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    è assurdo, ho creato un file e.php con lo stesso contenuto e non da segni di errori... nel file config.php ho azzerato tutto e continua a dare errori...
    ho persino rinominato il file e continua a non funzionare...

  5. #5
    Che errori ottieni?

    Hai provato ad aprire il file con il blocco note e salvarlo forzando la codifica ANSI?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    ora che me lo hai detto si, ma nada, continua a non andare.
    E la cosa divertente e che anche su effetto l'upload dei file su un mio host continua a non funzionare...

  7. #7
    Originariamente inviato da filippo.toso
    Che errori ottieni?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    dio mio, ho capito qual'era l'errore.
    dopo il ?> alla fine del file avevo premuto per sbaglio il backslash mettendo uno spazio...

    comunque ti ringrazio per tutte le risposta.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.