我错过了什么吗?通过Xammp进行PHP MYSQL连接

时间:2018-05-09 17:53:26

标签: php html mysql xampp

我正在尝试将表单数据添加到Xampp上的数据库表中,但是当我的echo正确显示所有内容时,它不会在数据库表中输入任何内容,我想知道我是否在这里遗漏了一些东西。我确定拼写一切都是一样的,所以我怀疑它至少是一个拼写错误....非常感谢任何帮助,建议或更正!

<!DOCTYPE HTML>  
<html>
<head>

</head>
<body>  

<?php


// define variables and set to empty values
$VarErr = $PavErr = $AdErr = $PkErr = $KiekErr = "";
$Vardas = $Pavarde = $Adresas = $Pk = $Kiekis = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["Vardas"])) {
    $VarErr = "Įveskite vardą";
  } else {
    $Vardas= test_input($_POST["Vardas"]);
    // check if name only contains letters and whitespace
    if (!preg_match("/^[a-zA-Z ]*$/",$Vardas)) {
      $VarErr = "Galima vesti tik su raidėmis"; 
    }
  }

  if (empty($_POST["Pavarde"])) {
    $PavErr = "Įveskite pavardę";
  } else {
    $Pavarde = test_input($_POST["Pavarde"]);
    // check if name only contains letters and whitespace
    if (!preg_match("/^[a-zA-Z ]*$/",$Pavarde)) {
      $PavErr = "Galima vesti tik su raidėmis"; 
    }
  }

  if (empty($_POST["Adresas"])) {
    $AdErr = "Įveskite adresą";
  } else {
    $Adresas= test_input($_POST["Adresas"]);
  }

  if (empty($_POST["Pk"])) {
    $Pk = "Įveskite prekės kodą";
  } else {
    $Pk = test_input($_POST["Pk"]);
  }

  if (empty($_POST["Kiekis"])) {
    $KiekErr = "Įveskite kiekį";
  } else {
    $Kiekis = test_input($_POST["Kiekis"]);
  }
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  Vardas: <input type="text" name="Vardas" value="<?php echo $Vardas;?>">
  <span class="error">* <?php echo $VarErr;?></span>
  <br><br>
  Pavarde: <input type="text" name="Pavarde" value="<?php echo $Pavarde;?>">
  <span class="error">* <?php echo $PavErr;?></span>
  <br><br>
  Adresas: <input type="text" name="Adresas" value="<?php echo $Adresas;?>">
  <span class="error"><?php echo $AdErr;?></span>
  <br><br>
  Pk: <input type="number" name="Pk" value="<?php echo $Pk;?>">
  <span class="error"><?php echo $PkErr;?></span>
  <br><br>
  Kiekis:<input type="number" name="Kiekis" value="<?php echo $Kiekis;?>">
  <span class="error"><?php echo $KiekErr;?></span>

  <input type="submit" name="submit" value="Submit">  
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $Vardas;
echo "<br>";
echo $Pavarde;
echo "<br>";
echo $Adresas;
echo "<br>";
echo $Pk;
echo "<br>";
echo $Kiekis;

$host = "localhost";
$user = "root";
$password ="";
$database = "uzsakymas";

try{
    $connect = mysqli_connect($host,$user,$password,$database);
} 
catch(mysqli_sql_exception $ex){
    echo 'database connection error';
}

if(isset($_POST['insert'])) {

    $Vardas = $_POST['Vardas'];
    $Pavarde = $_POST['Pavarde'];
    $Adresas = $_POST['Adresas'];
    $Pk = $_POST['Pk'];
    $Kiekis = $_POST['Kiekis'];

    $insert_query = "INSERT INTO uzsakymai (Vardas,Pavarde,Adresas,Pk,Kiekis)VALUES('$Vardas','$Pavarde','$Adresas','$Pk','$Kiekis')";
    try {
        $insert_result = mysqli_query($connect,$insert_query);

        if($insert_result){
            if(mysqli_affected_rows($connect) > 0)
            {
                echo 'Data Inserted';
                }else{
                    echo'Data not Inserted';
                }   

            }
        } catch(Exception $ex) {
            echo 'Error Insert'.$ex->getMessmessage();
        }
}
?>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

我对你的代码感到困惑,但我认为错误的部分就在这里:

,

你有这个提交,但看看这个:

<input type="submit" name="submit" value="Submit">

您正在尝试检查POST是否设置为insert而不是submit。