2017-07-28 2 views
1

Ich versuche, Anmeldeinformationen für die authentifizierte Benutzeranmeldung in nativen Antworten abzurufen. Aber es funktioniert nicht. Ich bin neu, um nativ zu reagieren, also kann jeder sagen, was ich falsch mache.Abrufen von JSON-Daten für die authentifizierte Benutzeranmeldung

Index.js

onPressLogin() 
{ 
    this.setState({ 
     isLoading: true, 
     error: '', 
    }); 
    dismissKeyboard(); 
    fetch('http://10.0.2.2/movies/signup.php' ,{ 
     method: 'GET', 
     headers: { 
      'Accept' : 'application/json' , 
      'Content-Type': 'application/json' 
     }, 
     body : JSON.stringify({ 
      contact : this.state.contact, 
      password: this.state.password 
     }) 
    }).then((response) => 
    { 
     return response.json(); 
    }).then((response) => { 
     if(response.json){ 
     const routeStack = this.props.navigator.getCurrentRoutes(); 
     this.props.navigator.jumpTo(routeStack[3]); 
     AsyncStorage.multiSet([ 
     [ 'contact' , response.contact], 
     ]); 
     } else { 
      alert("Invalid login"); 
     } 
    }); 
} 

ich PHP als Backend verwenden.

Signup.php

<?php 
include 'db.php'; 
$check_json = file_get_contents('php://input'); 
echo $obj1=json_decode($check_json); 
$contact=$obj1 ->{"contact"}; 
$pass=$obj1 ->{"password"}; 
$prep = $mysqli->prepare("select contact,password from signup where 
contact=? and password=?"); 
$prep->bind_param("ss",$contact,$pass); 
$prep->execute(); 
echo $result1=$prep->get_result(); 
$count= $result1->num_rows(); 
    if($count>0){   
     echo '1'; 
    } 
    else{ 
     echo'0'; 
    } 
?> 
+1

ändern 'Methode: 'GET'' zu' Methode:' POST''? – Val

+0

** Speichern Sie Passwörter niemals im Klartext! **. Nur Passwort-Hashes speichern! Verwenden Sie PHPs ['password_hash()'] (http://php.net/manual/en/function.password-hash.php) und ['password_verify()'] (http://php.net/manual/en /funktion.password-verify.php). Wenn Sie eine PHP-Version niedriger als 5.5 verwenden (was ich hoffentlich nicht hoffe), können Sie die [password_compat library] (https://github.com/ircmaxell/password_compat) verwenden, um die gleiche Funktionalität zu erhalten. –

Antwort

0

Es gibt keine json Daten über http://10.0.2.2/movies/signup.php..Encode Ihre Daten in json.You können auch axios zum Abrufen des json versuchen Daten.Wenn Sie kodierten lokalen Server dann zeigen die json verwenden Ausgabe bitte.

Verwandte Themen