我的查询没有运行

时间:2015-12-04 09:20:12

标签: php

我在php项目中有一些看法。我通过HTML提交按钮调用方法,但该方法没有运行,我不明白为什么。该方法包含查询将2个文本上载到SQL数据库的内容。

这是我的方法:

public function uploadCtrl() {
    if(isset($_POST['send_note'])){
    $title =$_POST['title_of_note'];
    $text =$_POST['text_of_note'];
    $id = $_SESSION['user_logged_status'];

    var_dump($title, $text, $id);

    $database->noteToDatabase($title, $text, $id);
}

这是视图:

public function  uploadNote(){
?>
    <form action='' method='post'><br>
          Title:<input type='text' name='title_of_note'><br>
          Text:<input id='long_text' type='text' name='text_of_note'><br>
          <input type='submit' name='send' value='SEND'><br>
          <a href='?send_note'>Note save</a>
    </form>
<?}

和查询方法:

public function noteToDatabase($title, $text, $id){
    $stmt = $this->conn->query("INSERT INTO note (title, text,user_id) VALUES ('$title','$text','$id')");
    var_dump($stmt);
}

我在这里调用方法:

     if(isset($_POST['new_note'])){

            $ctrl = new note_ctrl();
            $ctrl->uploadNoteToDatabase();
           // $ctrl->uploadCtrl();  

        }

我使用Mozilla Firebug检查了post方法,它看起来没问题,但这个方法永远不会运行。

3 个答案:

答案 0 :(得分:0)

使用$_POST['send']代替$_POST['send_note']

public function uploadCtrl(){

          if(isset($_POST['send'])){

答案 1 :(得分:0)

如果你的方法属于一个班级。您可以尝试在视图中调用uploadCtrl()方法。

public function  uploadNote(){
if(isset($_POST['send'])){$this->uploadCtrl()}
?>
    <form action='' method='post'><br>
    Title:<input type='text' name='title_of_note'><br>
    Text:<input id='long_text' type='text' name='text_of_note'><br>
    <input type='submit' name='send' value='SEND'><br>
    <a href='?send_note'>Note save</a>
    </form>

<?
}

如果视图位于其他课程中,则需要将方法public function uploadCtrl(){设为静态,如public static function uploadCtrl(){,这样您就可以在note_ctrl::uploadCtrl()

视图中调用它

答案 2 :(得分:-1)

尝试在action标记

form参数中提及方法名称
form action="note_ctrl/uploadCtrl" method="post"

由于

您使用的是任何框架吗?