Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    concetti OOP non setta il paramentro dopo interrogazione

    ciao
    ho una problematica sulla OOP

    io ho creato una classe utente con metodi get e set
    Codice PHP:
    class utenti {

        
        private 
    $utente "";
        private 
    $password "";
        private 
    $livello "";

        public function 
    __construct(){
            
    $this->utente $utente ;
            
    $this->password $password;
            
    $this->livello $livello;
        }

        public function 
    setUtente ($utente){
          
    $this->utente $utente;
        }

        public function 
    getUtente (){
            return 
    $this->utente;
        }

        public function 
    setPassword ($password){
           
    $this->password $password;
        }

        public function 
    getPassword (){
            return 
    $this->password;
        }

        public function 
    setLivello ($livello){
           
    $this->livello $livello;
        }

        public function 
    getLivello (){
            return 
    $this->livello;
        }




    ora ho preparato un modulo html di inserimento dati per un accesso (la classica login)

    che richiama la classe sessione.php

    Codice PHP:
    include ("../../DTO/utenti.php");
    include (
    "../../domande/interrogazione.php");
    include (
    "../../configurazioni/connessione.php");

    //carico oggetti
    $utenti = new utenti();
    $interrogo = new interrogazione();
    $connessione = new Connessione();

    //Setto dell'utente nella mia classe 'utenti'
    $utenti->setUtente($_POST['user_name']);
    $utenti->setPassword($_POST['pass']);

    $login $interrogo->Login($utenti->getUtente(),$utenti->getPassword());

    $connessione->Chiudo_Connessione(); 
    all'interno della classe ho istanziato i miei oggetti dove andrò a settare utente e password.
    richiamo la classe interrogazione.php dove ho tutte le mie domande rivolte al database

    Codice PHP:
    class interrogazione{
        
        private static 
    $pippoDB "pippo";

        public  function 
    Login ($utente $password){
            
    $a = new utenti();
            
            
    $database mysql_select_db(self::$pippoDB );
            
            
    $sql "SELECT * FROM utenti WHERE user_name = '$utente' AND password = '$password';";
            
    $eseguo mysql_query($sql) or die ("ERRORE IN MYSQL_LOGIN  ".mysql_error());
            
    $numero mysql_num_rows($eseguo);

            while (
    $row mysql_fetch_assoc($eseguo)){
               
    $user $row['user_name'];
               
    $pass $row['password'];
               
    $livello $row['livello'];
            }

            if (
    $numero == 1){
               [
    COLOR=orangered]$a->setLivello($livello);[/COLOR
                return 
    true;
            }else{
                return 
    false;
            }

        }
    //chiudo login

    questa funzione mi restituisce true se ho trovato l'utente nel db... io vorrei prelevare anche dei dati e settarli nella classe utenti(in questo caso il livello) ... noto che il valore che mi restituisce è true e la query è stata soddisfatta, ma se gli passo il paramentro setLivello non mi tiene il dato ...
    mi sapreste aiutare su cosa sbaglio?

    grazie!

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    dovrei avere risolto ...

    nella classe utenti ho aggiunto una funzione
    Codice PHP:
     private $esistente ;

        public function  
    isEsistente() {
            return 
    esistente;
        }

        public function  
    setEsistente($esistente) {
            
    $this->esistente $esistente;
        } 
    mentre nella pagina sessione ho fatto passare l'intero oggtto nella mia classe interrogazione
    Codice PHP:
    //Setto dell'utente nella mia classe 'utenti'
    $utente->setUtente($_POST['user_name']);
    $utente->setPassword($_POST['pass']);

    $login $interrogo->Login($utente);//$utente è il mio oggetto

    if ($utente->isEsistente()){
        echo 
    "forseforse";
        echo 
    $utente->getLivello();
        echo 
    "
    "
    ;
        echo 
    $utente->getPassword();
        echo 
    "
    "
    ;
        echo 
    $utente->getUtente();
    }else{ 
    mentre in interrogazioni
    Codice PHP:
     while ($row mysql_fetch_assoc($eseguo)){

               
    $user $row['user_name'];
               
    $pass $row['password'];
               
    $risultato false;

               if (
    $user == $udto->getUtente() && $pass == $udto->getPassword()){
                   
    $udto->setLivello($row['livello']);
                   
    $risultato true;
                   break;
               }

            }
            
    $udto->setEsistente($risultato);
            return 
    $udto
    cosi facendo mi setta il mio oggetto utenti all'instante e mi preserva il valore

    ciao

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.