【问题标题】:adding dropdown data into my DB将下拉数据添加到我的数据库中
【发布时间】:2014-12-08 04:42:21
【问题描述】:

好的,所以一一解决了一些问题,现在我正在尝试让我的下拉菜单数据提交。不过我不知道从哪里开始。

这是我的表格..这里有什么问题吗? :

<form action="form.php" method="POST"> 

<div class="row"> 
<div class="large-4 columns"> 


<span id="spryfirstname">
<input name="firstname" type="text" placeholder="First Name"/>
<span class="textfieldRequiredMsg">A value is required.</span></span></div> 

<div class="large-4 columns"> 

<span id="sprylastname">
<input name="lastname" type="text" placeholder="Last Name"/>
<span class="textfieldRequiredMsg">A value is required.</span></span></div>

 <div class="large-4 columns">
  <div class="row collapse"> 

   <div class="small-9 columns"><span id="spryemail">
     <input name="email" type="text" placeholder="email@example.com"/>
    <span class="textfieldRequiredMsg">A value is required.</span></span></div>
  </div> 
      </div> 
      </div>

 <div class="row">
           <div class="large-12 columns">
           <label>Check all Products that you're interested in</label>

         <input name="products[]" type="checkbox" value="all">
           ALL PRODUCTS/SERVICES
          <input name="products[]" type="checkbox" vallue="trade">Trade-in
          <input name="products[]" type="checkbox" value="layaway">Layaway products
          <input name="products[]" type="checkbox" value="theatre">Home Theatre Systems
          <input name="products[]" type="checkbox" value="TV">HD TVs
          <input name="products[]" type="checkbox" value="Games">Video Game Consoles<br>
           <input name="products[]" type="checkbox" value="laptops"> Laptops
           <input name="products[]" type="checkbox" value="monitors"> Monitors
           <input name="products[]" type="checkbox" value="phones"> Phones
           <input name="products[]" type="checkbox" value="cameras"> Cameras
           <input name="products[]" type="checkbox" value="acoustic"> Acoustic Guitars
           <input name="products[]" type="checkbox" value="electric"> Electric Guitars
           <input name="products[]" type="checkbox" value="drums"> Drums
           <input name="products[]" type="checkbox" value="wind"> Wind Instruments <br>
           <input name="products[]" type="checkbox" value="pianos"> Pianos
           <input name="products[]" type="checkbox" value="violins"> Violins
           <input name="products[]" type="checkbox" value="diamonds"> Diamonds 
           <input name="products[]" type="checkbox" value="neck"> Necklaces
           <input name="products[]" type="checkbox" value="rings"> Rings
           <input name="products[]" type="checkbox" value="ear"> Ear Rings
           <input name="products[]" type="checkbox" value="gold"> Gold Jewelry
           <input name="products[]" type="checkbox" value="silver"> Silver Jewelry
                 <hr>

              </div>
              </div>
       <div class="row">
        <div class="large-12 columns">
         <label>How often would you like to have product updates? <select>
          <option value="daily" name="Updates">Daily</option>
          <option value="weekly" name="Updates">Weekly</option>
           <option value="monthly" name="Updates">Monthly</option>
             </select> 
             </label>
              </div> 
              </div>
                   <div class="row">
                   <div class="large-12 columns">
             <label>Tell us a little about yourself <textarea placeholder="Type here">
                    </textarea> 
                     </label>
                      </div> 
                      </div> 
                       <div class="row">

                <input class="button small large-3" type="submit" name="submit" />
                             </div>
                             </form>

这是我与数据库/php 的连接:

<?php
if(isset($_POST['submit'])){
$con = mysqli_connect("localhost","dxh6110","tcqfoz7","dxh6110") 
   or die("Error " . mysqli_error($con)); 

$first = stripslashes($_POST['firstname']);
$last = stripslashes($_POST['lastname']);
$email = stripslashes($_POST['email']);
$checkbox = stripslashes($_POST['products']);

$first = mysqli_real_escape_string($con,$_POST['firstname']);
$last = mysqli_real_escape_string($con,$_POST['lastname']);
$email = mysqli_real_escape_string($con,$_POST['email']);
$checkbox = mysqli_real_escape_string($con,$_POST['products']);

$checkbox = implode(',', $_POST['products']);


$sql = "INSERT INTO Register (Firstname,Lastname,Email,Product)  
    VALUES('".$firstname."','".$lastname."','".$email."','".$checkbox."')";
}

