Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Verifica dati tramite form e annullamento codice registrazione

    Buongiorno a tutti,
    ho bisogno di questo piccolo codice ma sono un po arrugginito.
    Ho una pagina con un form di inserimento codici per gli utente che devono controllare se il codice è valido/presente e nel caso, dopo verifica sul DB annullare in seguito all'inseirmento dello stesso.
    Ho trovato questo vecchio codice che avevo ma in realtà fa solo una verifica SI/NO senza andare a scrivere nulla sul DB in caso di esito positivo.

    La tabella è composta da tre campi: id (sequenziale) - codice (il codice) - stato (attivo/non attivo)

    Codice PHP:
    <?phpif (isset($_POST['submit']) && isset($_POST['codice_check'])){mysql_connect("host","user","pwd");mysql_select_db("nomedb");$codice mysql_real_escape_string($_POST["codice_check"]);$sql "SELECT codice FROM Codici Amazon WHERE codice='$codice';";$exec mysql_query($sql) or die ("Errore: ".mysql_error());if($exec){$fetch mysql_fetch_array($exec);$servizio $fetch['servizio'];if (intval($servizio) == 0){header("location: codiceok.html");}else{header("location: notok.html");}}else{echo "Errore";}}else{echo "Errore";}?>
    Avrei bisogno di un aiuto per verificare che sia ok il codice e per integrare il controllo e il cambio dello stato del codice.
    Spero sia tutto chiaro. Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Il codice non è indentato bene.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Ho riprovato ma me lo inserisce sempre così..
    Ultima modifica di fscotto74; 07-08-2018 a 16:07

  4. #4
    codice:
    <?php if (isset($_POST['submit']) && isset($_POST['codice_check']))
    { 
    mysql_connect("host","user","pwd");
    mysql_select_db("nomedb");
    $codice = mysql_real_escape_string($_POST["codice_check"]);
    $sql = "SELECT codice FROM Codici Amazon WHERE codice='$codice';";
    $exec = mysql_query($sql) or die ("Errore: ".mysql_error());
    if($exec){$fetch = mysql_fetch_array($exec);
    $servizio = $fetch['servizio'];
    if (intval($servizio) == 0)
    {
    header("location: codiceok.html");
    }
    else
    {
    header("location: notok.html");
    }
    }
    else
    {
    echo "Errore";
    }
    }
    else
    {
    echo "Errore";
    }
    ?>

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da fscotto74 Visualizza il messaggio
    Ho riprovato ma me lo inserisce sempre così..
    Se fai sempre copia/incolla per forza il risultato è sempre lo stesso.
    Se qui il codice te lo indenta male vuol dire che non riconosce la formattazione che hai usato per scrivere il codice (dovresti usare la notazione UNIX, probabilmente invece usi quella di Windows), in tal caso devi indentare di nuovo a mano il codice qui sulla textarea del forum.

  6. #6
    Perdonami ma questo non va bene?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Riesci a capire dove comincia e finisce un blocco racchiuso tra parentesi graffe senza metterti a controllare?

  8. #8
    Ok allora..intanto grazie per le dritte. Ho riscritto tutto in modo diverso partendo da un vecchio script che avevo utilizzato tempo fa per una soluzione simile.
    Ora sembra funzionare la connessione al DB ma non la verifica dei dati nella tabella e avrei bisogno di implementare in ogni caso anche "l'annullamento" dei codici utilizzati.
    Ricordo che il DB è composto da queste tabelle: "id" - "codice" (la lista codici) - "stato" (attivo/non attivo).
    codice HTML:
    <form action="index.php?ricerca=ok" method="POST"><div class="form-mail"><span class="fa fa-envelope-o" aria-hidden="true"></span><input type="text" name="codice_check" /></div><input type="submit" name="submit" value="CONTROLLA IL TUO CODICE"></form>
    Codice PHP:
    <?php
    // connettiamoci al DB
    $db_host "host";$db_user "user";$db_password "pwd";$db_name "dbname";
    //connetto il DB
    $db mysqli_connect($db_host$db_user$db_password) or die ('Errore durante la connessione');mysqli_select_db($db$db_name) or die ('Errore durante la selezione del db');
    // recuperiamo il valore ricerca inviato con get
    $ricerca $_GET['ricerca'];
    // vediamo se è stato inviato, e quindi uguale a ok
    if ( $ricerca == 'ok' 
    {
    // recuperiamo ora cerca inviato con post
    $cerca $_POST['cerca'];
    // vediamo se è stato compilato il campo
    if ( $cerca == TRUE && $cerca != "" 
    {
    // se supera i tre caratteri
    if ( strlen($cerca) >= 
    {
    // depuriamo la stringa da cercare sul DB
    $cerca =  mysqli_real_escape_string()(stripslashes($cerca)); 
    // effettuare la ricerca sul DB, attenzione alla sintassi
    $query "SELECT * FROM dbname WHERE codice LIKE '%$cerca%'"
    $risultato mysqli_query()($query) or die (mysqli_error()); 
    $risposta mysqli_query()($query) or die ("Utilizza termini più specifici!");
    $dentro_la_querymysqli_fetch_assoc()($risposta);
    if ( 
    $dentro_la_query == TRUE 
    {
    while(
    $rowmysqli_fetch_assoc()($risultato))

    $codice $row['codice'];$stato $row['stato'];
    // stampiamo i nostri dati
    if ($stato == 1) {echo "Attenzione, il codice <b>$codice</b> è già stato utilizzato.<br>"; }else{
    echo 
    "Codice inserito valido. Vuoi utilizzarlo?"
    }
    }
    }
    }
    }
    }
    ?>
    Spero stavolta sia tutto chiaro.
    Grazie ancora

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Non vedo nessun campo con il nome = cerca.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Modificato. Grazie per la segnalazione...ma non funziona ancora.
    Non riesco a capire perché non mi restituisce nessun risultato...

    codice HTML:
    <form action="index.php?ricerca=ok" method="POST"><div class="form-mail"><span class="fa fa-envelope-o" aria-hidden="true"></span><input type="text" name="cerca" /></div>   <input type="submit" name="submit" value="CONTROLLA IL TUO CODICE"></form>
    Codice PHP:
    <?php 
                   
    // Dati DB   
                    
                    
    $db_host "host";
                    
    $db_user "user";
                    
    $db_password "pwd";
                    
    $db_name "dbname";
                    
    //Connetto il DB
                    
                    
    $db mysqli_connect($db_host$db_user$db_password) or die ('Errore durante la connessione');
                    
    mysqli_select_db($db$db_name) or die ('Errore durante la selezione del db');

    // Recuperiamo il valore ricerca inviato con get

                    
    $ricerca $_GET['ricerca'];                
    // Controlla se è stato inviato, e quindi uguale a ok                
                    
    if ( $ricerca == 'ok' )
                    {                
    // recuperiamo ora cerca inviato con post

                    
    $cerca $_POST['cerca'];
                    
    // Controlla se è stato compilato il campo

                    
    if ( $cerca == TRUE && $cerca != "" )
                    {                    
    // Controlla se supera i tre caratteri
                    
    if ( strlen($cerca) >= )
                    {                
    // Effettua la ricerca sul DB                
                    
    $query "SELECT * FROM dbname WHERE codice LIKE '%$cerca%'";
                    
    $risultato mysqli_query()($query) or die (mysqli_error());
                    
    $risposta mysqli_query()($query) or die ("Utilizza termini più specifici!");
                    
    $dentro_la_querymysqli_fetch_assoc()($risposta);                if ( $dentro_la_query == TRUE )
                    {
                    while(
    $rowmysqli_fetch_assoc()($risultato))
                    {
                    
    $codice $row['codice'];
                    
    $stato $row['stato'];
                    
    // Stampiamo i dati

                    
    if ($stato == 1)
                    {
                    echo 
    "Attenzione, il codice <b>$codice</b> è già stato utilizzato.<br>";
                    }
                    else
                    {
                    echo 
    "Codice inserito valido. Vuoi utilizzarlo?";
                    }
                    }
                    }
                    }
                    }
                    }
                    
    ?>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.