Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [captcha] Integrarla in sistema commenti

    Ciao a tutti, sto cercando di implementare una semplice classe di captcha in uno script di commenti ma ho il seguente problema...
    quando inserisco tutti i dati tipo nome email ecc.. la stessa mi manda alla pagina submitcomment.php dove mi informa che, se tutto è andato per il verso giusto, il commento è stato inserito in caso contrario mi visualizza gli errori...
    Io ho provato ad runnare da sola la classe captcha e funziona, però vorrei che, quando invio il form completo(captcha+commenti), se c'è l'errore nel codice di verifica ferma tutto e non inserire niente e NON CONTINUARE LO SCRIPT, altrimenti prosegui e inserisci sto c***o di commento
    non sto a postare tutto il codice sennò viene un casino

    questa è la parte con CAPTCHA della pagina comment.php

    Codice PHP:
    $im ImageCreate(10040);  //crea l'immagine
    $textcolor ImageColorAllocate($im255,255255);
    $backgroundcolor ImageColorAllocate($im18000);
    uesta invece è la parte del form  che invia i dati alla paginasrand((double)microtime()*1000000);$string rand(1,10); //Genero il primo numero
    $string2=rand(1,10); //Genero il secondo numero
    $string3="$string + $string2";
    $somma $string3;

    $risultato=$string+$string2;

    ImageFill($im00$backgroundcolor);
    ImageString($im4205$somma$textcolor);
    Imagejpeg($im"../tutorials/comments/images/test.jpg");
    ImageDestroy($im); 
    questa invece è la parte del form che invia i dati alla pagina submitcomment.php

    Codice PHP:
    <td><input type=\"submit\" name=\"post\" class=\"submit\" value=\"Submit Comment\" />

    Inserisci il risultato della somma:

    <input type=\"hidden\" value=\"
    $risultato\" name=\"risultato\">
    <input type=\"text\" name=\"risposta\" size=\"20\">

    <img src=\"../tutorials/comments/images/test.jpg\" border=\"0\">


                    

    </td> 
    questa è la pagina submitcomment.php

    Codice PHP:
    // connect to database
    $dbh mysql_connect ($db_hostname$db_username$db_pass) or die ('I cannot connect to the database because: ' mysql_error());
    mysql_select_db ($db_name);
    //var
    $tuturl $_POST["tuturl"];
    $tutid2 $_POST["tutid2"];
    $name $_POST["name"];
    $url $_POST["url"];
    $email $_POST["email"];
    $message $_POST["message"];
    $risposta=$_POST['risposta'];
    $risultato=$_POST['risultato'];
    //start
    $sendcomment mysql_query("INSERT INTO comments SET tutorialid='$tutid2', name='$name', url='$url', email='$email', comment='$message', date=now()");

    if(
    $sendcomment) {
    echo 
    "<h1>Il messaggio è stato inserito</h1>";
        echo 
    "Il tuo messaggio è stato inserito con successo. Attendi mentre verrai reindirizzato alla pagina precedente. Grazie!";}
    else {echo 
    "Si è verificato un'errore nell'inserimento del messaggio, riprova più tardi. ";} 
    e questa è la funzione che verifica che il codice è corretto

    Codice PHP:
    if($risposta==$risultato){echo "codice di verifica esatto. ";}
    else {echo 
    "codice di verifica errato."}; 

  2. #2
    un consiglio, ti consiglio di andare a vedere prima questo http://www.0x01.org/blog/?p=37 spiega tutto e c'è anche il codice gia fatto, basta copiarlo. p.s. spiega benissimo, quindi puoi anche correggere il tuo script, anche se quello del link poichè è salvato sulla sessione è molto + sicuro...

  3. #3
    p.s. guarda anche qui http://www.webnews.it/news/leggi/637...rollo-captcha/ dice semplicemente che il codice catcha è stato aggirato...

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.