Stringa casuale "doppia"

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Amici salve,

ho un problema con un generatore di stringa random.
Lo uso come sorta di captcha semplificato per l'invio di form.

Faccio generare la stringa casuale e la salvo in una variabile.
$captchaGene = captchaGene(7)

e faccio stampare la variabile poi a video nello spazio che ho riservato a questo ipotetico captcha.
Quando poi arriva la stringa che digita l'utente $_POST['captcha_digitato'] = $captcha_digitato e viene inoltrato il form, ecco che arriva il problema. Ho notato che le due stringhe non coincidono mai perché al momento del submit viene come generata di nuovo la stringa random. Di nuovo (?!) per cui non potranno mai combaciare, uff.

Come potrei risolvere? Dove sbaglio?
Grazie a tutti e buon lavoro :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Cioa,ti conviene utilizzare le sessioni per memorizzare il codice generato altrimenti dovrai passarlo vi POST ma non è molto sicuro
se non è settato lo generi , se settato verifichi se è stato fatto il submit e lo confronti con quello digitato
se non corrispondo lo distruggi per crearne un altro
PHP:
<?php

session_start();

if (!isset($_SESSION['captchaGene']))
    $_SESSION['captchaGene'] = captchaGene(7);

if (isset($_POST['captcha_digitato'])) {
    if ($_POST['captcha_digitato'] == $_SESSION['captchaGene']) {
        
    } else {
        unset($_SESSION['captchaGene']);
    }
}
?>
è un idea, non ho testato
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Cioa,ti conviene utilizzare le sessioni per memorizzare il codice generato altrimenti dovrai passarlo vi POST ma non è molto sicuro
se non è settato lo generi , se settato verifichi se è stato fatto il submit e lo confronti con quello digitato
se non corrispondo lo distruggi per crearne un altro
PHP:
<?php

session_start();

if (!isset($_SESSION['captchaGene']))
    $_SESSION['captchaGene'] = captchaGene(7);

if (isset($_POST['captcha_digitato'])) {
    if ($_POST['captcha_digitato'] == $_SESSION['captchaGene']) {
        
    } else {
        unset($_SESSION['captchaGene']);
    }
}
?>
è un idea, non ho testato

Ciao! Anzi tutto grazie del reply.
Personalmente vorrei evitare l'uso delle sessione per una cosa così semplice.
Non capisco perché se genera la stringa casuale e la salva in una variabile, questa debba cambiare nel momento do l'inoltro del form. Voglio dire, l'ho salvata in una variabile apposta per farci quello che mi serve...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Il submit ricarica la pagina e php reinterpreta tutte le istruzioni, di conseguenza le variabili vengono reinizializzate
non puoi impedirlo
 

JtothaX

Utente Attivo
2 Ott 2013
78
0
0
Treviso
Il submit ricarica la pagina e php reinterpreta tutte le istruzioni, di conseguenza le variabili vengono reinizializzate
non puoi impedirlo

Nemmano se mettessi mano qui?
<form name="contact" action="index.php?mod=contatti">
...
</form>

Io voglio semplicemente mettere l'utente davanti ad una stringa e farla combaciare con quella che scrive lui.
Senza fronzoli e senza complicare troppo le cose...


:(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non c'è niente di comlicato nell'usare le sessioni
puoi mandare la stringa generata anche via POST
PHP:
<input type='hidden' name='captchaGene' value='<?php echo $captchaGene;?>'/>
o via GET
PHP:
<form name="contact" action="index.php?mod=contatti&captchaGene=<?php echo $captchaGene;?>">
in ogni caso devi passarla quando fai il submit perchè non si memorizza da sola ricaricando la pagina verificare poi se settata per non rigenerarla
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Pagina html in stringa PHP 2
I stampare una stringa echo PHP 2
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
D convertire questo stringa in mysqli PHP 4
B Stringa sql per ricerca su più campi Database 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
Alex_70 Stringa che diventa un url PHP 6
Alex_70 Cerca testo all'interno di una stringa PHP 5
C Estrarre dati stringa Sql Database 1
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
A aggiungere stringa all'inizio di ogni riga di un file txt PHP 3
M Stringa con spazi nel menù a tendina PHP 4
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
K Cambiare font size su echo stringa variabile PHP 24
G lettura stringa alfanumerica MySQL 0
O query con date in formato stringa PHP 3
R [PHP] Aggiungere 90 minuti a stringa orario PHP 1
F [MS Access] Creare [stringa] da caselle combinate MS Access 0
A [Visual Basic] Trasformare stringa in ora Visual Basic 0
Monital [PHP]Far riconoscere stringa o numerico epr creazione campo tabella PHP 6
trattorino [PHP] link su stringa con @ PHP 3
C [PHP] Trovare simbolo unicode in stringa PHP 1
S [PHP] Estrarre dati colonna in una stringa PHP 6
C [PHP] Esecuzione comando contenuto in stringa PHP 2
F Recuperare una stringa in formato json con php PHP 0
C [PHP] SOSTITUIRE VALORI DENTRO STRINGA PHP 0
T [PHP] Estrarre stringa PHP 3
elpirata [PHP] Query per ricercare stringa in più colonne PHP 5
D [ASP] Passare in array stringa dinamica Classic ASP 2
M Javascript/Php. Stringa di testo a capo con alert Javascript 7
WebDr [ASP] Da una stringa a una data per SQL Classic ASP 2
L [PHP] Sostituire link da stringa PHP 3
L [Javascript] indirizzare stringa come nome input text Javascript 1
C [PHP] DEVO FAR SPUNTARE SOLO LE CONSONANTI DI UNA STRINGA PHP 1
M [PHP] Stringa con accenti e apostrofi PHP 4
S [PHP] estrarre numero da stringa PHP 5
F [Javascript] Controllo stringa jquery Javascript 4
M [PHP] stringa con tabulazioni orizzontali PHP 9
Monital [PHP] Creare un array da stringa con diversi spazi PHP 3
Jonn [PHP] Controllare l'inizio di una stringa PHP 5
E [PHP] inserire HTML in una stringa PHP 16
P Probelma estrazione stringa PHP 5
T campo data+ora: estrarre l'ora senza generare una stringa MS Access 2
S Problema trasformare una stringa in html object Javascript 0
M Ricavare da un database un valore numerico da stringa Classic ASP 1
M Inserire automaticamente il nome di un'immagine in una variabile di tipo stringa Sviluppo app per Android 1
L Modo per nascondere una parte variabile di una stringa PHP 0
Emix Splittare stringa e prenderne valore Javascript 1
A Isolare parte di una stringa PHP 1

Discussioni simili