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

    Uguagliare valore campo di testo input con una variabile numerica random

    Salve a tutti.

    Devo fare una cosa semplice semplice, che credo di saper fare, ma non funziona e non riesco a spiegarmi dove possa essere l'errore.

    Allora, ho una pagina php che genera in una variabile un numero casuale con la funzione "rand" e la stampo a video, dopo di che, ho un form con un campo di testo ed un pulsante nel quale se scrivo il corretto contenuto della variabile random, faccio una operazione, altrimenti, ne faccio un'altra.

    Ecco il codice che ho scritto:

    <?php
    $codice = rand(134957,972810);
    echo $codice;
    if(isset($_POST['Submit'])){
    if($_POST['verifica'] == $codice){
    $mgs = "ok, codice corretto";
    }
    else{
    $mgs = "Codice inserito errato";
    }
    }
    echo "$mgs";
    ?>
    Mi dice che il codice è sempre errato. Posso pensare solo che ad ogni click del pulsante invio, la variabile $codice venga "rigenerata" così da non dare riscontro positivo.

  2. #2
    Dal codice che hai scritto si vede che prima hai il form con il campo di input e poi la pagina che genera il numero, raggiunta proprio attivando il form. Quindi il codice sara' corretto solo se prevedi il futuro, o hai molta fortuna

  3. #3
    No ! E' tutto nella stessa pagina. il form è sotto quello che ho scritto.

    <?php
    $codice = rand(134957,972810);
    echo $codice;
    if(isset($_POST['Submit'])){
    if($_POST['verifica'] == $codice){
    $mgs = "ok, codice corretto";
    }
    else{
    $mgs = "Codice inserito errato";
    }
    }
    echo "$mgs";
    ?>

    .....

    form bla bla bla

  4. #4
    Non importa che sia una pagina o due, il procedimento logico e' compilazione form -> elaborazione dati.

    Il form invia i dati alla pagina che li elabora (anche se la pagina e' la stessa), e la prima cosa che questa pagina fa e' rigenerare il numero. Devi prima generare il numero, poi inviare sia il numero generato che quello inserito a mano ad una pagina che li controlla.

  5. #5
    Mi stai dicendo che non posso fare tutto nella stessa pagina?!

    Dovro' usare una seconda pagina dove verifico tutto... ok

    -------
    Ora per una semplice curiosità : che differenza passa, in termini di efficienza, nel realizzare un chapta con codice su immagine oppure una soluzione tipo quella del mio post?

    E' possibile che un programma per la compilazione automatica dei form riesca a leggere la varibile $codice generata via "rand" e a compilare il campo correttamente?


  6. #6
    Grazie lo stesso. ma ho trovato la soluzione... Una specie di lampo.
    Ho risolto tutto nella stessa pagina:

    Ho creato un campo di testo tipo hidden nel form in cui passo la variabile $codice e faccio il confronto tra $codice e campo nascosto...

    <?php
    $codice = rand(134957,972810);
    echo $codice;
    if(isset($_POST['Submit'])){
    if($_POST['ver'] == $_POST['nascosto']){
    $mgs = "ok";
    }
    else{
    $mgs = "Non va bene...";
    }
    }
    echo "

    $mgs

    ";
    ?>
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <form name="form1" method="post" action="">
    <input name="ver" type="text" id="ver">
    <input name="nascosto" type="hidden" id="nascosto" value="<?php echo $codice; ?>">
    <input type="submit" name="Submit" value="Verifica Cod">
    </form>
    </body>
    </html>

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.