Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232

    Verifica codice captcha

    Ho realizzato un form con campo captcha per l'invio del contenuto tramite funzione mail di php

    Codice PHP:
    <?php
    session_start
    ();
    ?>

    <?php

    $nome      
    $_POST['nome'];
    $cognome   $_POST['cognome'];
    $messaggio $_POST['messaggio'];
    $keystring $_POST['keystring'];

    if (
    $nome=="") {
    $message.="Nome mancante
    "
    ;
    }

    if (
    $cognome=="") {
    $message.="Cognome mancante
    "
    ;
    }
    if (
    $messaggio=="") {
    $message.="Messaggio mancante
    "
    ;
    }

    if (
    $keystring=="" ) { 
    $message.="Codice di Sicurezza mancante
    "
    ;
    }

    if (
    count($_POST)>0) {
        if(isset(
    $_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']) {
            echo 
    "";
        } else {
            echo 
    "Codice di Sicurezza errato
    "
    ;
        }
    }

    unset(
    $_SESSION['captcha_keystring']);

    if (
    $message!="") {
    echo
    "$message
    <a href=\"javascript:history.back()\">Torna indietro</a>"
    ;
    exit;

    } else {

    echo
    "Grazie per averci contattato!";

    funzione mail

    ?>
    il form funziona anche in invio, compreso il campo captcha, il problema è che la mail parte anche se il codice captcha è errato nonostante mi viene segnalato l'errore. Come faccio ad implementare un qualche cosa che blocca l'invio mail se il codice captcha è errato?

    Il controllo degli altri campi lo faccio con
    Codice PHP:
    if ($message!="") {
    echo
    "$message
    <a href=\"javascript:history.back()\">Torna indietro</a>"
    ;
    exit; 

  2. #2
    Al posto di:

    Codice PHP:
     echo "Codice di Sicurezza errato
    "

    metti

    Codice PHP:
     $message.= "Codice di Sicurezza errato
    "

    Comunque il tuo codice solleva molti notice e non è ben strutturato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Originariamente inviato da filippo.toso
    Al posto di:

    Codice PHP:
     echo "Codice di Sicurezza errato
    "

    metti

    Codice PHP:
     $message.= "Codice di Sicurezza errato
    "

    Comunque il tuo codice solleva molti notice e non è ben strutturato.
    Grazie, funziona!

    Era in effetti una cosa banalissima, si vede che nelle prove che ho fatto è saltato qualche altro intoppo perché è la prima cosa che ho provato.

    Che suggerimento mi dai per strutturarlo al meglio? I notice sono errori?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    filippo, mi dai qualche suggerimento per scrivere meglio lo script?

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.