2016-12-18 7 views
0

Я бы хотел, чтобы эти значения вошли в мою базу данных, но это просто не будет.Почему мои данные не попадают в мою базу данных?

Форма Код

<form action='ryge.php' method='POST'> 
    <p> Navn: </p> <p><?php echo $_SESSION['first'] . " " . $_SESSION['last'] ?></p> <br> 
<input type='text' name='name' placeholder='dit navn'> <br> 
<input type='text' name='cig' placeholder='Navn på smøger'> <br> 
<input type='text' name='brand' placeholder='Navn på brandet af smøger?'> <br> 
<input type='text' name='unit' placeholder='Hvor mange enheder har du?'> <br> 
<input type='text' name='pris' placeholder='Pris pr smøg'> <br> 
<input type='text' name='lighter' placeholder='Har du lighter'> <br> 
<input type='text' name='place' placeholder='Lokation til rhyyge'> <br> 
<input type='text' name='tid' placeholder='Hvad tid passer dig bedst?'> <br> 
<input type='text' name='howlong' placeholder='Hvor langtid har du at rhyyge i?'> <br> 
<input type='text' name='day' placeholder='hvilke dag/dage'> <br> 
<input type='text' name='pers' placeholder='Alene eller i gruppe?'> <br> 
<button type='submit' name='tilføj' >Tilføj til dine præferencer broder</button> 
</form> 

PHP код

<?php 
session_start(); 
include 'dbh.php'; 

    $name = $_POST['name']; 
    $cig = $_POST['cig']; 
    $brand = $_POST['brand']; 
    $unit = $_POST['unit']; 
    $pris = $_POST['pris']; 
    $ligther = $_POST['ligther']; 
    $place = $_POST['place']; 
    $tid = $_POST['tid']; 
    $howlong = $_POST['howlong']; 
    $day = $_POST['day']; 
    $pers = $_POST['pers']; 

    $sql = "INSERT INTO prod (name, cig, brand, unit, pris, lighter, place, tid, howlong, day, pers) 
      VALUES ('$name', '$cig', '$brand', '$unit', '$pris', '$ligther', '$place', '$tid', '$howling', '$day', '$pers')"; 
    $result = mysqli_query($conn, $sql); 

header("Location: index.php"); 
+1

От того, где вы получаете '[ 'имя'] $ _POST и' $ _POST [ ''] TID 'значения? –

+0

Вы говорите, что это не работает, но есть ли у вас какая-либо ошибка, предупреждение? Обратите внимание, что вы дважды включаете 'dbh.php'. – AnthonyB

+0

im не получаю никакого сообщения об ошибке, а с $ _POST ['name'] и $ _POST ['tid'] я исправил его сейчас, все еще не работает tho – WilliamDelphi

ответ

0

Вы на правильном пути, но на самом деле нужно, чтобы уточнить код. Во-первых, синтаксис SQL, который вы используете, устарел и восприимчив к инъекции. Вы должны прочитать о подготовленных заявлениях и сделать свой способ кодирования в будущем.

Во-вторых, как один из других упомянутых плакатов, вы включаете один и тот же файл более одного раза.

В-третьих, вы также должны посмотреть на команду ISSET и включить ее с помощью инструкции if/else, чтобы ваш код работал правильно. Сейчас вы используете весь код на сервере без каких-либо данных для его заполнения. Вам нужно найти подходящую «Отправить» через ISSET и выполнить код PHP в этот момент.

Смотрите здесь для получения дополнительной помощи:

how to insert into mysql using Prepared Statement with php

+1

приветствует человека, заставляя его работать сейчас :) – WilliamDelphi

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