2016-04-30 31 views
-4

我遇到了问题... 我的网页上有一个窗体,管理员可以通过sql“INSERT INTO”命令创建一个事件。 在同一个网站上,他能够查看这些事件的注册信息,并且能够通过sql“UPDATE”命令接受或拒绝这些注册。 整个注册部分工作正常...但不是事件创建... 该代码保存所有需要的数据形式(日期,时间等),并回馈一个$ check变量,如果变量是真实的,所有的数据被接收,代码发送“INSERT INTO”命令......这不工作...的$ chekc变量为真...INSERT INTO does not work(only one point)

这是形式的代码:

<form method="post" action=""> 
<input type="number" name="Tag" title="Tag" placeholder="Tag" Required> 
<input type="number" name="Monat" title="Monat" placeholder="Monat" Required> 
<input type="number" name="Jahr" title="Jahr" placeholder="Jahr" Required> 
<input type="number" name="Stunde" title="Stunde" placeholder="Stunde" Required> 
<input type="number" name="Minute" title="Minute" placeholder="Minute" Required> 
<input type="text" name="Ort" title="Ort" placeholder="Ort" Required> 
<input type="number" name="Preis" title="Preis" placeholder="Preis" Required> 
<input type="number" name="AHelfer" title="AHelfer" placeholder="Aufbau Helfer" Required> 
<input type="number" name="BHelfer" title="BHelfer" placeholder="Abbau Helfer" Required> 
<input type="submit" name="Erstellen" title="Erstellen" value="Erstellen"> 
</form> 

这是验证和镶石中的数据的代码:

if (!empty($_POST[Erstellen])) 
    { 
     $check = true; 
     if (!empty($_POST[Tag])) 
     { 
      $Tag = str_replace('\'', '', str_replace('"', '', $_POST["Tag"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Monat])) 
     { 
      $Monat = str_replace('\'', '', str_replace('"', '', $_POST["Monat"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Jahr])) 
     { 
      $Jahr = str_replace('\'', '', str_replace('"', '', $_POST["Jahr"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Stunde])) 
     { 
      $Stunde = str_replace('\'', '', str_replace('"', '', $_POST["Stunde"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Minute])) 
     { 
      $Minute = str_replace('\'', '', str_replace('"', '', $_POST["Minute"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Ort])) 
     { 
      $Ort = str_replace('\'', '', str_replace('"', '', $_POST["Ort"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[Preis])) 
     { 
      $Preis = str_replace('\'', '', str_replace('"', '', $_POST["Preis"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[AHelfer])) 
     { 
      $AHelfer = str_replace('\'', '', str_replace('"', '', $_POST["AHelfer"])); 
     }else{ 
      $check = false; 
     } 
     if (!empty($_POST[BHelfer])) 
     { 
      $BHelfer = str_replace('\'', '', str_replace('"', '', $_POST["BHelfer"])); 
     }else{ 
      $check = false; 
     } 

     if ($check) 
     { 
      echo 'check '; 
      $sql = "INSERT INTO Veranstaltungen (Tag, Monat, Jahr, Stunde, Minute, Preis, Ort, AHelfer, BHelfer) VALUES ('$Tag', '$Monat', '$Jahr', $Stunde', '$Minute', '$Preis', '$Ort', '$AHelfer', '$BHelfer')"; 
      $eintragen = mysqli_query($verbindung, $sql); 
      echo $eintragen; 
     } 

This is the db structure

+1

发布您的代码不是图片 – Thamilan

+1

从IDE复制代码并粘贴到此处,而不是附上屏幕截图 –

+0

您可能需要在VALUES括号中的每个变量周围添加引号。你也可以删除一半的代码。通过把所有的替换为1,如果只是检查是否都是空的,如果是这样的话,在所有其他'$ check = false' – Matt

回答

0
$sql = "INSERT INTO Veranstaltungen (Tag, Monat, Jahr, Stunde, Minute, Preis, Ort, AHelfer, BHelfer) VALUES ('".$Tag."', '".$Monat."', '".$Jahr."', '".$Stunde."', '".$Minute."', '".$Preis."', '".$Ort."', '".$AHelfer."', '".$BHelfer."')"; 

那么你忘了串联 “” (点)。试试这个

+0

你可能需要''“。变量。”''将引号插入数据。但他说他的格式在其他地方工作,所以不知道。 – Matt

+0

完全正确,我忘记了这一点,但是,正如他所说,没有必要,但我会编辑答案。 – Rameleu

+0

你忘了一个点...但仍然不起作用 –

0

好吧,我不知道为什么现在的工作,但它确实... 后我tryed所有乌尔技巧之类的东西,我只是按CTRL + Z到我的第一个版本发布的上方,它只是工作... 非常感谢您的所有意见和答案!

+0

不要忘记把答案作为“解决” – Rameleu