Visualizzazione risultati 1 fino 7 di 7

Discussione: captcha

  1. #1
    Guest

    Predefinito captcha

    ciao a tutti
    ho trovato questo capchta
    http://www.white-hat-web-design.co.u...hp-captcha.php

    ho scaricato il file e ho provveduto a mettere il tutto dentro ad un form
    ma non mi si visualizza l'immagine con le scritte e non riesco a capire dove sia l'errore

    il form che ho fatto è perfettamente funzionante

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Quel codice utilizza la programmazione ad oggetto, integrata nel PHP5 e no nel PHP4, supporto che AlterVista offre di default ad ogni sito.

    Se stai provando il tutto su AlterVista non hai PHP5 attivato, lo puoi attivare semplicemente dal tuo panello di controllo, da li vai su AlterSito > Gestione file, sopra la lista dei file del tuo sito trovi un ingranaggio, affianco al lucchetto, se fai click li puoi impostare, insieme a altre cose, il supporto a PHP5.

    Se pur attivando il supporto a PHP5 il problema non viene risolto puoi postare il codice e il form da te scritti?
    Ultima modifica di sevenjeak : 27-08-2010 alle ore 10.21.58

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    no veramente ancora nn l'ho messo online lo tengo in locale, il sito in questione dovrà andare online tra un paio di mesetti credo.
    credevo che in locale potessi controllarlo lo stesso :S

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    In locare hai il php5?

    Ora che ci penso, anche io le prime volte in locale avevo questo problema, pur avendo il php5 installato, in poche parole, mi mancava la libreria GD, che permette al php proprio di creare l'immagine.

    Citazione Originalmente inviato da sandy Visualizza messaggio
    credevo che in locale potessi controllarlo lo stesso :S
    Cosa vuoi dire?
    Ultima modifica di sevenjeak : 27-08-2010 alle ore 16.17.49

    Sevenjeak
    Software developer and much more

  5. #5
    Guest

    Predefinito

    in locale ho programmi come easy php e xampp ma nn ho mai controllato

    quello che intendo dire è che credevo che un file .php o una stringa era possibile vederla in locale, ma a quanto pare non lo è
    quindi attenderò l'upload del sito x vedere se tutto funziona :D

  6. #6
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Se il problema è solo la libreria e se su AlterVista hai il supporto a php5 credo che dovrebbe funzionare, visto che le librerie te le installa automaticamente nel momento in qui attivi il supporto a php5.

    Citazione Originalmente inviato da sandy Visualizza messaggio
    quello che intendo dire è che credevo che un file .php o una stringa era possibile vederla in locale
    Veramente è possibile, basta che uno abbia il tuo ip, a questo punto basta che scrivi sul suo browser, nella barra degli indirizzi, http://tuo_ip, e visualizza direttamente il tuo sito locale.
    Ultima modifica di sevenjeak : 27-08-2010 alle ore 16.36.39

    Sevenjeak
    Software developer and much more

  7. #7
    Guest

    Predefinito

    allora ho messo online il capchta testandolo su un altro sito in lavorazione
    lo potete vedere a questo indirizzo

    http://sandy.altervista.org/ciro3/or...ni_crauti.html

    il problema è il seguente: il form parte anche senza inserire il codice!

    vi riporto i codici che ho trovato in questo script

    CaptchaSecurityImages.php

    <?php
    session_start();
    class CaptchaSecurityImages {

    var $font = 'monofont.ttf';

    function generateCode($characters) {
    /* list all possible characters, similar looking characters and vowels have been removed */
    $possible = '23456789bcdfghjkmnpqrstvwxyz';
    $code = '';
    $i = 0;
    while ($i < $characters) {
    $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
    $i++;
    }
    return $code;
    }

    function CaptchaSecurityImages($width='120',$height='40',$c haracters='6') {
    $code = $this->generateCode($characters);
    /* font size will be 75% of the image height */
    $font_size = $height * 0.75;
    $image = @imagecreate($width, $height) or die('Cannot initialize new GD image stream');
    /* set the colours */
    $background_color = imagecolorallocate($image, 255, 255, 255);
    $text_color = imagecolorallocate($image, 20, 40, 100);
    $noise_color = imagecolorallocate($image, 100, 120, 180);
    /* generate random dots in background */
    for( $i=0; $i<($width*$height)/3; $i++ ) {
    imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
    }
    /* generate random lines in background */
    for( $i=0; $i<($width*$height)/150; $i++ ) {
    imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
    }
    /* create textbox and add text */
    $textbox = imagettfbbox($font_size, 0, $this->font, $code) or die('Error in imagettfbbox function');
    $x = ($width - $textbox[4])/2;
    $y = ($height - $textbox[5])/2;
    imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code) or die('Error in imagettftext function');
    /* output captcha image to browser */
    header('Content-Type: image/jpeg');
    imagejpeg($image);
    imagedestroy($image);
    $_SESSION['security_code'] = $code;
    }

    }

    $width = isset($_GET['width']) ? $_GET['width'] : '120';
    $height = isset($_GET['height']) ? $_GET['height'] : '40';
    $characters = isset($_GET['characters']) && $_GET['characters'] > 1 ? $_GET['characters'] : '6';

    $captcha = new CaptchaSecurityImages($width,$height,$characters);

    ?>
    e questo il form:

    <?php
    session_start();

    if( isset($_POST['submit'])) {
    if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
    // Insert you code for processing the form here, e.g emailing the submission, entering it into a database.
    echo 'Thank you. Your message said "'.$_POST['message'].'"';
    unset($_SESSION['security_code']);
    } else {
    // Insert your code for showing an error message here
    echo 'Sorry, you have provided an invalid security code';
    }
    } else {
    ?>

    <form action="form.php" method="post">
    <label for="name">Name: </label><input type="text" name="name" id="name" /><br />
    <label for="email">Email: </label><input type="text" name="email" id="email" /><br />
    <label for="message">Message: </label><textarea rows="5" cols="30" name="message" id="message"></textarea><br />
    <img src="CaptchaSecurityImages.php?width=100&height=40 &characters=5" /><br />
    <label for="security_code">Security Code: </label><input id="security_code" name="security_code" type="text" /><br />
    <input type="submit" name="submit" value="Submit" />
    </form>

    <?php
    }
    ?>
    io mi sono limitata a inserire i codici nel mio di form e basta

Regole di scrittura

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