我有相当奇怪的问题。我没有收到错误,控制台消息,所以一切都以200状态返回。
使用Slim框架将数据发布到我的数据库中。当我通过urli访问已经存在的数据时,一切都在那里,所以它工作正常,但它不会将它发布到MySQL。然而,它确实将输入的数据输入ULR。有人可以指出变化或我要去哪里吗?
PS。密码不被哈希,不要惊慌这不是一个实时项目。
Index.php片段:
>
> <form class="form-horizontal" name="register_form" data-toggle="validator" role="form">
>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-user" aria-hidden="true"></i></span>
> <input class="form-control" type="text" id="fname" name="fname" placeholder="First Name">
> </div>
> </div></br>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-user" aria-hidden="true"></i></span>
> <input class="form-control" type="text" id="lname" name="lname" placeholder="Last Name">
> </div>
> </div></br>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-calendar" aria-hidden="true"></i></span>
> <input class="form-control" type="date" id="dob" name="dob" placeholder="Date of Birth DD/MM/YYYY">
> </div>
> </div></br>
>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-info-sign" aria-hidden="true"></i></span>
> <input class="form-control" type="text" id="school" name="school" placeholder="Enter School Name">
> </div>
> </div></br>
>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-pencil" aria-hidden="true"></i></span>
> <input class="form-control" type="text" id="username" name="username" placeholder="Choose Username">
> </div>
> </div></br>
>
> <div class="form-group">
> <div class="input-group margin-bottom-sm">
> <span class="input-group-addon"><i class="glyphicon glyphicon-lock" aria-hidden="true"></i></span>
> <input class="form-control" type="password" id="pass" name="pass" placeholder="Choose Password">
> </div>
> </div></br>
>
> <div class="form-group">
> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
>
> <button id="register" class="btn btn-primary">Register</button>
> </div></br>
>
> </form>
PHP:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'Slim\Slim.php';
\Slim\Slim::registerAutoloader();
use Slim\Slim;
$app= new Slim();
$app->get('/users','getUsers');
$app->post('/users','addUser');
$app->run();
// Adding a user = for registration process
function addUser(){
$request = Slim::getInstance()->request();
$user = json_decode($request->getBody());
$sql = "INSERT INTO user(fname, lname, dob, school, username, pass) VALUES (:fname, :lname, :dob, :school, :username, :pass)";
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->bindParam("fname",$user->fname);
$stmt->bindParam("lname",$user->lname);
$stmt->bindParam("dob",$user->dob);
$stmt->bindParam("school",$user->school);
$stmt->bindParam("username",$user->username);
$stmt->bindParam("pass",$user->pass);
$stmt->execute();
$user->UserID=$db->lastInsertID();
$db = null;
responseJson(json_encode($user),201);
}catch(PDOException $e){
responseJson('{"error":{"text":'.$e->getMessage().'}}', 500);
}
}
JS:
$(document).ready(function(){
$("#register").click(function(){
var users=new users($("#fname").val(),
$("#lname").val(),
$("#dob").val(),
$("#school").val(),
$("#username").val(),
$("#pass").val());
$.ajax({
type:'POST',
dataType:"json",
url:"api.php/users",
data:JSON.stringify(users),
success: showResponse,
error: showError
});
});
});
function users(fname, lname, dob, school, username, pass){
this.fname=fname;
this.lname=lname;
this.dob=dob;
this.school=school;
this.username=username;
this.pass=pass;
}
function showResponse(responseData){
console.log(responseData);
}
function showError(){
alert("Sorry Kasia, but something went wrong. Fix it!")
}
答案 0 :(得分:0)
用户是一个函数而不是一个对象,我认为你最好放弃这个函数并在寄存器点击中内联它。
$(document).ready(function(){
$("#register").click(function(){
var users={};
users.fname=$("#fname").val();
users.lname=$("#lname").val();
users.dob=$("#dob").val();
users.school=$("#school").val();
users.username=$("#username").val();
users.pass=$("#pass").val();
$.ajax({
type:'POST',
dataType:"json",
url:"api.php/users",
data:JSON.stringify(users),
success: showResponse,
error: showError
});
});
});