Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    ne farò lettura, grazie
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    dunque questo al momento � il codice completo e funzionante:

    codice:
    <?php
    
    
    // richiamo il file di configurazione
    require 'config.php';
    
    
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
        
        $code = $_GET["code"];     
    
    
    // preparo la query
    $query = "SELECT * FROM serials WHERE code = '".$code."'";  
    
    
    // lancio la query
    $result = mysql_query($query);
    
    
    // controllo l'esito
    if($result && mysql_num_rows($result)>0){
         while($array=mysql_fetch_array($result))
    
    
    //visualizzo a video il risultato        
    echo $array['ok'];
    echo '</br>';
    
    
    //aggiorno il record
    $query = "UPDATE serials SET
                                        ok='1'
                                        WHERE code = '".$code."'";
        // invio la query
        $result = mysql_query($query);
        
        // controllo l'esito
        if (!$result) {
    	   die("Errore nella query $query: " . mysql_error());
        }
            echo 'Codice convalidato';                                      
    }  
    else  {
      
      echo 'Nessun codice trovato';
    } 
    // chiudo la connessione a MySQL
    mysql_close();               
        
    ?>
    In pratica una volta estratto il record se esiste lo aggiorno inserendogli un valore '1' in un campo chiamato 'ok'.
    Adesso vorrei aggiungere un controllo di questo campo 'ok' , mi spiego, se ok sar� 1 allora non aggiornare....
    ....mi sembra di capire che dovrei annidare una condizione if all'interno della prima condizione subito dopo il primo controllo esito.
    Mi crea dei problemi questo?
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  3. #13
    Prova così ma prendilo con le pinze perchè è un po' che non uso le mysql
    Codice PHP:
    // richiamo il file di configurazione
    require 'config.php';
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
    $code $_GET["code"];     
    // preparo la query
    $query "SELECT * FROM serials WHERE code = '".$code."'";  
    // lancio la query
    $result mysql_query($query);
    // controllo l'esito
    if($result && mysql_num_rows($result)>0)
    {
         while(
    $array=mysql_fetch_array($result))
         {
            
    //visualizzo a video il risultato        
            
    echo $array['ok'];
            echo 
    '</br>';
            if(
    $array['ok'] == 1)
            {
                 
    $query "UPDATE serials SET ok='1' WHERE code = '".$code."'";
                 if(
    mysql_query($query))
                 {
                     echo 
    'Codice convalidato';
                 }              
       
                 else 
                 {
                     die(
    "Errore nella query $query: " mysql_error());
                 }
             }
       
       } 
    //while end                                     


    else  
    {
         echo 
    'Nessun codice trovato';

    // chiudo la connessione a MySQL
    mysql_close(); 
    Se è roba seria ti conviene dare un' occhiata all' sql injection perchè così è vulnerabilissimo

  4. #14
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da p73 Visualizza il messaggio
    dunque questo al momento � il codice completo e funzionante:

    codice:
    <?php
    
    
    // richiamo il file di configurazione
    require 'config.php';
    
    
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
        
        $code = $_GET["code"];     
    
    
    // preparo la query
    $query = "SELECT * FROM serials WHERE code = '".$code."'";  
    
    
    // lancio la query
    $result = mysql_query($query);
    
    
    // controllo l'esito
    if($result && mysql_num_rows($result)>0){
         while($array=mysql_fetch_array($result))
    
    
    //visualizzo a video il risultato        
    echo $array['ok'];
    echo '</br>';
    
    
    //aggiorno il record
    $query = "UPDATE serials SET
                                        ok='1'
                                        WHERE code = '".$code."'";
        // invio la query
        $result = mysql_query($query);
        
        // controllo l'esito
        if (!$result) {
           die("Errore nella query $query: " . mysql_error());
        }
            echo 'Codice convalidato';                                      
    }  
    else  {
      
      echo 'Nessun codice trovato';
    } 
    // chiudo la connessione a MySQL
    mysql_close();               
        
    ?>
    In pratica una volta estratto il record se esiste lo aggiorno inserendogli un valore '1' in un campo chiamato 'ok'.
    Adesso vorrei aggiungere un controllo di questo campo 'ok' , mi spiego, se ok sar� 1 allora non aggiornare....
    ....mi sembra di capire che dovrei annidare una condizione if all'interno della prima condizione subito dopo il primo controllo esito.
    Mi crea dei problemi questo?
    il codice che usi non va bene. ti bucano il sistema in due minuti.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #15
    magari sta solo imparando, se x quello usa ancora le mysql...diamogli tempo

  6. #16
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    In effetti non è che sia un GURu..........
    ...c'è da dire che il programmino che vorrei realizzare gira in una cartella nascosta del server e comunque nessuno è a conoscenza dell'url............
    ........vi spiego in breve cosa voglio fare (magari saprete anche consigliarmi qualcosa di più sicuro):

    creo un qrCode con il link della variabile in modo che scansionandolo il programmino mi riconosce se sia stato già utilizzato o meno.............in pratica lo inserisco su dei bigliettini in maniera che questo non possa essere riutilizzato.......non so se mi sono spiegato!

    Grazie per la vostra disponibilità.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  7. #17
    Utente di HTML.it L'avatar di Nexus0100
    Registrato dal
    Aug 2016
    residenza
    Firenze
    Messaggi
    83

    Potrei essere arrugginito o aver fatto confusione con Mysqli... Spero ti serva ;D

    Quote Originariamente inviata da p73 Visualizza il messaggio
    In effetti non è che sia un GURu..........
    ...c'è da dire che il programmino che vorrei realizzare gira in una cartella nascosta del server e comunque nessuno è a conoscenza dell'url............
    ........vi spiego in breve cosa voglio fare (magari saprete anche consigliarmi qualcosa di più sicuro):

    creo un qrCode con il link della variabile in modo che scansionandolo il programmino mi riconosce se sia stato già utilizzato o meno.............in pratica lo inserisco su dei bigliettini in maniera che questo non possa essere riutilizzato.......non so se mi sono spiegato!

    Grazie per la vostra disponibilità.
    Ciao anche io come te sto imparando a programmare...
    Allora...
    se ho capito quello che vuoi fare, è evitare che uno stesso codice venga riutilizzato più volte, allora in quel caso come già detto basta fare un controllo, perciò in questo punto:
    ...
    codice:
    
    if($result && mysql_num_rows($result)>0){
         while($array=mysql_fetch_array($result))
    Puoi fare cosi, ovviamente è solo un suggerimento...
    Codice PHP:
    // richiamo il file di configurazione
    require'config.php';


    // richiamo lo script responsabile della connessione a MySQL
    require'connect.php';               
        
       
    //esegui un escape per i caratteri dannosi di mysql, per evitare di essere bucato
        
    $code =mysql_escape_string($_GET["code"]);

    // preparo la query
    $query ="SELECT * FROM serials WHERE code = '".$code."'";  


    // lancio la query
    $result mysql_query($query);

    // controllo l'esito (se devi trovare un solo risultato puoi fare così a quel punto)
    if($result && mysql_num_rows($result)==1){
         
    //prendi il risultato
         
    $array=mysql_fetch_array($result);
    }
    else{
         
    //errore generico diciamo...
    }
    //Dopo di che effettui un controllo con un if
    if($array["ok"]!="1"){
         
    //il codice non era mai stato utilizzato
          //visualizzo a video il risultato            
         
    echo $array['ok'];
        echo 
    '</br>';


         
    //aggiorno il record
         
    $query "UPDATE serials SET ok='1' WHERE code = '".$code."'";
         
    // invio la query
         
    $result mysql_query($query);
        
        
    // controllo l'esito
        
    if (!$result) {
           die(
    "Errore nella query $query: " mysql_error());
        }
            echo 
    'Codice convalidato';                                     }
    else{
         
    //stampa un messaggio di errore perchè il codice è stato utilizzato
    }
    // chiudo la connessione a MySQL
    mysql_close(); 
    Non so se era questo il problema che avevi... Nel caso spero di averti risposto giusto ;D

    P.S. Correggetemi se ho sbagliato qualcosa xD

    P.P.S.
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    Prova così ma prendilo con le pinze perchè è un po' che non uso le mysql
    Codice PHP:
    // richiamo il file di configurazione
    require 'config.php';
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
    $code $_GET["code"];     
    // preparo la query
    $query "SELECT * FROM serials WHERE code = '".$code."'";  
    // lancio la query
    $result mysql_query($query);
    // controllo l'esito
    if($result && mysql_num_rows($result)>0)
    {
         while(
    $array=mysql_fetch_array($result))
         {
            
    //visualizzo a video il risultato        
            
    echo $array['ok'];
            echo 
    '</br>';
            if(
    $array['ok'] == 1
    if($array['ok'] != 1) suppongo, altrimenti ha poco senso
    Codice PHP:
            {
                 
    $query "UPDATE serials SET ok='1' WHERE code = '".$code."'";
                 if(
    mysql_query($query))
                 {
                     echo 
    'Codice convalidato';
                 }              
       
                 else 
                 {
                     die(
    "Errore nella query $query: " mysql_error());
                 }
             }
       
       } 
    //while end                                     


    else  
    {
         echo 
    'Nessun codice trovato';

    // chiudo la connessione a MySQL
    mysql_close(); 
    Se è roba seria ti conviene dare un' occhiata all' sql injection perchè così è vulnerabilissimo
    Ultima modifica di Nexus0100; 08-08-2016 a 16:30 Motivo: Correzioni varie

  8. #18
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    327
    Questo è il codice copmpleto e funzionante (almeno fa quello che mi necessita a me)

    codice:
    <?php
    
    
    // richiamo il file di configurazione
    require 'config.php';
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
    
    
    //recupero la variabile del codice
    $code = $_GET["code"];     
    
    
    // preparo la query
    $query = "SELECT * FROM serials WHERE code = '".$code."'";  
    
    
    // lancio la query
    $result = mysql_query($query);
    
    
    // controllo l'esito
    if($result && mysql_num_rows($result)>0)
    {
         while($array=mysql_fetch_array($result))
         {
            //visualizzo a video il risultato        
            //echo $array['ok'];
            //echo '</br>';
                    
            if($array['ok'] == 0)
            {
                 $query = "UPDATE serials SET ok='1' WHERE code = '".$code."'";
                 if(mysql_query($query))
                 {
                     
                    //indirizzo verso pagina alert
                    function gotoPage($indirizzo=""){
    	              echo '<script language="javascript">';
    	              echo 'self.location="'.$indirizzo.'"';
    	              echo '</script>';
                    }
                    gotoPage("ok.php");                                 
                     
                     //echo 'Codice convalidato';
                     
                 }              
       
                 else 
                 {
                     die("Errore nella query $query: " . mysql_error());
                 }
             }
             elseif ($array['ok'] == 1)
             {
                //indirizzo verso pagina alert
                function gotoPage($indirizzo=""){
    	          echo '<script language="javascript">';
    	          echo 'self.location="'.$indirizzo.'"';
    	          echo '</script>';
                }
                gotoPage("alert.php");
                
             //echo 'Attenzione, il codice è già stato utilizzato!';
             }
       
       } //while end                                     
    
    
    } 
    else  
    {
         //indirizzo verso pagina alert
         function gotoPage($indirizzo=""){
         echo '<script language="javascript">';
         echo 'self.location="'.$indirizzo.'"';
         echo '</script>';
         }
         gotoPage("error.php");
         //echo 'Nessun codice trovato';
    } 
    // chiudo la connessione a MySQL
    mysql_close();              
        
    ?>
    al limite potrei aggiungere un codice di controllo, quindi prima di effettuare la ricerca del codice e processarlo inserire una casella dove l'utente deve autenticarsi con un codice che conosce solo lui e quindi presente all'interno del db. Mi spiego meglio:
    > nel db ho un campo user "ab000"
    > l'utente deve inserire questo codice perchè l'applicazione prosegua, altrimenti non va avanti.

    Potrebbe essere un po il modo per aumentare la sicurezza?

    Mi attengo alle vostre considerazioni.
    Errare è umano, Perseverare è Diabolico.
    sapiente è colui ke sa di non sapere.

  9. #19
    Utente di HTML.it L'avatar di Nexus0100
    Registrato dal
    Aug 2016
    residenza
    Firenze
    Messaggi
    83
    Quote Originariamente inviata da p73 Visualizza il messaggio
    Questo è il codice copmpleto e funzionante (almeno fa quello che mi necessita a me)

    codice:
    <?php
    
    
    // richiamo il file di configurazione
    require 'config.php';
    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';               
    
    
    //recupero la variabile del codice
    $code = $_GET["code"];     
    
    
    // preparo la query
    $query = "SELECT * FROM serials WHERE code = '".$code."'";  
    
    
    // lancio la query
    $result = mysql_query($query);
    
    
    // controllo l'esito
    if($result && mysql_num_rows($result)>0)
    {
         while($array=mysql_fetch_array($result))
         {
            //visualizzo a video il risultato        
            //echo $array['ok'];
            //echo '</br>';
                    
            if($array['ok'] == 0)
            {
                 $query = "UPDATE serials SET ok='1' WHERE code = '".$code."'";
                 if(mysql_query($query))
                 {
                     
                    //indirizzo verso pagina alert
                    function gotoPage($indirizzo=""){
                      echo '<script language="javascript">';
                      echo 'self.location="'.$indirizzo.'"';
                      echo '</script>';
                    }
                    gotoPage("ok.php");                                 
                     
                     //echo 'Codice convalidato';
                     
                 }              
       
                 else 
                 {
                     die("Errore nella query $query: " . mysql_error());
                 }
             }
             elseif ($array['ok'] == 1)
             {
                //indirizzo verso pagina alert
                function gotoPage($indirizzo=""){
                  echo '<script language="javascript">';
                  echo 'self.location="'.$indirizzo.'"';
                  echo '</script>';
                }
                gotoPage("alert.php");
                
             //echo 'Attenzione, il codice è già stato utilizzato!';
             }
       
       } //while end                                     
    
    
    } 
    else  
    {
         //indirizzo verso pagina alert
         function gotoPage($indirizzo=""){
         echo '<script language="javascript">';
         echo 'self.location="'.$indirizzo.'"';
         echo '</script>';
         }
         gotoPage("error.php");
         //echo 'Nessun codice trovato';
    } 
    // chiudo la connessione a MySQL
    mysql_close();              
        
    ?>
    al limite potrei aggiungere un codice di controllo, quindi prima di effettuare la ricerca del codice e processarlo inserire una casella dove l'utente deve autenticarsi con un codice che conosce solo lui e quindi presente all'interno del db. Mi spiego meglio:
    > nel db ho un campo user "ab000"
    > l'utente deve inserire questo codice perchè l'applicazione prosegua, altrimenti non va avanti.

    Potrebbe essere un po il modo per aumentare la sicurezza?

    Mi attengo alle vostre considerazioni.
    Beh penso che si aumenti la sicurezza sicuramente in questo modo, però ricorda di vedere per la sql injection come ti ho scritto sopra usando il comando mysql_escape_string, che dovrebbe aiutarti per la sicurezza ;D

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