• 26-04-2021, 12:45:37
    #1
    Merhaba,

    Bir mobil uygulamanın giriş kısmını yapıyorum, aşağıdaki gibi bir veriye ihtiyacım var

    Giriş başarılıysa:
    [
        {
            "status": "1",
            "response": "Giriş başarılı."
        },
        {
            "id": 27,
            "name": "Deneme",
            "surname": "Hesap",
            "mail": "a@a.a",
            "username": "deneme",
            "password": "ass"
        }
    ]
    Giriş başarısızsa:
    [
        {
            "status": "0",
            "response": "Kullanıcı adı hatalı."
        }
    ]
    PHP kodum şu şekilde:

      public function store(Request $request)
      {
    
        if (empty($request->mail)) {
          $response = array('status' => '0', 'response' => 'E-Mail alanı boş bırakılamaz.');
        }else if(empty($request->password)) {
          $response = array('status' => '0', 'response' => 'Şifre alanı boş bırakılamaz.');
        }else{
          //$encrypted_pass = md5(sha1($request->password));
          $response = DB::table("users")
            ->where('mail', $request->mail)
            ->where('password', $request->password)
            ->get();
            if (empty($response[0])) {
              $response = array('status' => '0', 'response' => 'E-Mail veya şifre hatalı.');
            }else{
              //array_push($response, array('status' => '1', 'response' => 'Giriş başarılı.'));
            }
        }
        return response()->json($response);
      }
    Bu kod ile aşağıdaki şekilde çıktı alıyorum:

    Başarısızsa:
    {
        "status": "0",
        "response": "E-Mail veya şifre hatalı."
    }
    Başarılıysa:
    [
        {
            "id": 27,
            "name": "Deneme",
            "surname": "Hesap",
            "mail": "a@a.a",
            "username": "deneme",
            "password": "e17b825b10d3843788c36995620786c5"
        }
    ]
    Üstte istediğim hale nasıl getirebilirim? Bir türlü beceremedim
  • 26-04-2021, 12:51:44
    #2
    Merhaba db'den gelecek verileri değiştirmeyi unutmayın ben rastgele veriler girdim sanırım istediğiniz bu şekilde. Başarılıysa kısmı için yaptım diğerini siz buradan çıkarıp yapabilirsiniz diye düşündüm.
    <?php
    
    $array = array(
        array("status" => "1", "response" => "Giriş başarılı."),
        array("id" => 1, "name" => "Name1", "surname" => "Surname1", "mail" => "Mail1", "username" => "Username1", "password" => "Password1")
    );
    echo "<pre>";
    print(json_encode($array));
    ?>
    Çıktı
    [
      {
        "status": "1",
        "response": "Giriş başarılı."
      },
      {
        "id": 1,
        "name": "Name1",
        "surname": "Surname1",
        "mail": "Mail1",
        "username": "Username1",
        "password": "Password1"
      }
    ]
  • 26-04-2021, 12:54:29
    #3
    <?php
    $basarili = json_encode([["status" => "1", "response" => "Giriş başarılı."], ["id" => 27, "name" => "Deneme", "surname" => "Hesap", "mail" => "a@a.a", "username" => "deneme", "password" => "ass"]]);
    print_r($basarili);
    ?>
  • 26-04-2021, 13:16:18
    #4
    Teşekkürler fakat söyledikleriniz manuel yapmak için, aşağıdaki şekilde halletmeyi başardım. Belki ihtiyacı olan olur diye paylaşıyorum:

      public function store(Request $request)
      {
        $response = array();
        if (empty($request->mail)) {
          $response = array('status' => '0', 'response' => 'E-Mail alanı boş bırakılamaz.');
        }else if(empty($request->password)) {
          $response = array('status' => '0', 'response' => 'Şifre alanı boş bırakılamaz.');
        }else{
          $response_user = DB::table("users")
            ->where('mail', $request->mail)
            ->where('password', $request->password)
            ->get();
            if (empty($response_user[0])) {
              $response = array(array('status' => '0', 'response' => 'E-Mail veya şifre hatalı.'));
            }else{
              array_push($response, array('status' => '1', 'response' => 'Giriş başarılı'));
              $response_user = json_encode($response_user, true);
              $response_user = ltrim($response_user, '[');
              $response_user = rtrim($response_user, ']');
              $response_user = json_decode($response_user);
              array_push($response, $response_user);
            }
        }
        return response()->json($response);
      }
    Ruxy adlı üyeden alıntı: mesajı görüntüle
    <?php

    $basarili = json_encode([["status" => "1", "response" => "Giriş başarılı."], ["id" => 27, "name" => "Deneme", "surname" => "Hesap", "mail" => "a@a.a", "username" => "deneme", "password" => "ass"]]);
    print_r($basarili);
    ?>
    YuqseLX adlı üyeden alıntı: mesajı görüntüle
    Merhaba db'den gelecek verileri değiştirmeyi unutmayın ben rastgele veriler girdim sanırım istediğiniz bu şekilde. Başarılıysa kısmı için yaptım diğerini siz buradan çıkarıp yapabilirsiniz diye düşündüm.
    <?php
    
    $array = array(
        array("status" => "1", "response" => "Giriş başarılı."),
        array("id" => 1, "name" => "Name1", "surname" => "Surname1", "mail" => "Mail1", "username" => "Username1", "password" => "Password1")
    );
    echo "<pre>";
    print(json_encode($array));
    ?>
    Çıktı
    [
      {
        "status": "1",
        "response": "Giriş başarılı."
      },
      {
        "id": 1,
        "name": "Name1",
        "surname": "Surname1",
        "mail": "Mail1",
        "username": "Username1",
        "password": "Password1"
      }
    ]