dot_0620 2015-01-21 17:02 采纳率: 100%
浏览 127

Bootstrap表单不会将数据发布到phpmyadmin数据库中

My bootstrap form won't post data into the phpmyadmin database, i click submit and nothing is submitted, i have included the configuration file and my form file. The configuration file works with the registration form, so i'm thinking it is to do with my forms. My website is run on hostinger, at www.grademanager.16mb.com . No error messages pop up, when you press submit the page reloads.

UPDATE : I have changed the sql statement to a pdo statement, but it will only insert the first two statements, the student name and first subject into my php my admin database. It won't insert the other two statements.

Also how do i make sure it only goes to thte thanks.html file if the data has been submitted successfully ?

<?php
ob_start();
session_start();

//set timezone
date_default_timezone_set('Europe/London');

//database credentials
define('DBHOST','mysql.hostinger.co.uk');
define('DBUSER','u717042829_mac');
define('DBPASS','********');
define('DBNAME','u717042829_db1');

//application address
define('DIR','http://grademanager.16mb.com/');
define('SITEEMAIL','noreply@grademanager.comlu.com');

try {

    //create PDO connection 
    $db = new PDO("mysql:host=".DBHOST.";port=3306;dbname=".DBNAME, DBUSER, DBPASS);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {
    //show error
    echo '<p class="bg-danger">'.$e->getMessage().'</p>';
    exit;
}

//include the user class, pass in the database connection
include('classes/user.php');
$user = new User($db); 
?>

<?php 
error_reporting(E_ALL); ini_set('display_errors', 1);
require("includes/config.php");
//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: login.php'); } 

//define page title
$title = 'Register Past Student';

?>
<html>
 
<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Past Student</title>

    <!-- Bootstrap Core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

  


    <!-- Custom Fonts -->
    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

</head>


<form class="form-horizontal" method="post" action= "">

<fieldset>




<!-- Form Name -->
<legend> <a href= "memberpage.php"> Register A Past Student </a> </legend>




<!-- Text input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="name">Student Name</label>  
  <div class="col-md-4">
  <input id="name" name="name" type="text" placeholder="First and Last Name" class="form-control input-md" required="">
    
  </div>
</div>

  <div class="form-group">  
  <label class="col-md-4 control-label" for="subject1">Subject 1</label>
  <div class="col-md-4">
    <select id="subject1" name="subject1" class="form-control">
      <option value="Chemistry">Chemistry</option>
      <option value="Computing">Computing</option>
      <option value="Economics">Economics</option>
      <option value="Further Maths">Further Maths</option>
      <option value="Physics">Physics</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="grade1">Grade 1</label>
  <div class="col-md-4">
    <select id="grade1" name="grade1" class="form-control">
      <option value="A">A</option>
      <option value="B">B</option>
      <option value="C">C</option>
      <option value="D">D</option>
      <option value="E">E</option>
      <option value="U">U</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="subject2">Subject 2</label>
  <div class="col-md-4">
    <select id="subject2" name="subject2" class="form-control">
      <option value="Chemistry">Chemistry</option>
      <option value="Computing">Computing</option>
      <option value="Economics">Economics</option>
      <option value="Further Maths">Further Maths</option>
      <option value="Physics">Physics</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="grade2">Grade 2</label>
  <div class="col-md-4">
    <select id="grade2" name="grade2" class="form-control">
      <option value="A">A</option>
      <option value="B">B</option>
      <option value="C">C</option>
      <option value="D">D</option>
      <option value="E">E</option>
      <option value="U">U</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="subject3">Subject 3</label>
  <div class="col-md-4">
    <select id="subject3" name="subject3" class="form-control">
      <option value="Chemistry">Chemistry</option>
      <option value="Computing">Computing</option>
      <option value="Economics">Economics</option>
      <option value="Further Maths">Further Maths</option>
      <option value="Physics">Physics</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="grade3">Grade 3</label>
  <div class="col-md-4">
    <select id="grade3" name="grade3" class="form-control">
      <option value="A">A</option>
      <option value="B">B</option>
      <option value="C">C</option>
      <option value="D">D</option>
      <option value="E">E</option>
      <option value="U">U</option>
    </select>
  </div>
</div>

<!-- Select Basic -->
<div class="form-group">
  <label class="col-md-4 control-label" for="subject4">Subject 4</label>
  <div class="col-md-4">
    <select id="subject3" name="subject4" class="form-control">
      <option value="Chemistry">Chemistry</option>
      <option value="Computing">Computing</option>
      <option value="Economics">Economics</option>
      <option value="Further Maths">Further Maths</option>
      <option value="Physics">Physics</option>
    </select>
  </div>
</div>


<div class="form-group">
  <label class="col-md-4 control-label" for="grade4">Grade 4</label>
  <div class="col-md-4">
    <select id="grade1" name="grade4" class="form-control">
      <option value="A">A</option>
      <option value="B">B</option>
      <option value="C">C</option>
      <option value="D">D</option>
      <option value="E">E</option>
      <option value="U">U</option>
    </select>
  </div>
</div>

<!-- Multiple Radios (inline) -->
<div class="form-group">
  <label class="col-md-4 control-label" for="attendanc">Attendance %</label>
  <div class="col-md-4"> 
    <label class="radio-inline" for="attendanc-0">
      <input type="radio" name="attendanc" id="attendanc-0" value="99-100" checked="checked">
      99-100
    </label> 
    <label class="radio-inline" for="attendanc-1">
      <input type="radio" name="attendanc" id="attendanc-1" value="97-98">
      97-98
    </label> 
    <label class="radio-inline" for="attendanc-2">
      <input type="radio" name="attendanc" id="attendanc-2" value="95-96">
      95-96
    </label> 
    <label class="radio-inline" for="attendanc-3">
      <input type="radio" name="attendanc" id="attendanc-3" value="">
      93-94
    </label> 
    <label class="radio-inline" for="attendanc-4">
      <input type="radio" name="attendanc" id="attendanc-4" value="">
      91-92
    </label> 
    <label class="radio-inline" for="attendanc-5">
      <input type="radio" name="attendanc" id="attendanc-5" value="">
      90 or less
    </label>
  </div>
</div>

<!-- Multiple Radios -->
<div class="form-group">
  <label class="col-md-4 control-label" for="gender">Gender</label>
  <div class="col-md-4">
  <div class="radio">
    <label for="gender-0">
      <input type="radio" name="gender" id="gender-0" value="Male" checked="checked">
      Male
    </label>
  </div>
  <div class="radio">
    <label for="gender-1">
      <input type="radio" name="gender" id="gender-1" value="Female">
      Female
    </label>
  </div>
  </div>
</div>

<!-- Button -->
<div class="form-group">
  <label class="col-md-4 control-label" id="submit">Click Submit</label>
  <div class="col-md-4">
    <button id="singlebutton" type="submit" name="submit" class="btn btn-success">Submit</button>
  </div>
</div>

</fieldset>
</form>


<?php 
//require("includes/config.php");


if (isset($_POST['name'])) { //checks if the name has posted value then inserts the data
      $name     = $_POST['name'];
      $subject1 = $_POST['subject1'];
      $grade1   = $_POST['grade1']; 
      $subject2 = $_POST['grade2'];
      $q        = "INSERT INTO paststudent (name, subject1,grade1,subject2) VALUES (:name, :subject1,:grade1,:subject2);"; //sql statement add a colon intead of variables so pdo can prepare the statement and prevent any sql injections 
      $query    = $db ->prepare ($q);
      $results  = $query ->execute (array(  

                ":name" => $name,  //points to the variable 
                ":subject1" => $subject1,
                ":grade1"   => $grade1,
                ":subject2" => $subject2

                



      )); 


              header ('location:thanks.html');

            }


  
?>

</html>

</div>
  • 写回答

3条回答 默认 最新

  • du9757 2015-01-21 17:09
    关注

    Error 1:

    You missed type="submit"

     <button id="singlebutton"  type="submit" name="submit" class="btn btn-success">Submit</button
    

    Error 2:

    You are mixing all the mysql,mysqli and PDO extensions. Thats why you are not able to insert into db.

    In connection file, You have used PDO. And while inserting, You wrote mysqli but your syntax seems to be for mysql.

    Error 3:

    Your insert query syntax is incorrect.

    $sql = "INSERT INTO paststudent (name,subject1,grade,subject2,grade2,subject2,grade2,subject3,grade3,subject4,grade4,attendance,gender) VALUES ('$_POST[name]','$_POST[subject1]','$_POST[grade1]','$_POST[subject2]','$_POST[grade2]','$_POST[subject3]','$_POST[grade3]','$_POST[subject4]','$_POST[grade4]','$_POST[attendance]','$_POST[gender]')";
    
    • You have given 13 coumns and 11 values ...???
    • Why do you insert the values as is ..???
    • Why dont you sanitize it???
    • Are you aware of mysql_injections???
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!