Я что-то пропустил ? PHP MYSQL соединение через Xammp - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь добавить данные формы в свою таблицу базы данных на Xampp, но хотя My 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>

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Я немного запутался с вашим кодом, но я думаю, что здесь не та часть:

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

У вас есть это предложение, но посмотрите на это:

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

Вы пытаетесь проверить, установлен ли POST для вставки вместо отправки.

0 голосов
/ 09 мая 2018

привет, вы проверяете значение во вставке isset($_POST['insert']), но имя вставки не присваивается ни в одном элементе управления, поэтому присвойте имя вставки проверке проверки отправки ниже:

<input type="submit" value="Submit" name="insert"> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...