mysqli_query($con,$sql);
mysqli_close($con);

?>

【问题讨论】:

  • 那么在$_POST提交后得到了什么,$sql在添加参数后是什么样子?
  • 感谢您的帖子,Nate Nevins 发现了我的问题! if(isset($_Post['submit'])){} 需要在那里!

标签: php mysql database forms


【解决方案1】:

嗯,您的部分问题是每次访问该页面时,它都会添加另一行。无论提交与否,添加以下内容:

if(isset($_POST['Submit'])){
}

只需将你去那里的所有 php 都包裹起来 ^.^ 所以继续删除它得到的所有空白行,然后再试一次。这样你可以更好地调试它。

所以这解释了您遇到的空白行问题。 ;) 3 个中的哪一个没有通过?

【讨论】:

  • 谢谢,所以我要把 if(isset($_POST['submit'])){ } 放在所有东西上吗?我在哪里定义我的变量,然后在 $sql 插入之后?我想出了第3个问题。我的变量不一样.. $firstname =/= $first 和 $lastname =/= $last 但 $email 工作得很好
  • 是的,只要继续包装你当前的所有 php if(isset($_POST['Submit'])){ php stuff } 如果你想显示或做某事,它之外的任何东西在提交之前
  • 是的,先生,这解决了我的复式输入问题。谢谢你,先生!!我想知道......也许你也可以帮助我......我正在尝试将我的复选框放入我的数据库......而我的下拉菜单我不知道从哪里开始......我'要编辑我的主要帖子
  • 完美,没问题!如果您有任何其他 php/mysql 问题,请告诉我。乐于助人!
  • welp 实际上我发现了复选框的问题!耶!!!!我需要 $checkbox = implode(',', $_POST['products']);
【解决方案2】:

Welp 我已经解决了我的问题。感谢大家的帮助。

基本上,当我第一次发布我的问题时,3 个字段中有 1 个被提交到我的数据库 这样做的原因是因为我的变量不一样,所以我得到了这样的结果,而且我得到了双重条目... 1 个空白条目和另一个带有 3 个条目中的 1 个的条目:

$first = stripslashes($_POST['firstname']);
$last = stripslashes($_POST['lastname']);
$email = stripslashes($_POST['email']);


$first = mysqli_real_escape_string($con,$_POST['firstname']);
$last = mysqli_real_escape_string($con,$_POST['lastname']);
$email = mysqli_real_escape_string($con,$_POST['email']);








$sql = "INSERT INTO Register (First,Last,Email,Product,Updates)  
    VALUES('".$firstname."','".$lastname."','".$email."');
 }

$first 不等于 $firstname,$last 不等于 $lastname $email 不等于 $email.... 所以只有 3 个中的 1 个被提交到数据库。

在这个问题之后,我不知道如何添加复选框和下拉数据...这就是我所做的更改它以及感谢 Nate Nevins 的双重条目(1 个空白)。

if(isset($_POST['submit'])){
$con = mysqli_connect("localhost","dxh6110","tcqfoz7","dxh6110") 
   or die("Error " . mysqli_error($con)); 


$first = stripslashes($_POST['firstname']);
$last = stripslashes($_POST['lastname']);
$email = stripslashes($_POST['email']);
$checkbox = stripslashes($_POST['products']);
$update = stripslashes($_POST['updates']);

$first = mysqli_real_escape_string($con,$_POST['firstname']);
$last = mysqli_real_escape_string($con,$_POST['lastname']);
$email = mysqli_real_escape_string($con,$_POST['email']);
$checkbox = mysqli_real_escape_string($con,$_POST['products']);
$checkbox = mysqli_real_escape_string($con,$_POST['updates']);

$checkbox = implode(',', $_POST['products']);






$sql = "INSERT INTO Register (First,Last,Email,Product,Updates)  
    VALUES('".$first."','".$last."','".$email."','".$checkbox."','".$update."')";
  }

mysqli_query($con,$sql);
mysqli_close($con);

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-12
    • 2023-01-02
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多