Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [oop]Warning: Missing argument 1 for...

    scusate ho un dubbio...

    class x {...}

    class y extends x {...}

    class z extends x {...}

    Si può fare cacchio??? Ho una classe che mi dà come warning:

    Warning: Missing argument 1 for...
    Warning: Missing argument 2 for...

    e non vorrei fosse x questo xke lo script credo sia abbastanza giusto..

    Grazieeeee
    Questa volta, più che un voto.. è favoreggiamento.

  2. #2

  3. #3
    Capperi.. dopo 3 ore di ricerca mi vengono anche sti dubbi.. ammazzate.. allora il problema resta..

    Warning: Missing argument 1 for

    E non capisco piu niente.. se vuoi ti posto la classe.. vedi te..
    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    Posta, comunque sarà senz'altro perchè il costruttore della classe 'x' richiede un argomento che non passi quando richiami la classe y ad esempio

  5. #5
    Allora la classe x è una classe x la gestione del database ma è lunga un tot.. se è necessario la posto dopo caso mai..

    la classe che dà problemi è questa:
    Codice PHP:
    <?php
    class login extends database {

        var 
    $user;
        var 
    $pass;

        function 
    login($user$pass) {
            
    $this->user $user;
            
    $this->pass $pass;

            if (
    $this->utente_valido() == TRUE) {
                
    setcookie("autenticazione"$this->user "|" $this->pass0"/");
                
    $this->header_location("/action=log");
                } else {
                die (
    "Non va!!!");
            }
        }

        function 
    riquadro_da_visualizzare($param) {
            if (isset(
    $param)) {
                
    $this->riquadro $param;
                } else {
                
    $this->riquadro 0;
            }
        }

        function 
    utente_valido() {
                
    $result FALSE;

            
    $pr "/(?i)^[a-f0-9]{32}$/";
                if(
    preg_match($pr$this->pass)) {

                
    $query "SELECT id_utente FROM utente WHERE nickname_utente = '$this->user' AND password_utente = '$this->pass'";
                
    parent::set_query($query);
                if (
    parent::get_num_rows()) {
                    
    $result TRUE;
                    } else {
                    
    $this->header_location("/action=nolog/error=true");
                }
            }
            return 
    $result;
        }

        function 
    header_location($location) {
            
    header("Location: " ROOT_PATH $_SERVER['REQUEST_URI'] . $location);
        }
    }
    ?>
    e l'errore dice questa riga:

    function login($user, $pass) {

    ti posto anche l'istanziazione della classe:
    Codice PHP:
    echo $_POST['nickname'];
    echo 
    $_POST['password'];

    if (!empty(
    $_POST['nickname']) && !empty($_POST['password'])) {
        
    $login_utente = new login;
        
    $login_utente->login($_POST['nickname'], $_POST['password']);
        } else {
        echo 
    "No entry";

    Gli echo iniziali son x vedere se passa qlcosa e funzionano.. poi l'if è tanto di prova..

    Che dici??
    Questa volta, più che un voto.. è favoreggiamento.

  6. #6
    La funzione login() è un costruttore, viene eseguita subito quando richiami la classe, quindi basta che metti solo

    $login_utente = new login($_POST['nickname'], $_POST['password']);

    senza richiamare la funzione in seguito

  7. #7
    bene adesso passano i parametri.. grazie..

    X il resto che dici??
    Questa volta, più che un voto.. è favoreggiamento.

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.