2014-02-06 2 views
0

Мое соединение db верно, я могу выбирать и эхо из строк моей таблицы. Однако мои данные формы не обновляют мою базу данных. Я пытаюсь отправить форму на той же странице, поэтому я оставил действие пустым. Вот мой PHP:Данные формы отправляются, но не входят в mySQL

<?php 
if (isset($_POST['submit'])) { 

    $con=mysqli_connect("localhost","hey","password!","dbname"); 
    $sql="INSERT INTO StudentList (StudentNum, LastName, FirstName, Address, City, State, Zip, Balance, FirstTermAttended) 
    VALUES('$_POST[inputID]','$_POST[inputLast]','$_POST[inputFirst]','$_POST[inputAddress]','$_POST[inputCity]','$_POST[inputState]','$_POST[inputZip]','$_POST[inputBalance]','$_POST[inputTerm]')"; 
    echo "It worked"; 
} 
?> 

и здесь моя форма:

<form class="form-horizontal" role="form" method="post" action=""> 
       <div class="form-group"> 

        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputID" placeholder="Student ID Number"> 
        </div> 
       </div> 


       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputLast" placeholder="Last Name"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputFirst" placeholder="First Name"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputAddress" placeholder="Street Address"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputCity" placeholder="City"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputState" placeholder="State"> 
        </div> 
       </div> 

        <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputZip" placeholder="Zip"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputBalance" placeholder="Current Balance"> 
        </div> 
       </div> 

       <div class="form-group"> 
        <div class="col-sm-offset-1 col-sm-10"> 
         <input type="text" class="form-control" id="inputTerm" placeholder="First Term Attended"> 
        </div> 
       </div> 

        <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      <input type="submit" value="Save Student Information" id="submit" name="submit" class="btn btn-primary"> 
     </div> 


      </form> 

У меня также есть это в моем заголовке, это могло быть завинчивания вещи?

<?php 
// Create connection 
$con=mysqli_connect("localhost","hey","password!","dbname"); 

// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 
+1

Вам не хватает mysqli_query() '? Также, пожалуйста, дезинфицируйте значения, которые вы получаете от '$ _POST' –

+1

Единственный именованный вход у вас есть кнопка отправки. –

+0

[** Как я могу предотвратить SQL-инъекцию в PHP? **] (http://stackoverflow.com/q/60174/1415724) <Это сообщение/ключ. ;-) –

ответ

0

Для полей <input> требуются атрибуты «имя». Это имена, которые используются в теле POST, а не идентификаторы! Вы также должны посмотреть на prepared statements - вы готовы к инъекции на данный момент. Кроме того, похоже, что вы на самом деле не , выполнив запросы. Прочтите, что я свяжую - это тоже показывает исполнение!

0

изменить идентификатор = «имя» в имя = «имя» в <input id="">

0

Вы только написали запрос. Вы должны выполнить запрос с помощью «mysqli_query».

Также укажите атрибут «имя» для элементов ввода. так что вы можете оценить их в $ _POST.

Смежные вопросы