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

    Un confronto tra numeri che vengono da un form

    Ciao a tutti e buone vacanze!
    Sto confrontando alcuni numeri che provengono da un form, per un'operazione di verifica antispam. Immaginatevi questa cosa:

    Codice PHP:
    $antispam     $_POST['antispam'];
    $codice     $_POST['rand_1'] + $_POST['rand_2']; 
    I due rand_ sono due numeri casuali generati, i quali devono venire sommati dall'utente e inseriti nel campo $antispam.

    Anche se i numeri sono uguali, e cacchio se sono uguali - li stampo anche a monitor con un echo - non passa mai la verifica di uguaglianza.
    Ovvero una cosa tipo

    Codice PHP:
    if ($antispam == $codice)
      
    // tutto ok 
    non sarà mai vera.
    Qualcuno saprebbe spiegarmi il motivo?
    Ho anche fatto un casting ad intero delle variabili sopra elencate, ma la situazione non cambia.
    Ringrazio e saluto

  2. #2
    A me questo codice funziona perfettamente:

    Codice PHP:
    <form method="post">
    <input type="text" name="antispam" value="5" />
    <input type="hidden" name="rand_1" value="3" />
    <input type="hidden" name="rand_2" value="2" />
    <input type="submit" name="submit" value="Test"/>
    </form>
    <pre>
    <?php 

    if (isset($_POST['submit'])) {
        
    $antispam = isset($_POST['antispam']) ? (int)$_POST['antispam'] : 0;

        
    $_POST['rand_1'] = isset($_POST['rand_1']) ? (int)$_POST['rand_1'] : 0;
        
    $_POST['rand_2'] = isset($_POST['rand_2']) ? (int)$_POST['rand_2'] : 0;
        
    $codice $_POST['rand_1'] + $_POST['rand_2'];
        
        
    var_dump($codice);
        
    var_dump($antispam);
        
    var_dump($antispam == $codice);
        
    var_dump($antispam === $codice);
    }

    ?>
    </pre>

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.