在一页而不是两页中包含PHP代码

时间:2019-02-19 20:59:57

标签: php html

我的Web应用程序上有许多注册页面,并且有许多文本框,它们的形式将输入的值压入另一个将其写入数据库的php页面。它的代码看起来像这样

<form action = "submitEvent.php" method = "post"> 
  Event Name: <br> 
  <input type = "text" name = "eventname" > 
  <br>
  Event Type: <br> 
  <input type = "text" name = "eventtype" > 
  <br>
  Charity Number: <br> 
  <input type = "text" name = "charityid" > 
  <br>
  Contact Details: <br> 
  <input type = "text" name = "contactdetails" > 
  <br>
  Location: <br> 
  <input type = "text" name = "eventlocation" > 
  <br>
  Date : <br>
  <input type ="date" name ="eventdate">
  <br>
  <input type = "submit" value = "Submit"> 
</form> 

,然后SubmitEvent.php文件如下所示

<?php
$eventname = filter_input(INPUT_POST, 'eventname');
$eventtype = filter_input(INPUT_POST, 'eventtype');
$charitynumber = filter_input(INPUT_POST, 'charityid');
$contactdetails = filter_input(INPUT_POST, 'contactdetails');
$eventlocation = filter_input(INPUT_POST, 'eventlocation');
$eventdate = filter_input(INPUT_POST, 'eventdate');
$servername = "localhost"; 
$username = "root";
$password = "";
$dbname = "fyp";

//Create new connection 
$conn = new mysqli($servername, $username, $password, $dbname);

//Check connection 
if ($conn->connect_error) {
	die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$sql = "INSERT
    INTO event (eventname, eventtype, charityid, contactdetails, location, date) VALUES ('$eventname', '$eventtype', '$charitynumber', '$contactdetails', '$eventlocation', '$eventdate')";

if ($conn->query($sql) === TRUE) {
	echo "New record created succesfully";
} else {
	echo "Error: " . $sql . "<br>" . $conn->error;
  ?>

因为我有很多这样的页面,有没有更简单的方法?我可以将其放入一页吗?

3 个答案:

答案 0 :(得分:1)

是的,所有这些都可以放在一页中。您可以使用isset($ _ POST)来检查是否有可用数据,然后进行处理。 但是调制(具有单独的文件)使操作变得容易。当差异文件中包含php和html代码时,它有助于调试。

答案 1 :(得分:1)

您可以检查表单是否已提交并采取相应措施。

要检查是否已提交表单,可以检查是否设置了$_POST['Submit']

<?php 

if(isset($_POST['Submit'])){
  /* PHP code here */
}

?>
<!-- And point the form to submit to itself. -->

<form action="thisPage.php" method="post"> 
<!-- Rest of form here -->

答案 2 :(得分:0)

最基本的方法是在表单中添加一个隐藏字段,然后在表单页面上检查php中的内容。

HTML

<form action = "form_page.php" method = "post">
<input type="hidden" name="submitted" value="1">
.....
</form>

PHP:

<?php

if(isset($_POST["submitted"])){

/*PHP processing code goes here*/

}
?>