Problema PHP 5.3.6

di il
34 risposte

34 Risposte - Pagina 3

  • Re: Problema PHP 5.3.6

    Si il problema è come faccio a far riconoscere la pass criptata con quella del Database?
  • Re: Problema PHP 5.3.6

    Allora... diciamo che questo codice sotto andrebbe riscritto:) io ti posso dare, come fanno tutti, dei suggerimenti ma non riscriverti tutto Metto nel codice dei commenti dai quali potrai fare delle modifiche
    
    
    <?php
    require_once("config.php"); //connessione al db
    
    $giorno=date('j');
    $mese=date('M');
    
    /*
    al posto di un sacco di if potresti mettere uno switch, ma così com'è funziona lo stesso
    
    */
    if($mese=="Jan"){$meseOK="Gennaio";}
    if($mese=="Feb"){$meseOK="Febbraio";}
    if($mese=="Mar"){$meseOK="Marzo";}
    if($mese=="Apr"){$meseOK="Aprile";}
    if($mese=="May"){$meseOK="Maggio";}
    if($mese=="Jun"){$meseOK="Giugno";}
    if($mese=="Jul"){$meseOK="Luglio";}
    if($mese=="Aug"){$meseOK="Agosto";}
    if($mese=="Sep"){$meseOK="Settembre";}
    if($mese=="Oct"){$meseOK="Ottobre";}
    if($mese=="Nov"){$meseOK="Novembre";}
    if($mese=="Dec"){$meseOK="Dicembre";}
    $ora=date('H:i');
    $anno=date('Y');
    
    //non servono i doppi apici quando concateni
    
    $data="$giorno"." $meseOK"." $anno"." $ora";
    $data2="$giorno"." $meseOK"." $anno"." $ora";//Calcolo la data testuale
    
    /*
    mysql_real_escape va fatto qui e non dopo; $user va inizializzata qui
    */
    
    $pg=$_POST['pg'];
    $pass=$_POST['pass'];
    
    $control1=mysql_query("SELECT * FROM user WHERE nome='".$pg."' AND password='".$pass."'");//selezione utente da db
    
    
    
    $pgnum=mysql_num_rows($control1);
    
    $control=mysql_fetch_assoc($control1);
    
    $ip=$_SERVER["REMOTE_ADDR"]; //recupero l'ip
    
    /*
    Qui basterebbe un if con le condizioni in OR, ma così funziona lo stesso
    */
    if($pgnum!='1'){ //controllo se il pg esiste
    header("Location: php_errori/utente_inesistente.php");
    exit();
    }
    if($control[ban]=='1'){
    header("Location: php_errori/utente_bannato.php");
    exit();
    }
    if($control[connesso]=='1'){
    header("Location: php_errori/utente_collegato.php");
    exit();   
    }
    if(($ip==$control['ip']) OR ($control['connesso']=='0')){
       
    session_start();
    
    $_SESSION['nome'] = $control['nome'];
    
    // questo va fatto sopra
    $user = mysql_real_escape_string($_POST['pg']);
    
    //questo è inutile e sbagliato qui
    $user = htmlentities ($_POST['pg']);
    
    //questo va fatto sopra
    $pass = mysql_real_escape_string($_POST['pass']);
    
    //questo è inutile e sbagliato qui
    $pass = htmlentities ($_POST['pass']);
    
    //questa variabile va sempre assegnata sopra
    $user=$_SESSION['nome'];
    
    $now=time();//recupero time
    
    $insert=mysql_query("INSERT INTO accessi (nome,data,data2,ip,stato) VALUES ('".$user."','".$data."',NOW(),'".$ip."','entrato')");//inserisci accesso
    
    $update=mysql_query("UPDATE user SET time='".$now."',  luogo='Mappa', luogo_a='Mappa', ullacc='".$data2."', connesso='1', ip='".$ip."', ultimaexp = '".$now."' WHERE nome='".$user."'");//aggiorno valori
    
    header('Location: main2.php', true);//mando la prima pagina
    }
    ?>
    
    Dei consigli se posso: non copiare codice di qua e di la su internet; cerca di capire prima da te cosa è sbagliato e poi chiedi sui forum: questo è importante per capire davvero qualcosa col tempo.
    Comprati un buon libro sul php e studialo! Mi raccomando! Per diventare un buon programmatore ci vuole una volontà di ferro...
  • Re: Problema PHP 5.3.6

    ^_^ ti ringrazio molto sul serio, purtroppo però riscrivere circa 1400 pagine è un bel problema anche perchè con PHP 4 funziona, una sola curiosità ma se io lasciassi nel file .htaccess questo:

    # # av:php5-engine
    AddHandler av-php4 .php

    # # av:PHP-RG
    php_flag register_globals off


    Su hosting che girano in PHP 5 funzionerebbe il tutto?
  • Re: Problema PHP 5.3.6

    Dovresti mettere su On register_globals... l'altra direttiva dovrebbe andare bene...
    non so se ti funzionerà tutto...

    davvero auguri per la tua riscrittura! Stai facendo una cosa davvero pedante e complessa
  • Re: Problema PHP 5.3.6

    Ti ringrazie, comunque se ci sono altri e/o altre indicazioni e/o suggerimenti da potermi dare sono ben accetti, ne sapete più di me quindi posso solo imparare.
Devi accedere o registrarti per scrivere nel forum
34 risposte