Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    algoritmo..

    ho il seguente algoritmo
    Codice PHP:
    function controlla($code){
        if (
    eregi ('^[0-9]{7}[1-8]{1}$'$code))
            return 
    true;
        else
            return 
    false;

    come faccio ad aggiungere anche la condizione che la somma della prima cifra e l'ultima devo dare sempre come risultato 9 ?

  2. #2
    Scusa la pignoleria... ma è un logaritmo, o un ALGORITMO??

    Cmq eseguire il controllo che chiedi, potresti trattare la variabile come un array:
    if (9 == ($code[0] + $code[$numerocaratteri -1]))
    //ok
    else
    //no ok

  3. #3
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    o usare un substr, se non sai la lunghezza della stringa!
    Codice PHP:
    if ((substr($code,0) + substr($code,-1)) == 9

  4. #4
    ancora :quipy:
    ALGORITMO


    function controlla($code){
    $code=(string)$code;
    if(strlen($code)==8){
    if ((eregi ('^[0-9]{7}[1-8]{1}$', $code)) AND ((int)$code{0}+(int)$code{7}==9))
    return true;
    }

    return false;

    }

  5. #5
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da Beppesan
    Scusa la pignoleria... ma è un logaritmo, o un ALGORITMO??
    non l'ho capito neanche io me lo dici tu?
    loga o algo?

    comunque per capire meglio vi rimando a sto post:
    http://forum.html.it/forum/showthrea...hreadid=671999

    si è aggiunta una roba in più praticamente...

  6. #6
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da Eyescream
    ancora :quipy:
    ALGORITMO


    function controlla($code){
    $code=(string)$code;
    if(strlen($code)==8){
    if ((eregi ('^[0-9]{7}[1-8]{1}$', $code)) AND ((int)($code{0}+$code{7})==9))
    return true;
    }

    return false;

    }
    grazie! ....
    che figura...

  7. #7
    va che mi ero dimenticato un pezzo, ho editato

  8. #8

  9. #9
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    ok ci sono quasi...
    so di aver tralasciato 2 rihe dell'ALGORITMO

    l'unico mio problema è che non funziona il controllo se il codice è già stato utilizzato (checklog=3)
    perchè?

    ripeto il funzionamento:

    l'utente inserisce un codice $code

    viene verificato l'algoritmo,
    - se è ok allora controlla se il codice è già stato utilizzato
    * se è stato utilizzato checklog=3
    * se non è stato mai utilizzato inserisci il codice nel record con la data di oggi checklog=2
    * se non è ok l'algoritmo checklog=1
    tutto qui.

    ora funge tutto ma se inserisco un codice già utilizzato mi torna sempre checklog=1

    ecco lo script:
    Codice PHP:
    include ("connessione.inc.php");
    mysql_pconnect($host,$usersql,$pass) or die ("status=Errore di connessione a mysql&checklog=0");
    mysql_select_db($database) or die ("status=Errore di connessione al database&checklog=0");
    $code $_POST['code']; // variabile che arriva da flash
    $win 1;

        if ((
    eregi ('^[0-9]{7}[1-8]{1}$'$code)) AND ((int)$code{0}+(int)$code{7}==9)){
        
            
    $query "SELECT * FROM $tabella WHERE codice = '$code'"
            
    $result mysql_query$query ) or die ("status=Errore nella query!"); 
            
    $dati mysql_fetch_array($result);
                if (
    $dati['codice'] == '$code') { 
                    echo 
    "status=CODICE corretto ma utilizzato&checklog=3";
                    } else if (
    $dati['codice'] != '$code') {
                    
    $queryins "UPDATE $tabella SET codice ='$code' WHERE data=CURDATE(); ";
                    
    mysql_query$queryins ) or die ("status=Errore nella query!");
                    echo 
    "status=CODICE ESATTO-dati inseriti&checklog=1";
                    
                }
       } else {
            echo 
    "status=CODICE ERRATO&checklog=2";


  10. #10

    Mi sa proprio che si dice algoritmo

    algoritmo
    s. m.
    1 (mat.) procedimento sistematico di calcolo: algoritmo algebrico, euclideo
    2 nel Medioevo, il calcolo basato sull'uso delle cifre arabiche
    3 in logica matematica, procedimento meccanico che permette la risoluzione di problemi mediante un numero finito di passi | (inform.) serie di operazioni logiche e algebriche, espresse in linguaggio comprensibile all'elaboratore, la cui sequenza costituisce un programma.

    logaritmo
    s. m. (mat.) esponente che si deve assegnare a una data base per avere un determinato numero: tavola dei logaritmi; il logaritmo in base dieci di cento è due, in quanto cento è uguale a dieci con esponente due (cioè 102); logaritmi decimali, la cui base è dieci.

    (fonte: Garzanti Linguistica)
    Se avessi voluto risolvere i problemi con la forza, sarei nato Jedi.

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.