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???
    评论

报告相同问题?

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器