Php variable accessed from class in another file empty

Viewed 31

I am new to php and I am trying to program an app that uses php as backend. I don't really have an error in my code but I can't figure something out I have search but nothing has helped.there maybe be a solution but I can't find it. I have 3 php file

Index.php

<?php 
include "methods.php";
$user=new user();
if (isset($_GET["action"])) {
  // code...
  switch ($_GET["action"]) {
    case 'login':
      // code...
      $user->login();
      break;
    default:
      // code...
      echo("error 404");
      break;
  }

} else {
  // code...
  echo("error 404");
}

?>

Methods.php

<?php
include "extra.php";
class user {
  public function login() {
    $input = new input();
    $error = "fucked";
    $validationresult = json_decode($input->validateinput(), true);
    echo var_dump($validationresult);
    $validated = $validationresult["validated"];
    if ($validated) {
      // code...
      echo ("yes");

    } else {
      echo var_dump($validationresult);
    //  echo json_encode(($validationresult["error"]));
    }
  }
}
?>

extra.php

<?php
class input {
  public $password;
  public $status;
  public $validated;
  public function __construct()
  {
    // code...
  }
  public function validateinput () {
    $password = $_GET["password"];
   $this-> $status = "red";
    $this->$validated = false;
    echo($this-> $status);
    return json_encode('{
    "validated":'.$this->get_validate().',
    "error":{
    "status":"'.$this->$status.'",
     "username":"ok",
     "password":"cannot be more than 5"
    }
  }');

  }
public function get_validate(){
return $this->$validated;
}
}
?>

As you can see in index.php I called $user->login(); From methods.php which echos JSON $input->validateinput() from file extra.php. But

"validated":'.$this->get_validate().'

And

"status":"'.$this->$status.'

From extra.php Is empty I don't why it is empty and the internet confuses me more. I am sorry for my grammatical mistakes as I am typing from a mobile phone and English isn't my first language.

0 Answers
Related