【发布时间】:2014-12-14 06:02:07
【问题描述】:
我正在构建一个 Web 应用程序,用户可以在其中创建新项目。
我已经处理了几天,我完全被难住了!
我有一个“新建项目”按钮,当您单击它时,它会调用一个 newProject 函数(并传递新项目所在文件夹的 ID。但这并不重要。)
这就是那个 javascript 函数的样子。
function newProject(parentFolder) {
//this is here because the data type stored in the database is varchar and if the value is 'none' then there the project being created will bi in no folder.
if(parentFolder != 'none') { //convert to nonstring
var PF = parentFolder;
}else {
var PF = 'none';
}
//create the new project
$.post('../../php/new_project.php', { parentFolder: PF, name: 'New Project' }, function(data) {
alert(data);
});
}
new_project.php文件连接正常,所有变量都通过。
这里是 new_project.php 文件
session_start();
if(isset($_SESSION['username'])){
$username = $_SESSION['username'];
if(isset($_SESSION['name'])){
$name = $_SESSION['name'];
}
}
if(isset($_POST['name'])) {
$parentFolder = $_POST['parentFolder'];
$name = $_POST['name'];
$date = date('Y/m/d');
$openId;
for ($i=0;$i<10;++$i)
$openId.= ($r=mt_rand(0,35))<26?chr(ord('a')+$r):chr(ord('0')+$r-26);
$conn = new PDO('mysql:host=localhost;dbname=projects', "******", "*******");
$sql = "INSERT INTO projects (id, ProjectName, creatorOfProject, public, lastEdited, openId, deleted, parentfolder, favorite) VALUES (:id, :ProjectName, :creatorOfProject, :public, :lastEdited, :openId, :deleted, :parentfolder, :favorite)";
$query = $conn -> prepare($sql);
$query -> execute(array(
":id" => '',
":ProjectName" => $name,
":creatorOfProject" => $username,
":puclic" => '',
":lastEdited" => $date,
":openId" => $openId,
":deleted" => '',
":parentfolder" => $parentFolder,
":favorite" => ''
));
}else {
echo 'something went wront';
}
因为我正在警告从该文件传递的数据,所以它只会弹出一个空白警告框。 也没有javascript错误。
【问题讨论】:
-
:public和":puclic"- 未设置错误异常,因此您不会收到通知。setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)- 不要使用这个echo 'something went wront';- 使用 try/catch。
标签: javascript php jquery mysql pdo