函数在PHP脚本中无法正常工作

时间:2015-11-22 04:31:02

标签: php html mysql function

我是否正确地将值传递给我的函数?我已经尝试了几个小时的研究,最后求助于SO。在我将它变成函数之前,代码执行正常,所以我觉得它必须与我如何传递参数有关。我包含了我的所有代码,我的函数以及未执行的函数的第一个实例。在此先感谢您的帮助。

这是我的代码:



 exports.index = function (req, res) {

    function username() {
        return new Promise(function (resolve, reject) {
            user.where('id', req.id).fetch().then(function (data) {
                data = data.toJSON();
                resolve(data);
            });
        });
    }

    function post() {
        return new Promise(function (resolve, reject) {
            post.where('id', req.params.postId).fetch().then(function (data) {
                data = data.toJSON();
                resolve(data);
            });
        });
    }

    username().then(function (b) {

        post().then(function (a) {

            res.render('backend/index', {
                post: a.post,
                username: b.username
            });
        });

    });
};




这是功能:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Input Form - Research Ranker</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
   <script>
  $(function() {
    $( "#article_name" ).autocomplete({
      source: 'articlesearch.php'
    });
  });
  </script> 
  <script>
  $(function() {
    $( "#author1_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author2_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author3_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author4_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author5_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author6_name" ).autocomplete({
      source: 'authorsearch.php'
    });
  });
  </script> 
   <script>
  $(function() {
    $( "#author1_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
  <script>
  $(function() {
    $( "#author2_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
  <script>
  $(function() {
    $( "#author3_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
  <script>
  $(function() {
    $( "#author4_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
  <script>
  $(function() {
    $( "#author5_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
  <script>
  $(function() {
    $( "#author6_university" ).autocomplete({
      source: 'universitysearch.php'
    });
  });
  </script>
</head>
<body>



<?PHP
 
if(!isset($_POST['submit'])){
    print '
	<div class="container-fluid ui-widget">


	<form class="form-horizontal" method="post" action="test.php" onsubmit="return confirm("Is all of your data correct?");">
	<fieldset>

	<!-- Article Input -->
	<legend>Article Input</legend>

	<!-- Journal Radio Buttons (value is journal ISSN)-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="journal_radio">Journal</label>
	  <div class="col-md-4">
	  <div class="radio">
		<label for="journal_radio-0">
		  <input type="radio" name="journal_radio" id="journal_radio-0" value="2162-9730" checked="checked">
		  MIS Quarterly
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-1">
		  <input type="radio" name="journal_radio" id="journal_radio-1" value="1047-7047">
		  Information Systems Research
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-2">
		  <input type="radio" name="journal_radio" id="journal_radio-2" value="0742-1222">
		  Journal of Management Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-3">
		  <input type="radio" name="journal_radio" id="journal_radio-3" value="1536-9323">
		  Journal of the Association for Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-4">
		  <input type="radio" name="journal_radio" id="journal_radio-4" value="1476-9344">
		  European Journal of Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-5">
		  <input type="radio" name="journal_radio" id="journal_radio-5" value="1365-2575">
		  Information Systems Journal
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-6">
		  <input type="radio" name="journal_radio" id="journal_radio-6" value="0963-8687">
		  Journal of Strategic Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-7">
		  <input type="radio" name="journal_radio" id="journal_radio-7" value="0268-3962">
		  Journal of Information Technology
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-8">
		  <input type="radio" name="journal_radio" id="journal_radio-8" value="0167-9236">
		  Decision Support Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-9">
		  <input type="radio" name="journal_radio" id="journal_radio-9" value="0378-7206">
		  Information and Management
		</label>
	  </div>
	  </div>
	</div>

	<!-- Article Name Input-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="article_name">Article Name:</label>  
	  <div class="col-md-5">
	  <input id="article_name" name="article_name" type="text" placeholder="Article Name" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 1-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author1_name">Author 1:</label>  
	  <div class="col-md-4">
	  <input id="author1_name" name="author1_name" type="text" placeholder="Author Name" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 1 University -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author1_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author1_university" name="author1_university" type="text" placeholder="Author University" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 2-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author2_name">Author 2:</label>  
	  <div class="col-md-4">
	  <input id="author2_name" name="author2_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 2 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author2_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author2_university" name="author2_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 3-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author3_name">Author 3:</label>  
	  <div class="col-md-4">
	  <input id="author3_name" name="author3_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 3 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author3_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author3_university" name="author3_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 4-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author4_name">Author 4: </label>  
	  <div class="col-md-4">
	  <input id="author4_name" name="author4_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 4 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author4_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author4_university" name="author4_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 5-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author5_name">Author 5:</label>  
	  <div class="col-md-4">
	  <input id="author5_name" name="author5_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 5 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author5_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author5_university" name="author5_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 6-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author6_name">Author 6:</label>  
	  <div class="col-md-4">
	  <input id="author6_name" name="author6_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 6 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author6_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author6_university" name="author6_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Select Year Published -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="year">Year Published</label>
	  <div class="col-md-4">
		<select id="year" name="year" class="form-control">
		  <option value="2010">2010</option>
		  <option value="2011">2011</option>
		  <option value="2012">2012</option>
		  <option value="2013">2013</option>
		  <option value="2014">2014</option>
		  <option value="2015">2015</option>
		</select>
	  </div>
	</div>

	<!-- Is Security Checkbox -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="is_security"></label>
	  <div class="col-md-4">
		<label class="checkbox-inline" for="is_security-0">
		  <input type="checkbox" name="is_security" id="is_security" value="1">
		  Security Related
		</label>
	  </div>
	</div>

	<!-- Submit Form Button -->
	<div class="form-group">
	  <div class="col-md-4 control-label">
		<button id="submit" name="submit" class="btn btn-primary">Submit</button>
	  </div>
	</div>

	</fieldset>
	</form>


	</div>';
	
	} else {
		
		$dbHost = "localhost";
		$dbUsername = "user_rw";
		$dbPassword = "";
		$dbName = "webdb";

		// Create connection
		$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
		// Check connection
		if ($db->connect_error) {
		die("Connection failed: " . $db->connect_error);
		} else {
		// Post PHP variables
		$journal = $_POST['journal_radio'];
		$article_name = $_POST['article_name'];
		$author1 = $_POST['author1_name'];
		$author1uni = $_POST['author1_university'];
		$author2 = $_POST['author2_name'];
		$author2uni = $_POST['author2_university'];
		$author3 = $_POST['author3_name'];
		$author3uni = $_POST['author3_university'];
		$author4 = $_POST['author4_name'];
		$author4uni = $_POST['author4_university'];
		$author5 = $_POST['author5_name'];
		$author5uni = $_POST['author5_university'];
		$author6 = $_POST['author6_name'];
		$author6uni = $_POST['author6_university'];
		$year = $_POST['year'];
		$security = $_POST['is_security'];
		function authorinfoinsert($author, $number, $authoruni, $articleid){
				//check if Author already exists
				$authorquery = $db->query("SELECT Author_Name FROM Authors WHERE Author_Name = '$author'");
				if($authorquery->num_rows != 0) {
				   echo '<a href=""> New Input </a>';
				   echo 'Author ' . $number . ' - ' . $author . ' - already present';
			
				} else {
					//insert author if doesnt exist
					$authorinsert = "INSERT INTO Authors (Author_Name) VALUES ('$author')";
				
					if ($db->query($authorinsert) === TRUE) {
					echo 'Author ' . $number . ' - ' . $author . ' - created successfully';
					} else {
					echo 'Error: ' . $authorinsert . "<br>" . $db->error;
					}
				  }
				// store Author Author_ID value
				$authorid = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");
				
				//check if Author University exists
				$authoruniquery = $db->query("SELECT University_Name FROM University WHERE University_Name = '$authoruni'");
				if($authoruniquery->num_rows != 0) {
				   echo '<a href=""> New Input </a>';
				   echo 'Author ' . $number . ' University already present';
			
				} else {
				
					$uniinsert = "INSERT INTO University (University_Name) VALUES ('$authoruni')";
				
					if ($db->query($uniinsert) === TRUE) {
					echo 'Author ' . $number . ' University - ' . $authoruni . ' - created successfully';
					} else {
					echo 'Error: ' . $uniinsert . "<br>" . $db->error;
					}
				  }
				
				// store Author University_ID value
				$authoruniid = $db->query("SELECT University_ID FROM University WHERE University_Name = '$authoruni'");
				
				//Enter Author/Article in Articles_Authored
				$authoredquery = $db->query("SELECT Author_ID, Article_ID FROM Articles_Authored WHERE Author_ID = '$authorid' AND Article_ID ='$article'");
				if($authoredquery->num_rows != 0) {
				   echo '<a href=""> New Input </a>';
				   echo 'Article Authored entry for Author ' . $number . ' - ' . $author . ' - already present';
			
				} else {
				$articlesauthoredinsert = "INSERT INTO Articles_Authored (Article_ID, Author_ID, Name_Authored_As) VALUES ('$articleid','$authorid','$author')";
				
					if ($db->query($articlesauthoredinsert) === TRUE) {
					echo 'Article Authored - Author ' . $number . ' - created successfully';
					} else {
					echo 'Error: ' . $articlesauthoredinsert . "<br>" . $db->error;
					}
				}
				
				//Enter Author University instance in Author_University
				$authoruniinsert = "INSERT INTO Author_University (Article_ID, Author_ID, University_ID) VALUES ('$articleid','$authorid','$authoruniid')";
				
					if ($db->query($authoruniinsert) === TRUE) {
					echo 'University for Author ' . $number  . ' created successfully';
					} else {
					echo 'Error: ' . $authoruniinsert . "<br>" . $db->error;
					}
				}

				
				
		  //check if article exist
		  $articlequery = $db->query("SELECT Article_Title, ISSN FROM Articles WHERE Article_Title = '$article_name' AND ISSN = '$journal'");
		  if($articlequery->num_rows != 0) {
			   echo '<a href=""> New Input </a>';
			   echo "<script type= 'text/javascript'>alert('Article Already Present');</script>";
		
		  } else {

				//insert article if doesn't exist	
				$articleinsert = "INSERT INTO Articles (ISSN, Year_Published, Is_Security, Article_Title)
				VALUES ('$journal','$year','$security','$article_name')";

					if ($db->query($articleinsert) === TRUE) {
					echo 'New Article - ' . $article_name . ' - created successfully';
					} else {
					echo 'Error: ' . $articleinsert . "<br>" . $db->error;
					}
				// store Article_ID value
				$articleid = $db->query("SELECT Article_ID FROM Articles WHERE Article_Title = '$journal' AND ISSN = '$journal'");
				
				//insert author 1 info
				authorinfoinsert($author1, "1", $author1uni, $articleid);
				//check if Author 2 has input
				if (isset($author2)){
					authorinfoinsert($author2, 2, $author2uni, $articleid);				
				}
				
				//check if Author 3 has input
				if (isset($author3)){
					authorinfoinsert($author3, 3, $author3uni, $articleid);			
				}
				//check if Author 4 has input
				if (isset($author4)){
					authorinfoinsert($author4, 4, $author4uni, $articleid);			
				}
				
				//check if Author 5 has input
				if (isset($author5)){
					authorinfoinsert($author5, 5, $author5uni, $articleid);			
				}

				//check if Author 6 has input
				if (isset($author6)){
					authorinfoinsert($author6, 6, $author6uni, $articleid);			
				} else{
					
					$db->close();
					
				}
			}
		}
	}
?>


</body>
</html>

这是第一个没有执行的函数实例:

function authorinfoinsert($author, $number, $authoruni, $articleid){
            //check if Author already exists
            $authorquery = $db->query("SELECT Author_Name FROM Authors WHERE Author_Name = '$author'");
            if($authorquery->num_rows != 0) {
               echo '<a href=""> New Input </a>';
               echo 'Author ' . $number . ' - ' . $author . ' - already present';

            } else {
                //insert author if doesnt exist
                $authorinsert = "INSERT INTO Authors (Author_Name) VALUES ('$author')";

                if ($db->query($authorinsert) === TRUE) {
                echo 'Author ' . $number . ' - ' . $author . ' - created successfully';
                } else {
                echo 'Error: ' . $authorinsert . "<br>" . $db->error;
                }
              }
            // store Author Author_ID value
            $authorid = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");

            //check if Author University exists
            $authoruniquery = $db->query("SELECT University_Name FROM University WHERE University_Name = '$authoruni'");
            if($authoruniquery->num_rows != 0) {
               echo '<a href=""> New Input </a>';
               echo 'Author ' . $number . ' University already present';

            } else {

                $uniinsert = "INSERT INTO University (University_Name) VALUES ('$authoruni')";

                if ($db->query($uniinsert) === TRUE) {
                echo 'Author ' . $number . ' University - ' . $authoruni . ' - created successfully';
                } else {
                echo 'Error: ' . $uniinsert . "<br>" . $db->error;
                }
              }

            // store Author University_ID value
            $authoruniid = $db->query("SELECT University_ID FROM University WHERE University_Name = '$authoruni'");

            //Enter Author/Article in Articles_Authored
            $authoredquery = $db->query("SELECT Author_ID, Article_ID FROM Articles_Authored WHERE Author_ID = '$authorid' AND Article_ID ='$article'");
            if($authoredquery->num_rows != 0) {
               echo '<a href=""> New Input </a>';
               echo 'Article Authored entry for Author ' . $number . ' - ' . $author . ' - already present';

            } else {
            $articlesauthoredinsert = "INSERT INTO Articles_Authored (Article_ID, Author_ID, Name_Authored_As) VALUES ('$articleid','$authorid','$author')";

                if ($db->query($articlesauthoredinsert) === TRUE) {
                echo 'Article Authored - Author ' . $number . ' - created successfully';
                } else {
                echo 'Error: ' . $articlesauthoredinsert . "<br>" . $db->error;
                }
            }

            //Enter Author University instance in Author_University
            $authoruniinsert = "INSERT INTO Author_University (Article_ID, Author_ID, University_ID) VALUES ('$articleid','$authorid','$authoruniid')";

                if ($db->query($authoruniinsert) === TRUE) {
                echo 'University for Author ' . $number  . ' created successfully';
                } else {
                echo 'Error: ' . $authoruniinsert . "<br>" . $db->error;
                }
            }

0 个答案:

没有答案