我无法在textarea中插入数据库中的新记录 - PHP和mysql

时间:2014-10-28 08:54:28

标签: php mysql

大家好:)我的php项目有问题。我无法将文本从textarea插入到database.this是我的代码:

vnesiMagacin.php

<?php
$con = mysqli_connect("localhost", "root", "", "db_mmm");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$ID_Magacin     = mysqli_real_escape_string($con, $_POST['ID_Magacin']);
$Ime            = mysqli_real_escape_string($con, $_POST['Ime']); 
$Adresa         = mysqli_real_escape_string($con, $_POST['Adresa']); 
$Grad           = mysqli_real_escape_string($con, $_POST['Grad']); 
$KompZiroSmetka = mysqli_real_escape_string($con, $_POST['KompZiroSmetka']); 
$Telefon        = mysqli_real_escape_string($con, $_POST['Telefon']); 
$Email          = mysqli_real_escape_string($con, $_POST['Email']);

$sql="INSERT INTO magacin (ID_Magacin, Ime, Adresa, Grad, KompZiroSmetka, Telefon, Email) VALUES ('$ID_Magacin', '$Ime', '$Adresa','$Grad', '$KompZiroSmetka', '$Telefon','$Email')";

if ($ID_Magacin != '' && $Ime != '' && $Adresa  != '' && $Grad  != '' &&
              $KompZiroSmetka != '' && $Telefon != '' && $Email != '') {
    header('location:magacini.php');
} else {
    echo "<script type=\"text/javascript\">".
         "window.alert('Moras da gi ispolnis site polinja.');".
         "history.back();".
         "</script>";
    exit;
}
if (!mysqli_query($con,$sql)) {
    die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?> 

<form class="form-horizontal" action="vnesiMagacin.php" method="post">
    <fieldset>
        <div class="control-group">
            <label class="control-label" for="SSN">ID broj</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="name" name="ID_Magacin" />
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="name">Ime na magacin</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="name" name="Ime"/>
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="address">Adresa</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="name" name="Adresa"/>
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="city">Grad</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="Grad" name="Grad"/>
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="smetka">Zirosmetka</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="phone" name="KompZiroSmetka"/>
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="pnohe">Telefon</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="phone" name="Telefon"/>
            </div>
        </div>

        <div class="control-group">
            <label class="control-label" for="email">E-mail</label>
            <div class="controls">
                <input type="text" class="input-xlarge" id="email" name="Email"/>
            </div>
        </div>

        <div class="form-actions">
            <input type="submit" class="btn btn-success btn-large" value="Zacuvaj">
            <a class="btn" href="klienti.php">Otkazi</a>
        </div>                  
    </fieldset>
</form>

我对另一种形式使用相同的代码并且效果很好,但是在这种形式下我看不出我的错误。

请求帮助!!!

3 个答案:

答案 0 :(得分:0)

尝试替换(需要为echo statment添加适当的引用)

"<script type=\"text/javascript\">".
  "window.alert('Moras da gi ispolnis site polinja.');"."history.back();".</script>";

echo "<script type='text/javascript'>window.alert('Moras da gi ispolnis site polinja.');history.back();</script>";

此外,您需要更改if(),因为它会破坏您的代码而不会进入您的查询运行,因此请根据需要将查询运行更改为上面if()或适当位置

答案 1 :(得分:0)

请更正您的echo()声明,如下所示:

     echo 
      "<script type=\"text/javascript\">".
      "window.alert('Moras da gi ispolnis site polinja.');"."history.back();".</script>;

此外,您没有对您的查询做任何事情,您在关键时关闭它而不处理您输入的数据:

  if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con)); }
    mysqli_close($con);

将您的数据保存在以下位置:

$data=mysqli_query($con,$sql);
// Do something with your data

答案 2 :(得分:0)

我注意到这一部分:

if ($ID_Magacin != '' && $Ime != '' && $Adresa  != '' && $Grad  != '' &&
              $KompZiroSmetka != '' && $Telefon != '' && $Email != '') {
    header('location:magacini.php');
} else { [...]

这部分说明如果每个$variable都填满,页面应该重定向到magacini.php。你确定这是你想要的吗?如果mysqli_query()返回FALSE,则会导致错误,因为此部分位于header('location:magacini.php');已设置之后:

if (!mysqli_query($con,$sql)) {
    die('Error: ' . mysqli_error($con));
}

因此,即使页面打印Error: somethingsomething,您仍然会被重定向到magacini.php,您将看不到错误。