问题描述
我对 PHP 很陌生,不知道如何继续,所以我真的希望有人能帮助我下一步做什么。我有一个成功的用户注册和登录系统,它连接到我的 swiftui 应用程序的不同视图和文本字段。例如,当用户在注册页面上输入详细信息时,这些详细信息将存储在我在 PHPMyAdmin 上使用 MysqL 创建的数据库中。登录页面也是如此,当用户登录时,它会检查数据库并让其进入个人资料页面。但是,现在,我不知道如何回显已登录到我的 Xcode 应用程序的用户名。我知道我需要包含一个 profile.PHP 文件,但我不知道如何开始。我使用的外键是“username”字段,它存在于我的数据库的两个表中:“users”和“profile”,这是我想要回显并显示在我的 Xcode 应用程序上的值。
-
connect.PHP
resultArray.forEach((result)=>{ console.log(result); let data: StockObject = result['data']; // <--Error is hereeee console.log("Date: " + data.date + " Close: " + data.close + " High: " + data.high + " Low: " + data.low + " Open: " + data.open + " Volume: " + data.volume ); }); } catch(error){ console.log("Error: " + JSON.stringify(error)); }
-
<?PHP // details to access the database define('dbuser','root'); define('dbpass','reallyStrongPwd123'); define('dbhost','localhost'); define('dbname','registration'); ?>
}
-
dboperations.PHP
<?PHP class databaseconnect { private $conn; // __contruct = will automatically call this function when you create an object from a class function __construct() { } // establish the database connection function connect() { // embed the PHP code from the connect.PHP file require_once 'connect.PHP'; // $this calls the object // connect to the database $this->conn = new MysqLi(dbhost,dbuser,dbpass,dbname); // check for connection error if (MysqLi_connect_errno()) { echo "Connection Failed " . MysqLi_connect_error(); } return $this->conn; }
-
signup.PHP
<?PHP class dboperation { private $conn; // __contruct = will automatically call this function when you create an object from a class function __construct() { // need to access other PHP files require_once 'connect.PHP'; require_once 'databaseconn.PHP' ; // open a new db connection $db = new databaseconnect(); $this->conn = $db->connect(); } // user login public function userlogin($username,$password) { $securepass = md5($password); $stmt = $this->conn->prepare("SELECT userid FROM users WHERE username = ? AND password = ?"); $stmt->bind_param("ss",$username,$securepass); $stmt->execute(); $stmt->store_result(); return $stmt->num_rows > 0; } // display details in an array public function displayuser($username) { $stmt = $this->conn->prepare("SELECT username,useremail FROM users WHERE username = ?"); $stmt->bind_param("s",$username); $stmt->execute(); $stmt->bind_result($username,$useremail); $stmt->fetch(); $user = array(); $user['username'] = $username; $user['useremail'] = $useremail; return $user; } // create a new user function public function newuser($userid,$password,$useremail) { echo $username; echo $useremail; echo $userid; $securepass = md5($password); $stmt = $this->conn->prepare("INSERT INTO users(userid,username,password,useremail) values (?,?,?)"); // binding parameters,data types $stmt->bind_param("isss",$userid,$securepass,$useremail); $result = $stmt->execute(); if($result === false){ echo $stmt->error; } $stmt->close(); if ($result) { return true; } else { return false; } } }
-
<?PHP //include the db operation file require_once 'dboperations.PHP' ; // create a response array $response = array(); // print_r($_SERVER); if($_SERVER['REQUEST_METHOD'] == 'GET'){ //something was posted,collect the data from the post variable $username = $_GET['username']; $password = $_GET['password']; $useremail = $_GET['useremail']; $userid = rand(000001,999999); // new object $db = new dboperation(); //insert the values if($db->newuser($userid,$useremail)){ $response['error']=false; $response['message']='account created'; }else{ $response['error']=true; $response['message']='account was not created'; } }else{ $response['error']=true; $response['message']='other'; } echo json_encode($response); ini_set('display_errors',1); ini_set('display_startup_errors',1); echo error_reporting(E_ALL);
<?PHP
//include the db operation file
require_once 'dboperations.PHP' ;
// create a response array
$response = array();
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
if (isset($_GET['username']) && isset($_GET['password'])) {
$db = new dboperation();
if ($db->userlogin($_GET['username'],$_GET['password'])) {
$response['error'] = false;
$response['message'] = 'successful login';
$response['user'] = $db->displayuser($_GET['username']);
} else {
$response['error'] = true;
$response['message'] = 'invalid username or password';
}
} else {
$response['error'] = true;
$response['message'] = 'parameters are missing';
}
} else {
$response['error'] = true;
$response['message'] = "Request not allowed";
}
echo json_encode($response);
} }
非常感谢您的帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)