2017-10-09 65 views
0

我目前正在开展一个侧面项目来运行门票销售。我创建了一个简单的网页与信息的我需要收集<select>标签不会发布到MySql数据库

<div id="session" class="tabcontent"> 
    <form action="test.php" method="post" oninput=" totalamount.value = Math.round(adult.value * 10) + Math.round(student.value * 7); changedue.value = Math.round(moneygiven.value - totalamount.value);" id="ticketform"> 
     <fieldset> 
      <select name=“ticketform” id="ticketform" form="ticketform"> 
       <option value="" disabled="disabled" selected="selected">Performance</option> 
       <option value=“1“ type="number" name="showtime1">Show 1 - May 9th 2017</option> 
       <option value=“2“ type="number" name="showtime2">Show 2 - May 10th 2017</option> 
       <option value=“3” type="number" name="showtime3">Show 3 - May 11th 2017</option> 
      </select> 
      <h4>Ammount of Adults</h4> 
      <input name="adult" id="adult" type="number"> 
      <br /> 
      <h4>Ammount of Students</h4> 
      <input name="student" id="student" type="number"> 
      <br /> 
      <h4>Money Owed</h4> 
      <output name="totalamount" id="totalamount" for="adult student"></output> 
      <br /> 
      <h4>Money Given</h4> 
      <input name="moneygiven" id="moneygiven" type="number"> 
      <h4>Change due</h4> 
      <output name="changedue" id="changedue" for="moneyowed moneygiven"></output> 
      <input type="submit" /> 
     </fieldset> 
    </form> 
    <footer> 

    </footer> 

但是我遇到的几个问题的基本知识,并现场这是一个输出和标记选项将不会被发送到我的数据库。

$servername = "localhost"; 
$username = "root"; 
$password = "root"; 
$dbname = "TicketSales"; 


// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$showtime=$_POST['showtime']; 
$adult=$_POST['adult']; 
$student=$_POST['student']; 
$totalamount=$_POST['totalamount']; 
$moneygiven=$_POST['moneygiven']; 
$changedue=$_POST['changedue']; 
// Insert data into database 

$sql="INSERT INTO tickets (showtime, adult, student, totalamount, moneygiven, changedue) 
VALUES 
('$showtime', '$adult', '$student', '$totalamount', '$moneygiven', '$changedue')"; 

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

$conn->close(); 
?> 

这是我的发送表单。一切都是链接的,任何有输入标签的东西都没有问题。我怎样才能让它发送选择值和输出?

+2

的可能的复制[PHP得到下拉值和文本(https://stackoverflow.com/questions/6670002/php-get -dropdown-value-and-text) – Sand

+0

警告SQL注入!使用预准备语句:'$ conn-> bind_param' – Akintunde007

+0

切断问题。检查你是否获得了发布的值(通过检查'$ _POST')。如果这种情况没有发生,问题就出现了。如果您执行整个流程并检查数据库,则可能会有十几个步骤处于失败状态。 – GolezTrol

回答

0

我发现错误。也删除选择标记中的表单属性

问题在这一行。在选项标签中添加名称并删除类型是错误的。删除此

<select name="ticketform" id="ticketform"> 
     <option value="" disabled="disabled" selected="selected">Performance</option> 
     <option value=“1“>Show 1 - May 9th 2017</option> 
     <option value=“2“ >Show 2 - May 10th 2017</option> 
     <option value=“3”>Show 3 - May 11th 2017</option> 
</select> 

终于得到这个PHP像

$showtime=$_POST['ticketform']; 
+0

嗨,我试过了,但我仍然从我的控制台得到这个错误[09-Oct-2017 09:05:22 Europe/Berlin] PHP注意:未定义的索引:票据在/ Applications/MAMP/htdocs/testPages/test中/test.php on line 14 –

+0

什么是您的选择标记名称? –

+0